The growth of many companies will inevitably involve the need to develop software applications. For some companies, this application will be their main product to sell. For others, the application will be an internal platform meant to digitalise their operations, such as a resource management tool (e.g. ERP) or, even, a solution geared towards helping operators via Artificial Intelligence. In all cases, the time-to-market needed for the application will have strong impact on related strategic decisions.
How can we evaluate the time that such a project will take? It is impossible to give a definitive answer, but we can use the following 5 actionable factors to guide us to reasonable estimates.
1. Target platform(s)
A big share of current technologies promise to target all platforms at once (web, desktop, tablets or mobiles). The tradeoff will be the individual platform integration of each of these platforms. On the contrary, a development targeting each platform separately will provide the best support, but will require a higher investment (in time and money).
2. Required traceability and security guarantees
The overall security and transparency of your application is not something to take lightly. Critical environments such as life sciences or bank industries are not allowed to consider tradeoffs on these matters. But any application will always benefit from a well thought and increased security and traceability policy. For example, an e-commerce platform will gain incredible insights from keeping the most comprehensive history with the goal to enhance its after sale services, marketing, or business and internal processes. They however come with increased development workloads.
3. The lifetime of your application
The desired longevity for your application will have a huge impact on the development time. The creation of a mobile application for a one-time event can be done in a short amount of time, as no critical architectural choice will be in the balance. However, an application meant at evolving with your company will require a longer incubation time before it starts paying off.
4. Allocated ressources
Mentioning the impact of the team size probably seems trivial. However, it is important to understand that the development time will not be inversely proportional to the number of developers. Said differently, a team of 10 people will probably not go twice as fast as a team of 5 developers, but less.
5. The concept maturity
Most IT development teams will follow an Agile work method. This method is very beneficial to be able to adapt to changes of plans and new requirements. However, it is a wrong excuse for a bad pre-emptive application design. Clear business objectives for the project will greatly lower its development time. Each functionality takes time, and it is very easy to be caught inside Penelope’s web. During development, aligning business needs with the technical team on a weekly basis will keep the project on track.
Conclusion
The triviality of the answer to the question is inevitable: it depends. The most important message is that choices made before the application development starts will be the most critical. Those choices will be intimately linked with tradeoffs that come with them. At B12, we engage with you in the reflection phase, which ultimately leads to making the right choices.