 Hello, now I will present the Spiral Model, the notorious software development process. A spiral model is a risk-driven model that emphasizes risk analysis and risk mitigation techniques. It uses a narrative incremental approach with strict control. The model was presented in IEEE paper, a spiral model of software development and enhancement, by BEAM, where the famous diagram you see on the right side depicting the spiral model process was introduced. Now you can find that diagram in many forms, let's discuss this diagram in detail. The spiral model consists of four phases that divide the diagram into four quadrants. The first phase is usually called Determine Objectives. Objectives are the aim of iteration. Objectives include the main tasks required to achieve that aim. Possible alternatives that could be used to achieve the aim should be provided as well. Various constraints that should be considered must be described in detail. Other project-related information could be revealed during this phase. The second phase is a risk analysis. During this phase, the risks are identified. The alternative solutions for resolving identified tasks are evaluated. Finally, a prototype could be created to mitigate and reduce the risks. The first phase is the engineering phase. During this phase, an increment is developed, test, and the results are validated. The final phase is called an evaluation and planning phase or just the planning phase. During this phase, the outcomes of a current iteration are evaluated and the next iteration is planned. The results are also provided for a customer to receive a feedback. So let's start from the very beginning. First we define the initial objectives. We do the risk analysis of the defined objectives and create the first prototype. That allows the understanding of a concept of software operation. No software is created at this stage. Now that we understand the concept of operation, we set initial requirements and plan the next iteration. During the next iteration, the objectives are revised and updated. Another risk analysis is performed, taking into account the outcomes of the first iteration. Again, a prototype is developed if necessary. That allows us to analyze and validate the requirements. During the last phase, the development plan is created and the next iteration is planned. In the next iteration, the objectives are revised and updated again. More risk analysis are performed and advanced prototypes are created. According to the result, software product design is developed and validated. At this stage, we can plan detailed tests for the last iteration of the release. The objectives are revised for the last time, the risk analysis are performed again and the operational prototype is developed. That allows for creating a detailed design. The software is constructed and tested. After that, the release is ready and usually is installed in the customer environment. Now let's discuss when to use this model. This model is a risk-driven model, so for sure we will look at this model when we have medium to high-risk projects. Another criteria when this model should be considered is when we have a large project. If we are planning to use this model, we need to take into account that the releases will be frequent. As you saw, many prototypes are created during the development process, so use this model when prototyping is applicable. This model is good when risk and cost evaluation is very important. Also, we might consider this model when the requirements are unclear and complex. First of the iterative nature of this model, the requirements will be clarified and evaluated. And finally, it will be okay to use this model when changes must be embraced. Okay, so now let's talk about the challenges. The first one is that this model is good basically for the large projects. And it is not advisable to use it for smaller projects. This is because of the fact that risk analysis requires a lot of overhead and it might cost a lot. Another challenge is that this model demands risk assessment expertise, therefore we need to have people who are able to do it because the project's success depends on it. The spiral model protocol needs to be followed strictly if we want our project to succeed. A lot of documentation is generated in different phases. And finally, it is a complex model and you can expect all the drawbacks the complex things have. There must be the right environment and the right people in order to use this model successfully. Let's summarize this presentation of the spiral model. So the spiral model is an iterative risk-driven software development model. The best thing about this model is that the extensive risk analysis reduces the chances of failing the project. In contrast to the waterfall model, the new functionality could be added in the later stages of the development. Also software is produced early, therefore the customer is involved in the early development stages. And finally, there are two things you need to consider when choosing this model. First is that risk analysis requires the specific expertise and there are not a lot people available for that purpose. And it is a complex model and you can expect all the drawbacks the complex things have. Thank you for your attention.