software dev methodologies (iterative and incremental) (week 1) Flashcards
what is the iterative and incremental model
- -> to develop a system through repeated cycles and in smaller portions at a time.
- -> This allows software developers to take advantage of what was learned during the development of earlier versions of the system.
when to use iterative and incremental model
- -> popular for outsource dev projects
- -> need to get the product to market early
advantages of iterative and incremental model
- -> easier to manage risk
- -> customers can respond to each build
- -> less costly to change the scope and requirements
- -> easier to test and debug during smaller iterations
- -> generates working software quickly and early during the software development lifecycle
disadvantages of iterative and incremental model
- -> needs a clear and complete definition of the system before it can be broken down and built incrementally
- -> total cost may be higher than waterfall
what is the example of iterative and incremental model
–> unified process
what are the phases in unified process
INCEPTION
ELABORATION
CONSTRUCTION
TRANSITION
each iteration involves ________
9 disciplines
what is the objective of the inception phase
- -> develop the approximate vision of the system
- -> make the business case
- -> define the scope
- -> roughly estimate the cost and schedule
what is the objective of the elaboration phase
- > refine the vision
- > finalize the scope
- > identify and refine all the requirements
- > design and implement core architecture and functions
- > resolve high risks
- > produce realistic estimates for cost and schedule
what is the objective of the construction phase
–> The goal of the construction phase is on clarifying the remaining requirements and completing
the development of the system based upon the baselined architecture
–> iteratively implement the remaining low risk, predictable and easier elements
–> prepare for deployment
what is the objective of the transition phase
–> complete the beta test and deployment so users have a working system