Spiral Model is an incremental model (iterative), with emphasis on risk analysis for technical and managerial risks.
It was not the first model to discuss iterative development, but it was the first model to explain why the iteration matters.
It promotes quality assurance through prototyping at each stage in systems development.
It’s emphasis on Risk Analysis.
In the spiral model, a BA understands the requirements, gathers requirements, analyses, and documents, and gets the artifacts approved. Architect gets the artifacts and a design is created.
As discussed in the video – Spiral is an iterative and an incremental approach for example – for a particular application functionality A is drafted and shared with the Business users for assessment and confirmation. Once the same gets confirmed it follows the generic flow of development →Requirement Analysis →Design →Development →Testing. During the development of functionality, A, functionality B would begin to gather requirement so on and so forth. Every development progress adds an incremental value to the product having the previous functionalities intact and enables working software availability.
4 Main Phases
- DETERMINE THE OBJECTIVE: Requirements are gathered.
- IDENTIFY AND RESOLVE RISK: Risk and solutions are identified and the prototype is produced.
- DEVELOPMENT AND TEST: Software is produced and tested.
- PLAN NEXT ITERATION: Output of the project is evaluated.
Basic Phases
- Planning – Requirement is gathered from business users (BA. BO, BS, Investor)
- Risk Analysis – Potential risks are identified and documented in the risk register.
Risk value = Probability of risk (0-1) * expected loss (1-10)
Risk register:
A Risk Register also referred to as a Risk Log, is a master document which is created during the early stages of the project. It is a tool that plays an important part in your Risk Management Plan, helping you to track issues and address problems as they arise.
Risk Register Template (component) Example:
ID | Description | Probability (0-1) | Loss (0-10) | Risk Exposure = (P*L) | First Indicator | Mitigation Approach | Owner | Due Date | Status |
1 | Req. may change significantly | 0.7 | 8 | 5.6 | Biz. users not approving the req. artifacts | BA & PM set up a meeting with Biz. Users and explain the impacts on the time and cost due to the risk and seek approvals. | BA | July 07, 2017 | Active |
Types of Risks
POSITIVE RISK | NEGATIVE RISK |
Accepted – | Avoided – |
Exploited – | Mitigated – |
Enhanced – | Accepted – |
Shared – | Transferred – |
- Engineering (Design): After risks are identified and eliminated, detailed prototypes are created with respect to the requirements gathered. (BA & Architect)
- Construction & Release (Development & Implementation): The prototypes are taken and the code is developed to match the functional and non-functional requirements of the system.
- Customer evaluation: Customer evaluates the developed software to check the required functionality.
- Customer communication: After validating the system any changes will be communicated to the team and the changes will be planned for next iteration.
8 MANAGEMENT ELEMENTS
Template | Explanation | Example Phase |
Objectives | The goals of the software project | Significantly improve software quality |
Constraints | Limitations which the project must meet | Within three years Without large-scale capital investment Without radical change to company standards |
Alternatives | Possible ways to achieve the objectives | Reuse existing certified software Introduce formal specification and verification Invest in testing and validation tools |
Risks | Potential risks for this phase | No cost-effective quality improvement possible Quality improvements may increase costs excessively New methods might cause existing staff to leave |
Risk Resolution |
Strategies for reducing the risks | Literature survey, Pilot project, Survey of potential reusable components, Assessment of available tool support, Staff training and motivation seminars |
Results | Results of applying risk resolution strategies | Experience of formal methods is limited – very hard to quantify improvements Limited tool support available for company standard development system Reusable components available but little reuse tool support |
Plans | Development plans for the next phase | Explore reuse option in more detail Develop prototype reuse support tools Explore component certification scheme |
Commitment | Resources needed to achieve the plans | Fund further 18-month study phase |
Advantages
- Eliminates errors & unattractive alternatives early.
- The software is produced early in SDLC.
- Doesn’t involve separate approach for software development & software maintenance.
- Provides preparation for the eventual evolution of the software product.
Disadvantages
- Can be a costly model to use, since Spiral development best works for large & complex projects.
- Risk analysis requires highly specific expertise.
- Project’s success is highly dependent on the risk analysis phase.
- Doesn’t work well for smaller projects.
DIFFERENCE BETWEEN WATERFALL & SPIRAL
–
Properties | Waterfall | Spiral |
Handle Large-Project | Not appropriate | Appropriate |
Detailed Documentation | Necessary | Yes |
Cost | Low | Expensive |
Flexibility to change | Difficult | Easy |
Testing | After completion of coding phase | At the end of the engineering phase |
Working software availability | At the end of the life-cycle | At the end of every iteration |
Risk Involvement | High | Medium to high risk |