You are on page 1of 20

Iterative Development &

Unified Process
Week 2
Iterative vs Waterfall Development
Iterative & Incremental Development
• The iterative lifecycle is
• based on the successive enlargement and refinement of a system,
• through multiple iterations,
• with cyclic feedback and adaptation as core drivers to converge upon a
suitable system.
Iterative & Incremental Development
Iterative Feedback & Adaptation
Benefits of Iterative Development
• Early rather than late mitigation of high risks.
• Early visible progress.
• Early feedback, user engagement, and adaptation, leading to a refined
system.
• Managed complexity.
Iteration Length & Timeboxing
• The UP (and experienced iterative developers) recommends an iteration length
between two and six weeks.
• Small steps, rapid feedback, and adaptation are central ideas in iterative
development.
• A key idea is that iterations are timeboxed, or fixed in length.
• Date slippage is discouraged.
• Exception: Massive teams (for example, several hundred developers) may
require longer than six-week iterations to compensate for the overhead of
coordination and communication; but max. 3-6 months is recommended.
Unified Process
• The Unified Process has emerged as a popular software development
process for building object-oriented systems.
• In particular, the Rational Unified Process or RUP a detailed
refinement of the Unified Process, has been widely adopted.
• The UP combines commonly accepted best practices, such as an
iterative lifecycle and risk-driven development, into a cohesive and
well-documented description.
UP Best Practices
• Short Timeboxed Iterations
• Use of OOAD & OOP
• Tackle high-risk and high-value issues in early iterations
• Continuous user engagement (evaluation, feedback, requirements)
• Build cohesive architecture in early iterations
• Continuous verification
• Model software visually
• Carefully manage requirements
• Practice change management
Unified Process(UP) Phases
A UP project organizes the work and iterations across 4 major phases:
1. Inception
2. Elaboration
3. Construction
4. Transition
Inception
• Conduct feasibility study.

• Define approximate vision, business cases, and scope for project.

• Develop vague estimates (size, cost, and schedule)


Elaboration

• Refine vision

• Identify most requirements and scope

• Do iterative implementation of the system’s core architecture

• Resolve high risks


Construction & Transition
Construction
• Do iterative implementation of the system’s remaining easier and
lower risk elements.
• Prepare for deployment.
Transition
• Conduct beta tests
• Deploy system
Schedule Oriented Terms in UP
UP Disciplines
• The UP describes work activities within disciplines (originally called
workflows).

• Informally, a discipline is a set of activities (and related artifacts) in


one subject area.

• In the UP, an artifact is the general term for any work product: code,
Web graphics, database schema, text documents, diagrams, models,
and so on.
Iterations, Disciplines & Phases
• Relative effort in disciplines shifts across the phases.
Agile UP
• Time boxed iterative and evolutionary development.

• Adaptive planning and incremental delivery.

• The agile manifesto (4 values)


• Individuals and interactions over processes and tools
• Working software over comprehensive docs
• Customer collaboration over contract negotiation
• Responding to change over following a plan
THANKS

You might also like