Doing something can be thought of as a linear sequence of events. It starts in A, B & doesthen go to C & finally ending in Z. This is simplistic, but allows display the series of events in the simplest form & emphasize the importance of delivering theme asures taken to a conclusion.Below is the "Waterfall Model", which shows the typical developmental tasks that flow in to them.
Early in the history of program development
• Analyze project needs & choose what is supposed to do
• Designing a solution to meet these requirements
• Implement the design in to a working product
• Verify that the final product against the design (& requirements)
• Maintain the project as necessary
The waterfall model was widely adopted in the early days of program development & a lot of guilt has been established at your door.Critics argue that plenty of problems in program development stem from this model. Early development projects that follow this model spent over budget & on schedule & the guilt ofwas attributed to the linear measure, the wise nature of the model.Never needs analysis can be fully completed before the design & layoutprior to its development & so on. It is much more likely that each phase will interact with eachof the other phases.In a small project that is not a problem since the period of "analyze" to "apply" may be aperiod of weeks or even days. For a large scale project spanning months or even years, the gap significant. The more time that passes between the analysis & implementation, the more gap between the project delivery & finish user requirements.Think of a funding technique that is "a year analyzed, designed & developed next year& implemented the following year. That is two years between the time the requirements are captured & the technique actually reaches its finish users. In two years, your chancesthe company, if not the entire industry, have moved considerably & requirements areare no longer valid. The developers will create the technique of evil! Program of this scale is it is not uncommon either.
A definition of needs may be correct at the time of capture, but decreases with fearspeed. In the modern business world, the possibility of its analysis of the requirements to be valid evenof months after it's completed is slim indeed.Other versions of the waterfall model have been developed to alleviate this problem. Two, the iterative Waterfall model includes a cycle, as shown below.This model attempts to overcome the limitations of the original model, adding an "iterative"loop until the finish of the cycle. In other words, in order to alter to changing needs "analysis"phase is discussed at the finish of the cycle & the technique begins again.
the method again. If requirements alter during the life of the project, the waterfall model requires completion of a full cycle before they can be reviewed.
Other Models of Software Development
In response to the cascade model for any number of new models have been developed and promoted as
alternatives. Some are interesting and plenty of promises, but all have their drawbacks and none has
delivering quantum improvements they have promised.
Iterative or Rapid Development
In iterative development, the waterfall itself process is used to deliver small pieces of functionality in a step by step. This reduce management and overhead application distribution and reduces the risk of associated with the project.One of the main reasons cited for failure of application projects (and a common sources of defects) is of poor quality requirements. That is a failure to properly specify what to build. By giving small pieces and validation of them, the project can self-correct and I hope that converge on the desired result. This contrasts with long lag times in the
cascade model.A variation of this theme is "Rapid Application Development or RAD.The phases are similar to the waterfall, but the "pieces" are smaller. The emphasis in this model is the iterations through the cycle faster. The prototypes are designed, developed and evaluated with users,involved in the design process and correct. The model is suitable for projects in rapidly changing environments, where the team must alter to different situations
Note that not all iterations require to be complete, fully functional application. Nor should necessarily focus on these areas of functionality. It is better to provide separate "surge" of functionality & assembling all the project only at the conclusion of the production phase. This How you can take partial steps towards your aim completed. Each individual unit can bedeveloped, tested & screw together to form the overall product or technique.
The diagram above shows the progress through the development life cycle of an iterative /incremental development. At the beginning of the iterations focus on "design tasks' & the emphasis is ondecision making & prototype design. As the project progresses step by development taskswhere does most of the encoding. Finally, the emphasis is on the check or evaluation to ensurethat what is developed meets the requirements & is robust, stable & error-free (ha!).
The New Software Development Methodologies
In the back of the "fast" development methodologies have a stash of "process-lite" applicationdevelopment models that focus on harnessing the creativity of application developers. Includethings like Scrum, Extreme Programming and UPA.The methods used range from the harmless or practice outright weird.The models have their supporters in industry and some notable successes, but also havetheir failures accident and the overall performance of these techniques can be best described asmediocre. A friend of mine summed it up best when they said: "They work well if you have anice team, but nothing works well if you have a nice team. "This manual will focus on tests in traditional methodologies, although a number of the fundamentalthe concepts are similar to those of application development methodologies latest.
Books I agree with Fred in his seminal work, "No silver bullet" when they said: "Theresingle development, either in technology or management techniques, which by itself promises even orderof --magnitude of improvement in productivity, reliability, simplicity.They was reacting to a change in the cries of application development practices that would putorder of magnitude improvements in the productivity of application development (which would matchthe order of magnitude of the increases made in the hardware).Brooks argues that while innovation is useful, not only could revolutionize the application methoddevelopment. What was needed instead was a disciplined, orderly approach given step wisemethod improvements.It was written in 1986 - and they are still searching for the Holy Grail.