itertaive process-development model
TRANSCRIPT
DefinitionIterative development is a way of breaking down
the software development of a large application into smaller chunks.
In iterative development, feature code is designed, developed and tested in repeated cycles. With each iteration, additional features can be designed, developed and tested until there is a fully functional software application ready to be deployed to customers.
4/19/2015
As like all others models , it also follow the ADCOT Principle of software developing.
A : Analysis
D : Designing
CO : Coding
T : Testingand we are well aware of these steps.
4/19/2015
PhasesIncremental development slices the system
functionality into increments (portions). In eachincrement, a slice of functionality is delivered throughcross-discipline work, from the requirements tothe deployment. The Unified Process groupsincrements/iterations into phases: inception, elaboration,construction, and transition.
4/19/2015
Inception identifies project scope, requirements (functional and non-functional)and risks at a high level but in enough detail that work can be estimated.
Elaboration delivers a working architecture that mitigates the top risks and fulfillsthe non-functional requirements.
Construction incrementally fills-in the architecture with production-ready codeproduced from analysis, design, implementation, and testing of the functionalrequirements.
Transition delivers the system into the production operating environment.
Each of the phases may be divided into 1 or more iterations, which are usuallytime-boxed rather than feature-boxed. Architects and analysts work one iterationahead of developers and testers to keep their work-product backlog full.
4/19/2015
Contrast with Waterfall development
Waterfall development completes the project-widework-products of each discipline in one step beforemoving on to the next discipline in the next step. Businessvalue is delivered all at once, and only at the very end ofthe project. Backtracking is possible in an iterativeapproach.
4/19/2015
Implementation guidelines
Any difficulty in design, coding and testing a modification should signal the needfor redesign or re-coding.
Modifications should fit easily into isolated and easy-to-find modules. If they donot, some redesign is possibly needed.
Modifications to tables should be especially easy to make. If any tablemodification is not quickly and easily done, redesign is indicated.
Modifications should become easier to make as the iterations progress. If they arenot, there is a basic problem such as a design flaw or a proliferation of patches.
Patches should normally be allowed to exist for only one or two iterations.Patches may be necessary to avoid redesigning during an implementation phase.
The existing implementation should be analyzed frequently to determine howwell it measures up to project goals.
Program analysis facilities should be used whenever available to aid in theanalysis of partial implementations.
User reaction should be solicited and analyzed for indications of deficiencies inthe current implementation.
4/19/2015
Reference http://en.wikipedia.org/wiki/Iterative_and_incre
mental_development#Phases
http://en.wikipedia.org/wiki/File:Iterative_development_model.svg
Dr. Alistair Cockburn (May 2008). "Using Both Incremental and Iterative Development". STSC CrossTalk (USAF Software Technology Support Center) 21 (5): 27–30. ISSN 2160-1593. Retrieved 2011-07-20.
Ubaid-ur-Rehman
4/19/2015