SlideShare a Scribd company logo
1 of 28
http://flic.kr/p/7u4Xr2
Iterative and Agile
Development
Engineering software is a big job
Variety of tasks:
• Requirements
• Design
• Implementation
• Verification (testing)
• Maintenance
http://flic.kr/p/5w9rXP
http://flic.kr/p/7GereG
Practical issue:
What order should tasks be done in?
That is, what process to use?
http://flic.kr/p/9ksxQa
http://en.wikipedia.org/wiki/File:Waterfall_model_%281%29.svg
The old way: Waterfall (sequential) model
Using Waterfall turns out to be a poor practice
• High failure rates
• Low productivity
• High defect rates
45% of features
in requirements
never used
Early schedule
and estimates
off by up to 400%
Statistic:
Statistic:
http://flic.kr/p/9ksxQa
Why doesn’t Waterfall work?
To find out, let’s
read a passage from
Schwaber and Beedle (2001*)
*Agile Software Development with Scrum
Why Waterfall doesn’t work
False assumption:
Specifications predictable and stable,
and can be correctly defined at the start,
with low change rates
25% change in
requirements 35% to 50% change
for large projects
Statistic:
Statistic:
Waterfall is a “defined”
process control model
http://flic.kr/p/9xmccb
(think mass manufacturing)
http://flic.kr/p/4Xt7Xe
Software development
needs an “empirical” model
(think new product development)
Basis of empirical process model:
Feedback and adaptation
• Feedback from early development
– Programmers reading specifications
– Client demos
• Feedback from tests to refine
design/implementation
• Feedback from progress to refine
schedules/estimates
• Feedback from client/marketplace
to refine/re-prioritize features
Feedback
Adaptation
Larman Figure 2.1
Iterative and incremental development
also called iterative and evolutionary
How long should iterations be?
• Short is good
• 2 to 6 weeks
• 1 is too short to get meaningful feedback
• Long iterations subvert the core motivation
http://flic.kr/p/368zW7
Example from Larman
As an example (not a recipe), in a two-week iteration half-way
through a project, perhaps:
• Monday is spent primarily on distributing and clarifying the
tasks and requirements of the iteration, while one person
reverse-engineers the last iteration's code into UML diagrams
(via a CASE tool), and prints and displays noteworthy
diagrams.
• Tuesday is spent at whiteboards doing pair design work
drawing rough UML diagrams captured on digital cameras,
and writing some pseudocode and design notes.
• The remaining eight days are spent on implementation,
testing (unit, acceptance, usability, ...), further design,
integration, daily builds, system testing, and stabilization of
the partial system.
• Other activities include demonstrations and evaluations with
stakeholders, and planning for the next iteration.
Iterative and incremental development
addresses the “yes…but” problem
Yes, that’s what I
asked for, but now
that I try it, what
I really need is
something slightly
different.
Larman Figure 2.2
System converges over time
More benefits of iterative development
• Less failure, better productivity,
fewer defects
• Early mitigation of risk
• Early visible progress
• Better meet real needs of
stakeholders
• No “analysis paralysis”
• Iterative process improvement
http://flic.kr/p/7fD777
Iterative and incremental development
is a broad approach
But how to operationalize?
To help with that, there are
more specific methods and practices
In particular, there are agile methods
What is an agile method?
Where does it come from?
Agile values,
principles
Agile method
values,
principles,
practices
beget
Types of advice
more specific
more general
values principles practices
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Recall: Agile Values
From the Agile Manifesto
http://flic.kr/p/6Ag67y
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Can you think of a principle and a practice
that might be based on the agile values?
http://flic.kr/p/9ksxQa
Examples of agile methods and their practices
• Scrum
– Common project workroom
– Self-organizing teams
– Daily scrum
– …
• Extreme programming (XP)
– Pair programming
– Test-driven development
– Planning game
– …
http://flic.kr/p/8Mbo3N
So what is this UP thing that
Larman keeps talking about?
• UP = Unified Process
– See also Rational Unified Process (RUP; IBM’s refinement)
• Process framework
– Customizable: other methods/practices can be plugged in
• Agile methods for example!
– But has some practices of its own as well
– Iterative and incremental
– Defines phases across series of iterations
Phases of UP
• Inception: Approximate vision, business case, scope,
vague estimates
• Elaboration: Refined vision, iterative implementation
of core architecture, resolution of high risks, most
requirements, more realistic estimates
• Construction: Iterative implementation of remaining
lower risk and easier elements, prep for deployment
• Transition: Beta tests, deployment
Larman Figure 2.6
Phases of UP (cont’d)
UP Disciplines
• Set of activities in one subject area
• Examples:
– Business modeling
– Requirements
– Design
– Test
• Each discipline typically associated with particular
artifacts (e.g., code, models, documents)
Larman Figure 2.7
Discipline activity across iterations
Larman Table 2.1
Disciplines/artifacts across phases
s = started r = refined
A word about agile modeling
(quoting Larman)
Experienced analysts and
modelers know the
secret of modeling:
Thus, we favor hand-drawn
diagrams over typeset ones
The purpose of modeling
(sketching UML, …) is
primarily to understand,
not to document.
http://flic.kr/p/7SFKjj
You know you’re doing UP wrong
when…
• Define most requirements before starting design or
implementation
• Spend days/weeks modeling before programming
• Think inception=requirements, elaboration=design,
construction=implementation
• Think elaboration is to fully define models
• Believe that iterations should be 3 months
• Think you need to create many formal documents
• Try to plan project in detail from start to finish
http://flic.kr/p/6FJZDY

