1 Introduction Iterative Development the Unified Process Objectives
1. Introduction Iterative Development & the Unified Process
Objectives • Define: – an iterative process – an adaptive process. • Define fundamental concepts of Unified Process. 2
Introduction • A software development process is a recipe for – building – deploying – upgrading software. • The Unified Process (UP) is based on competing formerly processes: Unifying their processes got them a bigger market share. 3
Iterative Development • Iterative development is central to UP. • System development comprises iterations, each of which yields a functional system. – Requirements analysis – Design – Implementation – Deployment 4
Iterative Development While ( ! is. System. Complete() ) { Select an increment of requirements; Analyze requirements; Modify design; Modify implementation; // unit test Integrate; Deploy; } 5
Iterative Development Embrace change! Do not try to design the ultimate system before writing the 1 st line of code. The Waterfall design process is iterative development with only 1 iteration. Presumes process is a science. It is not. 6
Iterative Development Benefits • Early confrontation of high-risk requirements. • Early, frequent satisfaction working system. • Higher quality feedback to client. • Higher quality feedback to developer. • Adaptive: early experiences influence subsequent: – Requirements – Processes. 7
UP Best Practices & Concepts • Use short time boxes for each iteration • Confront high-risk requirements early • Get user feedback early & often • Maintain high quality at all times: – Unit & system test every change. • Model system visually. • Use configuration/version management for all artifacts. 8
Predictive versus Adaptive 2 terms in common usage are: • Predictive process A meticulous heavy weight process, E. g. , the Waterfall process. • Adaptive process A light weight process. It is agile; embraces change. • Small set of artifacts. 9
- Slides: 9