Agile and UP - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Agile and UP

Description:

Envision the project scope, vision, and business case. ... artifacts from other projects may be re-used. You're doing it wrong when ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 28
Provided by: carbonC
Category:
Tags: agile | projects

less

Transcript and Presenter's Notes

Title: Agile and UP


1
Agile and UP
2
Agile
  • light
  • flexible
  • adaptive

3
UP
  • iterative software development process for
    building OO systems

4
Key in OOD
  • assigning responsibilities to software objects

5
What is iterative?
  • development is organized into a series of short,
    fixed length mini projects called iterations
    including testing integration
  • cyclic feedback and adaptation
  • system incrementally grows
  • refinement of specifications and design

6
Iterative development
  • Complex software systems require hybrid
    approaches (combination of various models) and
    iterations over certain stages
  • Incremental development
  • Outline requirements
  • Assign requirements to increments
  • Define system architecture
  • Develop increment
  • Validate increment
  • Integrate increment
  • Validate (partial) system
  • Final system

Initial version
Intrm versions
Final version
7
Iterative development (2)
  • Advantages
  • Gap between system specification and system
    delivery is reduced
  • Early increments may be used as prototypes
  • Lower risk of project failure
  • Highest priority services delivered first
  • Limitations
  • Increments should be small
  • Difficult to map customers requirements into
    increments

8
Constant Change
  • it is the only this you can count on

9
Benefits to Iteration
  • less project failure
  • better productivity
  • lower defect rates
  • early mitigation of risks
  • early visible progress
  • managed complexity
  • feedback for better learning from iteration to
    iteration

10
Problems with Waterfall
  • No feedback between phases. Once Analysis is
    done, it is done, and everyone should be working
    on Design. Once Design is done, it is done, and
    everybody should be working on Implementation.
  • Hard dates on phases. The dates set for
    completing Analysis and Design are major
    milestones that developers are measured against.
  • No completion criteria for either Analysis or
    Design.

11
Feedback and Adaptation
  • refining the requirements
  • refining the design / model
  • refining the schedule and estimates
  • refining the functionality and features

12
Iterative development
  • Complex software systems require hybrid
    approaches (combination of various models) and
    iterations over certain stages
  • Incremental development
  • Outline requirements
  • Assign requirements to increments
  • Define system architecture
  • Develop increment
  • Validate increment
  • Integrate increment
  • Validate (partial) system
  • Final system

Initial version
Intrm versions
Final version
13
Iterative development (2)
  • Advantages
  • Gap between system specification and system
    delivery is reduced
  • Early increments may be used as prototypes
  • Lower risk of project failure
  • Highest priority services delivered first
  • Limitations
  • Increments should be small
  • Difficult to map customers requirements into
    increments

14
Agile Modeling secrets
  • the purpose of modeling is to understand and
    communication not to document
  • dont model or apply UML to all or most of the
    design, model for the difficult and tricky parts
    of the design
  • use the simplest tools possible
  • model in pairs on a whiteboard

15
more secrets
  • model in parallel
  • use UML-ish notation exact details are not
    important
  • know that all models are not exact and therefore
    inaccurate final code will differ too. Only
    tested code reflects the true design.
  • developers should do the OO for themselves not
    for someone else

16
Agile UP
  • use a small set of UP activities and artifacts
  • since this is iterative and evolutionary the
    requirements and design are not completed before
    implementation they emerge throughout the
    entire lifetime
  • apply the UML with agile modeling practices
  • Phase Plan has major milestones and dates,
    Iteration Plan has details for one iteration in
    advance

17
Also from UP
  • tackle high risk and high value issues early
  • continuously engage the users
  • build a cohesive, core architecture early
  • continuously verify quality!
  • apply use cases where appropriate
  • do some visual modeling
  • carefully manage requirements
  • practice and change request and configuration
    management

18
UP phases (not waterfall!)
  • inception vision and scope
  • elaboration refined vision, core architecture,
    risk mitigation, more realistic estimates
  • construction iterative implementation and
    deployment preparation
  • transition tests and deployment
  • see p. 34 and 35

19
Youre doing it wrong when
  • most requirements come before design or
    implementation
  • spend days/weeks doing UML
  • inception requirements, elaboration design,
    construction implementation
  • elaboration is for full and careful design
  • iterations gt month
  • formal, heavy process
  • planning the entire project in detail from start
    to finish

20
Inception Phase
  • what is the vision and business case for this
    project?
  • is this project feasible?
  • should we buy or build?
  • rough range of cost
  • proceed or stop?

21
Inception
  • is NOT to define all of the requirements
  • Envision the project scope, vision, and business
    case.
  • Do the stakeholders have basic agreement on the
    vision of the project and is it worth investing
    in serious investigation?

22
Artifacts in Inception
  • Vision and Business Case
  • Use Case Model list of names
  • Supplementary Specification
  • Glossary
  • Risk List and Risk Mitigation Plan
  • Prototypes and proof-of-concepts
  • Iteration Plan
  • Phase Plan and Software Development Plan
  • Development Case

23
more on the artifacts
  • some of those docs may only be partially
    complete in inception, refine throughout the
    project
  • all should be considered OPTIONAL
  • these docs are not to document but to
    communicate and understand
  • artifacts from other projects may be re-used

24
Youre doing it wrong when
  • inception is more than a few weeks (for most)
  • attempts to define most of the requirements
  • estimates/plans are expected to be reliable
  • architecture is defined
  • 1. requirements 2. design 3. implement
  • there is no Business Case or Vision document
  • detailed use cases
  • no detailed use cases (10-20 should be detailed)

25
How to Plan an Iteration
  • decide on the length
  • iteration planning meeting
  • list of goals
  • resources are summarized
  • each goal is described and estimated

26
A little more detail
  • Adaptive vs. Predictive
  • Phase and Iteration Plans
  • Using use cases for iteration planning
  • Early Estimates

27
Youre doing it wrong when
  • all iterations are planned ahead in detail
  • early estimates from inception are expected to be
    reliable
  • easy problems and low risk issues are done in
    early iterations
Write a Comment
User Comments (0)
About PowerShow.com