More Related Content

Similar to Iterative Agile Development Explained

Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1SangeethaSubramaniam14
 
Methodology Patterns (Agile Cambridge 2014)
Methodology Patterns (Agile Cambridge 2014)Methodology Patterns (Agile Cambridge 2014)
Methodology Patterns (Agile Cambridge 2014)Giovanni Asproni
 
03 unified process
03 unified process03 unified process
03 unified processBaskarkncet
 
project_life_cycles_models.ppt
project_life_cycles_models.pptproject_life_cycles_models.ppt
project_life_cycles_models.pptchandrasekarnatraj
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Jkumararaja
 
Session2.ppt
Session2.pptSession2.ppt
Session2.pptMehuk1
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)EveryThing68
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.pptNyamburaKinyua
 
Software process models shaukat wasi
Software process models shaukat wasiSoftware process models shaukat wasi
Software process models shaukat wasiDr. Shaukat Wasi
 

Similar to Iterative Agile Development Explained (20)

Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1
 
Methodology Patterns (Agile Cambridge 2014)
Methodology Patterns (Agile Cambridge 2014)Methodology Patterns (Agile Cambridge 2014)
Methodology Patterns (Agile Cambridge 2014)
 
Lect3 ch15-unit2
Lect3 ch15-unit2Lect3 ch15-unit2
Lect3 ch15-unit2
 
03 unified process
03 unified process03 unified process
03 unified process
 
project_life_cycles_models.ppt
project_life_cycles_models.pptproject_life_cycles_models.ppt
project_life_cycles_models.ppt
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
ddd.ppt
ddd.pptddd.ppt
ddd.ppt
 
Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)
 
SDLC.ppt
SDLC.pptSDLC.ppt
SDLC.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2 (1).ppt
Session2 (1).pptSession2 (1).ppt
Session2 (1).ppt
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
 
Software process
Software processSoftware process
Software process
 
Software process models shaukat wasi
Software process models shaukat wasiSoftware process models shaukat wasi
Software process models shaukat wasi
 

Recently uploaded

