While the Waterfall and V-models are specification driven, the spiral model (Boehm, 1988) is iterative. The spiral model views the software development process as a spiral from initial conception to final system deployment (Tucker, 2004). It is also risk driven where project risks are identified and resolved before progress is made to the next stage. Spiral model figure The stages in the spiral model iteration can be generalized as follows: 1. An objective setting stage, where the objectives of the iteration and the development constraints are established; 2.
A risk-analysis stage, where the project risks are assessed against these objectives and where risk-resolution activities such as prototyping are carried out; 3. A development stage, which may involve design, coding and validation activities; 4. A planning stage, where plans for the next iteration of the spiral are drawn up. This model is reasonable to use in projects where business goals are unstable but the architecture must be realized well enough to provide high loading and stress ability. The spiral model does not introduce e any new QA activities but rather brings onto the picture a repetitive pattern – the testing stages are repeated several times with the increased scope. From QA perspective it requires grouping all test cases into sets that will be re-executed iteratively per the number of required test runs. 5.2.
4 Agile Model Recently there has been a surge in the popularity of the agile development cycles. While there are many variations, they are based on similar principals. The twelve agile principles (Beck et al, 2001) are: 1. Customer satisfaction by rapid delivery of useful software; 2. Welcome changing requirements, even late in development; 3. Working software is delivered frequently (weeks rather than months); 4. Working software is the principal measure of progress; 5.
Sustainable development, able to maintain a constant pace; 6. Close, daily co-operation between business people and developers; 7. Face-to-face conversation is the best form of communication (co-location); 8.
Projects are built around motivated individuals, who should be trusted; 9. Continuous attention to technical excellence and good design; 10. Simplicity; 11. Self-organizing teams; 12. Regular adaptation to changing circumstances In contrast to the specification driven models (i.e. Waterfall and V-model), the agile models rely on face-to-face communication within the project.
The agile project is developed in small iterations by a team of 5-9 people, each iteration usually lasting for two to four weeks. The planning and documenting is done by stakeholders when required. Agile development sets the focus to working software as the primary metrics for progress. This method is considered best suited for smaller projects which have frequently changing requirements. It can still be applied to larger extent where several teams would collaborate together.
Agile model figure Agile model introduces a new approach to planning the QA processes. The tests are planned and executed iteratively. Faster releasing of the product also means that the test management must support versioning to track, which tests were performed for given release