The spiral model is a software design philosophy that, instead of being a linear process, is a four-step process that continuously repeats until the software is finished. In the first step of the spiral model, the developers discuss the objectives. After this, the developers find methods for completing the objectives in the fastest and safest way. When the developers know what they are doing, they then perform the actual programming to put features in the software. When this process is finished, the customer is shown the software for acceptance or denial of the changes.
Planning is the first step of a spiral model, and it begins before any programming is performed. At this point, the developers discuss features that need to be added to the software. For example, if the program is made for group collaboration, then the developers may discuss the need for a group interface that makes it easy for many people to use the program simultaneously. The developers only discuss the features that are needed, without discussing how to create them.
When the developers know what features are needed, they then begin discussing ways of completing them. In this stage of the spiral model, the developers will discuss different programming practices and methods for completing the task. While there may be many ways of adding the features, developers often will choose the one that is fastest to make and process. Safety also may be an issue, because the developers do not want the program to crash during use.
After a method is selected, the developers then will begin programming the features. This programming will go according to the method selected in the second phase and will not be changed unless major problems occur. Unlike the other two portions of the spiral model, there is very little discussion here.
With the discussed features finished, the customer will be contacted to try out the software in its current condition. The software rarely will be complete at this point, and this step is more for testing the programmed features than for claiming it is done. If the software is not made for a specific client, then potential customers may be called in to try the program. Regardless of whether the customer accepts or denies the features, the spiral model goes back to the first step — planning — where new features are discussed or denied and features are fixed. This will continue in sequence until the software is ready for distribution or completed to the client’s specifications.