Waterfall Development Delays Reduction of Risk R I S K T I M E Subsystem Testing System Testing Code & Unit Testing Design Requirements Analysis
Apply the Waterfall Iteratively to System Increments Earliest iterations address greatest risks Each iteration produces an executable release, an additional increment of the system Each iteration includes integration and test T C D R T I M E Iteration 1 Iteration 2 Iteration 3 T C D R T C D R
Architecturally Significant Use Cases Prototyped: An incremental prototype of the application Designed, Implemented, Tested, and Released to demonstrate mitigation of architectural risks through the main scenarios of 4 Significant Use Cases
Object-oriented methods / component-based development
Management understands what is different about managing iterative development
Supporting best practices in place
Mature software environment
Advanced, integrated environments
Integrated configuration control and quality assessment
Prerequisites to Successful Iterative Development
Supporting Best Practices Control Changes Use Component Architectures Model Visually Verify Quality Ensures users involved as requirements evolve Validates architectural decisions early on Addresses complexity of design/implementation incrementally Measures quality early and often Evolves baselines incrementally Manage Requirements Develop Iteratively
Elaboration - Plan project, specify features, baseline architecture
Construction - Build the product
Transition - Transition the product into end user community
Phases in the Process time Inception Elaboration Construction Transition Major Milestones
Iterative Model Graph Phases Process Workflows Iterations Supporting Workflows Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements Elaboration Transition Inception Construction Workflows group activities logically In an iteration, you walk through all workflows
To transition the software product into the user community
Updated system models
Evaluation criteria for each iteration
Release descriptions, including quality assurance results
Updated user manuals
Updated deployment documentation
“ Post-mortem” analysis of project performance
Iterations and Phases An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release (internal or external). Preliminary Iteration Architect. Iteration Architect. Iteration Devel. Iteration Devel. Iteration Devel. Iteration Transition Iteration Transition Iteration Inception Elaboration Construction Transition Releases
Iterative Development Initial Planning Planning Requirements Analysis & Design Implementation Test Deployment Evaluation Management Environment Each iteration results in an executable release
Using Rational Unified Process in an SME – A Case Study
Use of RUP
No restrictions or guidelines were put on the use of RUP
Courses in RUP, and RUP Online (an electronic process guide on web ) was purchased and installed.
No common guidance for the use of RUP in projects was given.
The company had no defined goals for introducing RUP.
It was basically based on a belief that RUP would increase the professionalism in the company.
Norwegian software consultancy company with 50 employees, located in two different geographic offices.
They are mainly developing software systems with heavy back-end logic and often with a web front-end, typically portals. However, they also develop lighter solutions with most emphasis on the front-end.