If you’d like to have a mobile app or web-based system, the most important part of that is getting it developed. The development includes working out the functionality, implementing that functionality, testing it and releasing so it is available to use. Historically, the most common approach was a ‘waterfall’ approach, however in more recent times an approach using ‘agile’ methodology is often preferred.
What is Agile Methodology?
Agile methodology is an iterative approach to development, that uses ‘sprints’ – typically 1 or 2 weeks long. During each sprint a number of work items are worked on, each of which is prioritised. Once a sprint is complete, the customer is able to feedback. This is then used to plan the next sprint – reprioritising, adjusting or creating new work items as required. The agile approach is often implemented using what is known as SCRUM.
What is Waterfall?
The waterfall approach to development is a more traditional sequential approach. As the waterfall name suggests, it breaks the project into a number of phases. It is not possible to go to the next until the previous has been completed. These phases are typically:
Design (both visual and architecture)
QA and testing
Deployment / release
Support and maintenance
Agile vs Waterfall for App Development
Agile and waterfall are quite contrasting approaches, with some significant differences. Each approach has a number of advantages and disadvantages.
Changes are encouraged – and can be accommodated and prioritised
Defined at the start, little flexibility to change these (without adding to the scope and cost)
Client (often known as a ‘stakeholder’) needs to be closely involved regularly
Client is most involved at the start and during key milestones
First feedback is fairly early during development and then regularly then onwards
Feedback at key milestones only. First feedback is often fairly near the end of the development
Done throughout the development, easier to fix when found earlier
Often done at the end, can be harder to fix at that stage
Cost / Funding
Uses a time-based approach – e.g. 10 man-days / week. (We also provide a range for total cost, based on baseline requirements)
Fixed cost, based on features and requirements as defined at the start. Any changes require quoting and additional cost
Which Approach is Best for App Development?
For app development (including both mobile apps and web-based software), the best approach depends on the size of the project. For a very small project with fixed requirements the waterfall approach can work best. However for the majority of projects, the agile approach works better. Overall the agile approach would prove to be lower cost than waterfall and deliver a better quality product faster. Agile has a key advantage in that the detail of requirements are not needed at the start – these can be discovered and refined as the project progresses.
We use agile for the majority of our developments. The exception is for small developments with few requirements, where we use a waterfall approach. Even for developments using the agile approach, we do however provide a top level ballpark estimate (based on what we know) to help with overall cost / budgeting.
Web & mobile app development expert with over 20 years’ experience. Creating exceptional websites & apps for transport & events, health & well-being, manufacturing & industrial and technology sectors.