Introduction
In the era of the modern technology and fast development of the world, the implementation and the modernization of the updated and effective software programs has become of crucial importance. It is a universal truth that nowadays the activities of all the major social institutions, business and governmental organizations are dependant upon their computer support, and without the constant modernization of the latter it would become impossible for these organizations and companies to catch up with the progress of today.
Therefore, the development of the newest and the most updated software becomes one of the major tasks of the Informational Technology (IT) workers. Having numerous models and system for such a development, the bulk of IT specialists agree that the spiral model is currently the most effective way of software development.
Background
It is not surprising, accordingly, that the history of the computerized society knows several models of software development, each of them having its positive sides and drawbacks. All of these models are characterized by the joint main aim: “The primary functions of a software process model are to determine the order of the stages involved in software development and evolution and to establish the transition criteria for progressing from one stage to the next” (Boehm, 1988, p. 61).
The variety of software development models includes code-and-fix, stage-wise, waterfall, evolutionary development and transform models. Having minor differences, these models are united by the gradual, stage-by-stage, approach to problem solving in software development which lies in trying to identify a problem at a certain stage and fight it coming to the next stage (Boehm, 1988, p. 61). Nevertheless, only the here discussed spiral model seems to combine all the advantages of all the above mentioned models to provide software developers with the greatest success opportunities.
Spiral Model
Basic Notions
To start the discussion of the spiral model, it is necessary to notice that this model is mainly used in large scale projects, like certain governmental activities or large business operations: “The spiral model of the software process has been evolving for several years, based on experience with various refinements of the waterfall model as applied to large government software projects” (Boehm, 1988, p. 64).
One more specialty of the model is that it combines the features of all other previously developed models to find the necessary solution to a software problem in a certain situation (Schach, 2004). Finally, the leading concept underlying the very idea of the spiral model is that every cycle that the model involves lasts for the relatively equal period of time and the same operation that lead the model from the development of the general concept of software to the process of separate elements’ coding.
Stages of Spiral Model
Accordingly, the spiral model of software development involves several exact stages that are carried out at each level of the model operation (Schach, 2004). The first, and the most important, stage is the identification of the three kinds of phenomena, namely the objectives of the product planned for development, the possible other variants of the same product (in design, form, costs, etc.), and the potential issues in the implementation of those alternatives.
After this, it is necessary “to evaluate the alternatives relative to the objectives and constraints” (Boehm, 1988, p. 65). This will allow assessing the risks involved in the project and will enable the company to focus on the “cost-effective strategy for resolving the sources of risk” (Boehm, 1988, p. 65). These steps are followed by either generalization or specification of product details and the subsequent testing of the product at every level of its spiral development (Schach, 2004). Finally, the necessary parts of the product may be either produced by the same company or by the partner to ensure their separate testing and perfect matching to the whole product (Boehm, 1988, p. 65).
Use of Spiral Model
The practical use of the spiral model is conducted through the definite set of five rounds that include
- Round 0 (the study of feasibility of the software development),
- Rounds 1 (defining the concept of the software and specifying the requirement and costs for it),
- 2 (the approval of the top ranking officials and risks identification),
- 3 (the specification of the temporary design of the product and its initial testing),
- 4 (the comprehensive analysis of all the product variants developed during the process of spiral modeling to finally establish the best variant possible) (Boehm, 1988, p. 67 – 68).
The consequent use of the rounds specified allows the companies to have the necessary software systems developed at the lowest costs possible for them to operate at the highest level of efficiency (Boehm, 1988, p. 67 – 68; Schach, 2004). The examples of the successful use of the spiral model for the development of software systems for large scale activities include the creation of the TRW Software Productivity System and the Future Combat Systems by the US Government (Schach, 2004).
Controversy and Evaluation
Nevertheless, the success of the spiral model is often challenged by the supporters of other software development models. For example, Boehm (1988) singles out the following questions that his opponents tend to ask about the spiral model. First, it interests people how to start the very spiral of development, how it is possible to end it when needed, why it ends in such an abrupt way, and what happens to all those activities and product variants that are developed in the spiral modeling process (p. 69). The uniform answer to all these controversial questions is that the use of spiral model is a private business of every organization or a person, and it is up to them when to start or end the spiral if they are satisfied with the results achieved at one of the stages of spiral model discussed above (Schach, 2004).
As for the evaluation of the model, it can generally be called a positive one (Schach, 2004). The advantages of the spiral model include the ability to consider the opinion of employees in developing the software, as well as the opportunity to match the company’s objectives with the potential functions that the software is to fulfill, etc (Boehm, 1988, p. 69 – 70). On the whole, this model provides a deeper and more cautious insight into the software development than any other model and allows gradual transition of a company from operation on one software system to the operation on another one (Boehm, 1988, p. 69 – 70). The disadvantages, however, can be limited to the need of further study of the model so that to make it applicable to any, not only large scale, projects (Schach, 2004).
Conclusions
To conclude, the development of the newest and the most updated software becomes one of the major tasks of the Informational Technology (IT) workers. Having numerous models and system for such a development, the bulk of IT specialists agree that the spiral model is currently the most effective way of software development. The consequent use of the rounds that comprise the model allows the companies to have the necessary software systems developed at the lowest costs possible for them to operate at the highest level of efficiency.
Reference List
Boehm B, “A Spiral Model of Software Development and Enhancement”, “Computer”, “IEEE”, 21(5):61-72, 1988.
Schach, S 2004, Object-Oriented and Classical Software Engineering. McGraw-Hill Science/Engineering/Math.