9 Strategies to Streamline Application Development
Author: Sambit Ghosh | 6 min read | December 15, 2020
In today’s business environment, it seems there is a sense of urgency to complete every application development project. Once your customers, whether they’re internal or external, understand what a new application can do for them, they naturally want it yesterday. These nine strategies can help you streamline the AppDev process to help meet your customers’ expectations.
- Include a Senior Developer from the Start
When you first start discussing the need for developing a new application, make sure that at least one of your senior developers is involved. The Developer should be an active participant in meetings with your customer and other stakeholders to hear the vision for the application first-hand.
In addition, the Developer can ask specific questions to clarify the requirements and to define the scope of the project. For example, that person will be able to spot requirements that would require a total change of the architecture of your systems and offer alternatives.
- Understand the Reasons for a Request
You need to avoid a situation where an AppDev team gets a list of requirements without an understanding of why the stakeholders think the application is required. That typically leads to the team making decisions during the development phase that don’t support what the stakeholders are trying to accomplish.
Having a developer involved from the very inception of a project can help eliminate this problem. But, you’ll also need to be sure to identify the pain the stakeholders are trying to relieve. In addition, when the development team understands the business value of the application they’re developing, it gives them a greater sense of the importance of what they do.
The development team will do a much better job if they can ask themselves how what they’re building is going to eliminate the stakeholders’ pain and contribute to the company’s success.
- Control the Stakeholders’ Expectations
Stakeholders tend to think big. Besides that, stakeholders from different departments will have different dreams. If you take all of their input at face value, you may end up with a project scope that is completely beyond your abilities.
It’s important to explore the vision the stakeholders have to identify the easiest way to satisfy their needs. For example, assume that the stakeholders expect a solution that will require eliminating all data silos in the organization. You may have plans in place to do that, but it might not be possible within the scope of the project you’re defining.
Help the stakeholders do a reality check so that they understand that you are working with some technological constraints. You may be able to suggest a smaller but high-value alternative to meet their needs in the short run while you work on a more global solution.
- Contain the Developers’ Enthusiasm
Developers are typically enthusiastic about trying new things and creating elegant systems. Unfortunately, there are times when that enthusiasm will result in trying time-consuming tricks that might be the most elegant solution, but not the most practical. It’s important to make sure your developers consider the big picture when they’re designing any application.
- Put Your Developers in Your Stakeholders’ Shoes
This will help your developers contain their enthusiasm. Once they understand why stakeholders need an application and what the stakeholders want to do with it, your developers will be in a much better position to keep the solution as simple as possible. The stakeholder doesn’t care about the elegance of the code, they’re just looking for the right outcome.
User interface designs also benefit from the developers thinking like a stakeholder. It can be difficult for developers to forget what they know. But, if they ask themselves things such as, “would this layout make sense to the folks in accounting,” they’ll get better at it.
- Eliminate Features
It’s not possible to pare down features in every project. But, if you find yourself in a position where the work to be done and the time to do it don’t match, it’s a valid strategy. Most of the time, it’s better to take the time to do fewer things right than it is to try to do everything and end up with an application that no one wants to use.
The key to using this strategy is to make sure the foundation of the app you’re building is strong enough to include the features you know you’ll want to add in a future version.
- Simplify Your Testing Process
Testing is critical, but today’s trend toward breaking projects down into smaller units can extend the testing process. Look for several projects that work together, and you may find opportunities for eliminating the need to test each unit separately.
- Reevaluate Performance Guarantees
There are undoubtedly many mission-critical systems where getting answers in milliseconds is required. But, not all applications require that same type of performance. High performance usually requires extra system resources and additional time to build, debug, and maintain.
Odds are a few seconds will not make a difference in the satisfaction level of some projects. And, your stakeholders may be more impressed with the speed of delivery than they would be with a high-performance application that took “too long” to build.
- Use Open Source Code Whenever Possible
Too often, developers don’t think about using open source code. If you’re doing something that others have done before, it makes sense to take advantage of that effort. Joining an open source project isn’t the answer to every challenge, but when you find the right match, you can save a significant amount of time.
If you’re responsible for Application Development or AppDev Support, you undoubtedly know that projects fail regularly. Development teams don’t complete the projects on time or within budget, and sometimes they don’t offer the functionality the stakeholders expected. For more insight, read our whitepaper, “4 Reasons Why Application Development Projects Fail”.
If you’re looking for AppDev Support, many clients have found that using Datavail’s Application Development Sprint Teams make a significant difference in their ability to ensure application development success.