In the first 3 parts we were only preparing the ground, now it's time to get down to business and start development. Project management, implementation, testing, acceptance and support are now on the programme.
7. Estimating effort and project management
7.1. Estimating effort
The developer should create a detailed effort estimate for each requirement based on the requirements specification. This helps the product owner to prioritise and better estimate the overall effort of the project. This estimate should also include buffer times for unexpected challenges and changes to the scope of the project.
7.2. Implementation and testing
A well thought-out specification of requirements and specifications makes implementation much easier:
- Project management: Structured project management with clearly defined quality gates makes it possible to regularly review the progress of the project and make corrections if necessary. Use agile methods such as Scrum or Kanban to be able to react flexibly to changes.
- Testing: The use cases, i.e. how the user will ultimately use the product, are created from the requirements of the functional specification. Examples of this are login, sharing, marking favourites if necessary, onboarding, offboarding, i.e. simply everything that can be done with the software. The corresponding test cases are then created from the individual use cases. In general, a distinction is made between positive tests, negative tests and performance tests. A positive test is, for example, the entry of a valid telephone number in the corresponding field. A negative test in this example would be the entry of a letter in the telephone number field. A performance test is, of course, how reactive a software reacts. And of course everything has to be structured in such a way that in the end a kind of checklist can be used for each version. The right software helps here, see the 2nd part of this series. For the sake of completeness, it should also be mentioned that many test cases can be automated so that they are always tested automatically for each release. However, this involves some effort and would go beyond the scope of this article.
- Code Review: An external code review should be carried out at the end of the project. Agree in advance that any additions or changes are included in the agreed price. An external review ensures that the code is robust, maintainable and in line with industry best practice.
8. Maintenance and long-term planning
8.1. After completion
Even after completion, there are important aspects to consider so that the app development does not end up being a disaster:
- Warranty ans support: Clarify how long the warranty lasts and how quickly the developer must respond in the event of problems. Also consider which support models are offered, be it 24/7 support or only during certain business hours.
- Regular updates: Schedule several updates per year to keep the app visible in the app store and ensure that it continues to work in the future. These updates should not only include bug fixes, but also new features and improvements based on user feedback.
- SLA agreements: Ensure that Service Level Agreements (SLAs) are clearly defined to ensure a quick response time to problems. These SLAs should also include escalation processes and consequences for non-compliance with the agreed standards.
Conclusion
Developing a successful app requires careful planning, choosing the right team and continuously adapting to new challenges. With a structured approach and consideration of all the above aspects, you can develop an app that is both technically and commercially successful. Remember that the success of an app lies not only in its functionality, but also in its ability to adapt to the ever-changing needs and expectations of users.
That was our four-part series on the creation of an app. There is certainly a lot more to say and add on each topic. If you have any questions, please do not hesitate to contact us.
Which project may we realise for you?