In 1970, Winston W. Royce wrote an article in which he described the progressive model for software development in which development streams, a waterfall-like, through the stages of requirements analysis, design, implementation, testing and maintenance. Then he explained why this model could not work and described iterative process in a much better alternative. Inexplicably, not only software latch on the concept " Waterfall & quot; approach, but even so credited Royce proposed it. A common feature of the waterfall projects is that they seem to fail - 18% cancelled, 53% late budget for descoped, or - even worse for large projects (Standish Group report).
The approach, which later became widely used and known as the waterfall method is based on the principle of stock, in detail, each stage before proceeding to the next; optimistic assumption that the customer knows and can express detailed requirements, first of all, that, that software needs identified can be implemented predictably and that the requirements do not change during development.
Royce indicates that the testing phase, which occurs at the end of the development cycle, the first time that the system has the experience, in contrast from the analysis. In the event that the delivered system is not what is expected, or some of the requirements were missed, the major changes are needed. At least in the development of the system must be revised in response to the weaknesses or errors exposed in testing, but if the external criteria have not been met either requirement should be changed (descoped), or the whole system should be reviewed. He comments " In fact, the development process is back to the origin, and can be expected up to 100% excess in the schedule and / or cost & quot;.
Royce recognizes that the sequence of events logically sound, but that the principle of the completion of each phase before the next begins flawed. His plan alternative proposal includes 5 phases:
1) included in the preliminary phase of the software development and analysis of requirements, while it must be based on incomplete information (as no analysis), he would have to deal with the fundamentals of non-functional Requirements such as productivity and volume, thus some restrictions for analysis.
2) Document Design so that the subsequent phases of work for the common good, well specification.
3) whether it twice. Creation of the pilot system, the contents of which will depend on the extent and nature of the critical areas of concern. This is the second option, which comes with customer.
4) planning, control and monitoring Testing.
5) attract customer that he commits himself to the early development takes stage.
In modern parlance this proposed approach can be described as a risk-driven iterative.
The and most software projects are today still based on the waterfall approach, perhaps with some refinement, and is often accompanied by intimidating methods and standards, which simply implies complexity of difficulty: it can be misleading. Characteristics such projects typically include:
-Major problems arise only during the integration phase is usually too late to be done in the project calendar. The effect is usually either descoping this project to deliver it at the time, " compression & quot; at the time allowed for testing to try to get to the end date, overruns or combination of any or all-in tendency these.
to create detailed project plans, until the end of the project as early as far as possible. They will soon become obsolete and, as a rule, given the frequent and time-consuming review. This contingent effect in terms of violations of the team& 39;s work schedules and often morale.
-Too much optimism in the previous phases in terms of the amount of repair that is ultimately necessary, and the lack of adequate planning repairs. Potential
-disabled users between the needs of the collection and delivery of the time lapse.
and last, but certainly not least
-guide requirement that the accurate assessment of the cost, schedule and resource requirements seem even before the starts.
THE ITERATIVE ALTERNATIVE
Royce create conditions for the iterative development, although it must be admitted that it is not a new concept: other scientific and engineering disciplines were iterative approach for generations, if often informally. A simple rationale is that if you want to do something new, first examine the technical boundaries and restrictions, on the basis of experiments, or any other way, and then when you know that a technically viable, design review with the customer, and to confirm that both technical and functional content acceptable and justified. There may be some of us who could not recall a number of large projects in the public sector, which would have been abandoned at an early stage was the true ultimate cost and timing, in known.
Of course, much has changed since Royce wrote an article in 1970. Software development languages and tools, architectural concepts, reusable components, hardware cost and performance of complex modeling techniques - and the maturation of iterative development techniques relatively small (and quite successfully) the proportion community.
The iterative development process takes a logical sequence of events in the model waterfall, but it followed the whole life cycle several times within a single project. Each iteration of the activities taking place requirements analysis, design, coding, integration and testing of products, and produces quality software in the final stages of iterations. The contents of each iteration is determined in accordance with risk - the new, more complex, the most critical elements are built first, as a rule, a core group of the most qualified workers, so that the true nature of the project and its consequences in terms of cost and time, constantly under review. Therefore, increasing certainty, as a project proceeds - or, if development is not viable, it can be stopped at an early stage, and with minimal cost.
The actual number of iterations, the draft will depend on the nature of the project, in particular, share content deemed to be risky, but it could be from 3 to 10. An important aspect of this approach is that each iteration is a time-boxed " & quot; - if it is planned 4 weeks, it stops at the end of that time. In the next iteration will include any unfinished work, but for the benefit of the knowledge gained in the course of its development predecessor.
ITERATIVE SUMMARY
Iterative events display these characteristics:
high-risk items built first
-Changes are expected, and posted, but controlled
- Testing occurs early and often
Iterations-time box-not the function-boxed
speak at the beginning, deliver often
-speak to the production of quality software time
Some everyone benefits:
-risk early detection and mitigation
-Capacity changes and provokes earlier identification change
-Managed complexity
- confidence from the beginning success
re-start the partial-product
better track progress and predictability
higher-quality, lower-defects
software make them user-needs
early and regular improvement
-process communication and interaction demanded
-Prototyping and reviews encouraged
A widely used process based at the iterative approach is IBM Rational Unified Process , widely known as RUP " , but often misapplied.
Winston Royce original article can be downloaded in pdf format from the University of Maryland site: http://www.cs.umd.edu / class/spring2003 / cmsc838p/Process/waterfall.pdf.
Acknowledgments " Office of large Software Systems ", e-2004, Standish Group.
Copyright FCSL 2006. All rights reserved. http://www.fcslTech.com
Reprint human This article may be published or distributed freely, in full and should only include the author& 39;s name, copyright and the copyright owner URL shown above.
About author Mike Bianchi has 30 years of experience in the development software by playing the role of virtually every developer CEO, and helped some of the world& 39;s largest organizations to improve their software development processes. A Principal Consultant FCSL beginning in 1996, he may be contacted by MikeBianchi@fcslTech.com FCSL or through the website at http://www.fcslTech.com. lacy suzanna
Bookmark it:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment