Waterfall project management requires capturing a detailed list of requirements – it is a requirements driven design and testing process. For new products, services or systems requirements capturing can be done during a feasibility study. Waterfall project management has distinct phases that follow each other sequentially:
Formalised life cycle development processes often follow a waterfall methodology.
As an example, IEC 62304 ‘Medical device software – Software life cycle processes’ follows these phases:
The Waterfall method requires clear requirements at the beginning of a project but these might not be available, delaying the start of a project and a possible early release of a reduced featured product or service - a minimum viable product (MVP) that can be used for early testing and verification including user testing.
Of course, a reduced feature set product or MVP project can be developed using the Waterfall method. In fact, waterfall methodology works particularly well for smaller well-defined projects. However, for more complex projects an Agile methodology might be preferable.
The Agile method is more flexible and focusses on the client and/or end user. It is an iterative process of short time periods of between one and four weeks known as sprints or iterations. The emphasis is to put out an iteration that works at the end of each sprint, where the iteration might not have added functionality but instead address user feedback and evaluation in the field.
A combination of both methods can be used in the same project. App development might follow an agile model and the electronic PCB design might follow a waterfall model. Both methods have their pros and cons.
Returning to IEC 62304 ‘Medical device software – Software life cycle processes’, it is not difficult to see how it can be applied to an agile process. Here the development can follow several routes iterating fully through the steps to a software release or iterating at a lower level.
Most importantly, the approach to project management needs to be pragmatic and the model applied needs to reflect the associated risks, costs, time-to-market and budget.