Software Validation.The waterfall model approach to software Development and Validation, could be considered the original software life cycle model. In this model, the development of software, initiates with the concept stage and progresses through to the final product. As the software development process is implemented, the software is continually transformed until the final product is realized.
The phases in the Waterfall Model …… can vary from organization to organization, but will be along the following lines:
i) Definition of requirements
ii) System and software design
iv) Software integration
v) Delivery of the software product
vi) Ongoing maintenance of the product
As each of the above phases is complete, the output from a prior phase becomes the input for the follow-on phase. Looking at each of the phases.
“Definition of requirements”.Here the input will be a clear communication of the requirements for the software. The output will be in the form of a requirements document (for example a user requirements document or a specification requirements document).
“System and software design”.The input will come from the requirements document mentioned previous, the output will be a design specification document.
“Programming”.The design specification document will be the input and the output from this phase of the process will be executable software modules.
“Software integration”.The executable software modules will now to transformed into an integrated software product.
“Delivery of the software product”.Similarly again, the input which is the integrated software will be transformed through this phase of the process into a software product which will be delivered to the customer (may be an internal or external customer).
“on-going maintenance of the product”will have the input of the delivered product, which may need to be revised and updated due to changing customer demands and expectations.
Assumptions behind the Waterfall Model.There are some assumptions behind the waterfall approach to software development, one being that each phase occurs in sequence after the previous phase and that each activity neatly commences upon completion of the previous phase.
However, in reality, phases tend to overlap, and it may not always be possible to have the output of each phase fully documented, verified and validated, prior to commencing the next phase. A major contributor to phase overlap, tends to be project timelines, where work may need to commence on a follow-on phase, prior to completion of a prior phase, due to a need to rapidly progress the project to completion.
When should an organization consider applying the Waterfall Model ?When the customer requirements are clearly defined and understood, when the technology is well established, when the definition of the expected output product is stable. Examples of when the waterfall could be used, are when developing a newer version of an existing product or when transferring an existing product onto a new technology platform.
- Agile Development. Extreme Programming. Spiral Validation. Etc..
- Software Validation explained in an easy to understand, visual, format.
- Use to inform yourself on the Validation of Software.
General Principles of Software Validation (FDA)
Guidance of standalone software in the Medical Device Industry. MEDDEV 2.1/6
ISO/IEC 12207 Systems & Software Engineering – Software Life Cycle Processes