(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Recently uploaded (20)

(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

Iterative Agile Development Explained

  • 2. Engineering software is a big job Variety of tasks: • Requirements • Design • Implementation • Verification (testing) • Maintenance http://flic.kr/p/5w9rXP http://flic.kr/p/7GereG
  • 3. Practical issue: What order should tasks be done in? That is, what process to use? http://flic.kr/p/9ksxQa
  • 5. Using Waterfall turns out to be a poor practice • High failure rates • Low productivity • High defect rates 45% of features in requirements never used Early schedule and estimates off by up to 400% Statistic: Statistic:
  • 6. http://flic.kr/p/9ksxQa Why doesn’t Waterfall work? To find out, let’s read a passage from Schwaber and Beedle (2001*) *Agile Software Development with Scrum
  • 7. Why Waterfall doesn’t work False assumption: Specifications predictable and stable, and can be correctly defined at the start, with low change rates 25% change in requirements 35% to 50% change for large projects Statistic: Statistic:
  • 8. Waterfall is a “defined” process control model http://flic.kr/p/9xmccb (think mass manufacturing) http://flic.kr/p/4Xt7Xe Software development needs an “empirical” model (think new product development)
  • 9. Basis of empirical process model: Feedback and adaptation • Feedback from early development – Programmers reading specifications – Client demos • Feedback from tests to refine design/implementation • Feedback from progress to refine schedules/estimates • Feedback from client/marketplace to refine/re-prioritize features Feedback Adaptation
  • 10. Larman Figure 2.1 Iterative and incremental development also called iterative and evolutionary
  • 11. How long should iterations be? • Short is good • 2 to 6 weeks • 1 is too short to get meaningful feedback • Long iterations subvert the core motivation http://flic.kr/p/368zW7
  • 12. Example from Larman As an example (not a recipe), in a two-week iteration half-way through a project, perhaps: • Monday is spent primarily on distributing and clarifying the tasks and requirements of the iteration, while one person reverse-engineers the last iteration's code into UML diagrams (via a CASE tool), and prints and displays noteworthy diagrams. • Tuesday is spent at whiteboards doing pair design work drawing rough UML diagrams captured on digital cameras, and writing some pseudocode and design notes. • The remaining eight days are spent on implementation, testing (unit, acceptance, usability, ...), further design, integration, daily builds, system testing, and stabilization of the partial system. • Other activities include demonstrations and evaluations with stakeholders, and planning for the next iteration.
  • 13. Iterative and incremental development addresses the “yes…but” problem Yes, that’s what I asked for, but now that I try it, what I really need is something slightly different.
  • 14. Larman Figure 2.2 System converges over time
  • 15. More benefits of iterative development • Less failure, better productivity, fewer defects • Early mitigation of risk • Early visible progress • Better meet real needs of stakeholders • No “analysis paralysis” • Iterative process improvement http://flic.kr/p/7fD777
  • 16. Iterative and incremental development is a broad approach But how to operationalize? To help with that, there are more specific methods and practices In particular, there are agile methods
  • 17. What is an agile method? Where does it come from? Agile values, principles Agile method values, principles, practices beget Types of advice more specific more general values principles practices
  • 18. Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Recall: Agile Values From the Agile Manifesto http://flic.kr/p/6Ag67y
  • 19. Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Can you think of a principle and a practice that might be based on the agile values? http://flic.kr/p/9ksxQa
  • 20. Examples of agile methods and their practices • Scrum – Common project workroom – Self-organizing teams – Daily scrum – … • Extreme programming (XP) – Pair programming – Test-driven development – Planning game – … http://flic.kr/p/8Mbo3N
  • 21. So what is this UP thing that Larman keeps talking about? • UP = Unified Process – See also Rational Unified Process (RUP; IBM’s refinement) • Process framework – Customizable: other methods/practices can be plugged in • Agile methods for example! – But has some practices of its own as well – Iterative and incremental – Defines phases across series of iterations
  • 22. Phases of UP • Inception: Approximate vision, business case, scope, vague estimates • Elaboration: Refined vision, iterative implementation of core architecture, resolution of high risks, most requirements, more realistic estimates • Construction: Iterative implementation of remaining lower risk and easier elements, prep for deployment • Transition: Beta tests, deployment
  • 23. Larman Figure 2.6 Phases of UP (cont’d)
  • 24. UP Disciplines • Set of activities in one subject area • Examples: – Business modeling – Requirements – Design – Test • Each discipline typically associated with particular artifacts (e.g., code, models, documents)
  • 25. Larman Figure 2.7 Discipline activity across iterations
  • 26. Larman Table 2.1 Disciplines/artifacts across phases s = started r = refined
  • 27. A word about agile modeling (quoting Larman) Experienced analysts and modelers know the secret of modeling: Thus, we favor hand-drawn diagrams over typeset ones The purpose of modeling (sketching UML, …) is primarily to understand, not to document. http://flic.kr/p/7SFKjj
  • 28. You know you’re doing UP wrong when… • Define most requirements before starting design or implementation • Spend days/weeks modeling before programming • Think inception=requirements, elaboration=design, construction=implementation • Think elaboration is to fully define models • Believe that iterations should be 3 months • Think you need to create many formal documents • Try to plan project in detail from start to finish http://flic.kr/p/6FJZDY

Editor's Notes

  1. 60s and 70s-era advice