1. General Idea of IterativeGeneral Idea of Iterative
Models- Spiral ModelModels- Spiral Model
CS 641
13 September 2001
Presented by
Matt Heusser & Tabrez Sait
3. Waterfall Model â RevisitedWaterfall Model â Revisited
⢠Disadvantages of Waterfall Model
â 1. Real projects are rarely so straightforward and sequential
â 2. It is generally not possible to completely define (and
freeze) all the requirements at the start of the project
â 3. Problem is discovered in testing?
â 4. Freight-Train Effect, or Late, or Over-Budget
4. What is âWicked ProblemâWhat is âWicked Problemâ
⢠Problems we canât really understand
until weâve developed a solution.
⢠âThat is not what I want ... but now I
know what I do want!â
5. The Mythical Man Month-The Mythical Man Month-
Dr. Frederick BrooksDr. Frederick Brooks
⢠In software projects, what
will take one person ten
months can not be solved by
ten people in one month.
⢠Throwing people onto a late
project will just make it later
⢠Because of Wicked
Problems, âPlan to the throw
one awayâ
6. ⢠Put together a team of âSmart
Guysâ from multiple disciplines
⢠Develop the GUI on Paper
⢠Code the GUI in a fast language
(Make it look like itâs working)
⢠Show it to the USERS (A Picture
is worth a 1,000 words)
⢠Get Feedback
Rapid PrototypingRapid Prototyping
<=Requirements=>
**<=Prototype=>**
<=Design=>
<=Code=>
<=Test=>
<=Deploy=>
7. Case Study- RADCase Study- RAD
Grand Community Calendar ProjectGrand Community Calendar Project
â Project Manager, Developer, Community
Members write user requirements
â Coder writes sample HTML
â Shows the web page; heads bob, some
changes to navigation
â DBA, Coder, Project Manager determine the
architecture (Design)
â Coding & Review
â Shifting Requirements priced project out-of-
budget
8. Problems With PrototypingProblems With Prototyping
⢠No âCurrentâ Documents
⢠Functional Spec is Prototype +
Feedback
⢠Prototype is not âbaselineâ
functionality
⢠Same problems with Functional
Spec as waterfall!
9. Prototyping Part II:Prototyping Part II:
The Rigged DemoThe Rigged Demo
⢠Re-Visit and improve
the prototype to serve
as a âbaselineâ
⢠Turns prototype into a
ârigged demoâ
⢠Show that to the
customer
Listen To
Customer
Build/Revise
Mockup
Customer Test
Drives Mockup
10. At theAt the DemoDemo DialogueDialogue
⢠Customer:âThis looks great, and it looks like youâre about
done. When can we have it?â
⢠Developer: âUh, itâs only a prototype â we plan to throw it
away and start over.â
⢠Customer: âNo â this is exactly what we need, and we need
it now! Weâll take 50 prototypes!â
â The Sales Guy begins to see $$
signs.
â Under Rigged Demo scenarios,
there is either a lot of wasted effort,
or prototypes that were never
intended to ship end up shoved into
production.
11. Case StudiesCase Studies
Multi-Stage PrototypingMulti-Stage Prototyping
⢠Telecommunication
â The prototype made the sale!
â Was pushed into production
â From user requirements to âShipâing in 4 month
â Errors, Bugs, High Turn-Over
â Had to support bug fixes plus âincrementalâ change
⢠Visual Product Explorer
â Prototype created for internal consumption
â Feedback Cycle
â Modified for trade demo
â Next step: How do we write the spec?
â Product is the spec; shove it into production!
12. Iterative ModelsIterative Models
Whatâs an Iteration?Whatâs an Iteration?
⢠Iterative Design: Code as much as you can questions surface, then start
over.
⢠Every model weâll talk about below is a variation on the Iterative Model.
14. Risk AssessmentRisk Assessment
⢠Spiral Model â risk driven rather
than document driven
⢠The "risk" inherent in an activity is
a measure of the uncertainty of the
outcome of that activity
⢠High-risk activities cause schedule
and cost overruns
⢠Risk is related to the amount and
quality of available information.
The less information, the higher
the risk
⢠What happened with Denver
Airport Luggage System?
15. Spiral ModelSpiral Model
Strength and WeaknessesStrength and Weaknesses
⢠Strengths
â Introduces risk management
â Prototyping controls costs
â Evolutionary development
â Release builds for beta testing
â Marketing advantage
⢠Weaknesses
â Lack of risk management experience
â Lack of milestones
â Management is dubious of spiral process
â Change in Management
â Prototype Vs Production
16. Win Win Spiral ModelWin Win Spiral Model
⢠Win-Win Spiral Process Model is a model of a
process based on Theory W, which is a
management theory and approach "based on
making winners of all of the system's key
stakeholders as a necessary and sufficient
condition for project success."
17. WinWin Spiral ModelWinWin Spiral Model
â˘Identify Next Level Stake holdersâ˘Identify Stake holders win conditionsâ˘Validate product & process definitionsâ˘Review, commitmentâ˘Reconcile Win conditionsâ˘Evaluate Product & Process Alternativesâ˘Define next level of product and process
18. Win Win Spiral ContWin Win Spiral Cont
⢠Identifying the system's stakeholders and their
win conditions and
⢠reconciling win conditions through negotiation to
arrive at a mutually satisfactory set of objectives,
constraints, and alternatives for the next level.
⢠Evaluate Product and Process Alternatives.
Resolve Risks
⢠Define next level of product and process -
including partitions
⢠Validate Product and Process Definitions
⢠Review, commitment
19. WinWin Spiral-WinWin Spiral-
Anchor PointsAnchor Points
⢠Life Cycle Objective(LCO)
â What should the system accomplish?
⢠Life Cycle Architecture(LCA)
â What is the structure of the system?
⢠Initial Operational Capability(IOC)
â The first released version
21. Key Elements of IOC MilestoneKey Elements of IOC Milestone
⢠Software preparation
â Including both operational and support software with
appropriate commentary and documentation
â data preparation or conversion
â the necessary licenses and rights
⢠Site preparation
â including facilities, equipment, supplies and vendor
support
⢠User, Operator and Maintenance preparation
â including selection
â team building
â training
22. Win Win Spiral - Case StudyWin Win Spiral - Case Study
⢠Extending USC Integrated Library System to access
multimedia
â Flexibility and Discipline let the projects teams adapt to
challenges while staying on schedule
â Use of risk management helped team focus on CSF for their
projects
â One cycle for each milestone
â Communication and trust between stakeholders, shared vision
â Donât finish negotiations before prototyping
â Client acceptance
23. Another ExtremeAnother Extreme
CleanRoom MethodologiesCleanRoom Methodologies
⢠Testing techniques that focus on
measuring quality;
⢠Solution-oriented teams that encourage
cooperation, reduce the dependence on
"gurus," and promote flexibility
⢠Documentation structures that reveal
the big picture and help team members
maintain intellectual control.
⢠From Hardware Cleanrooms
⢠An incremental process that encourages continuous improvement;
⢠Technical reviews that prevent defects and significantly reduce
costs
⢠Design and coding practices that make it easy to adapt as
requirements change
24. Clean Room ContinuedClean Room Continued
⢠REAL Peer Review Mathematical proof of correctness
(Challenges associated with it?)
⢠Functional Specifications as Box Diagrams (State, Black, Clear)
25. Yet Another Extreme: HackingYet Another Extreme: Hacking
⢠Hacking:
â Code ân Fix
â More Common than you thought
⢠Makes Sense for:
â Low-Risk, Small Project
â We know exactly what we want (not âWickedâ)
â Use once, then throw away
â Bugs can be tolerated/fixed
⢠Problem:
â âWhy not just re-use Hack X here with change Y âŚâ
â Hack Code is hard to maintain, but appealing from a
management perspective.
⢠Case Study:
â Iâm guessing ⌠just about every project you ever did as an
undergraduate. ď
26. SummarySummary
⢠Waterfall
â good for budgeting, but doesnât analyze risk or have a
good way to manage errors found later in the process.
⢠Iterative
â Models attempt to solve this by coding âas far as
possibleâ, gathering feedback, and coding again..
â Prototyping âPlan to throw one awayâ, then re-build it
âright.â
â Incremental (âStagedâ) Delivery Builds the software
by a series of waterfalls
Summary
27. ⢠Spiral:
â Addresses Risk at every stage & let the
stakeholders determine the outcome.
⢠Win/Win
â Seeks ways to provide customer feedback through
anchor points, manages risk for management, and
provides win conditions for developers.
⢠Cleanroom / Hacking
â Are alternative models that work for large projects
that must work right the first time, and small
projects with little risk.
Summary
28. ResourcesResources
⢠Generally Interesting Theories for REAL-WORLD Development:
⢠Wicked Problems/State of Coding:
â http://www.unidata.ucar.edu/staff/caron/collab/wicked.html
â http://www.chc-3.com/pub/beautifulsoftware.htm        Â
⢠Mythical Man Month
â (
http://www.amazon.com/exec/obidos/ASIN/0201835959/ref=bxgy_sr_text_a
)
⢠Code Complete
â (
http://www.amazon.com/exec/obidos/ASIN/1556154844/ref=bxgy_sr_text_a
)
⢠Joel Spolsky on Real-World Software Development
â http://www.joelonsoftware.com
⢠Software Engineering, A Practitionerâs Approach
â http://www.mhhe.com/engcs/compsci/pressman/
29. Resources (2)Resources (2)
⢠Spiral Model
â Using the WinWin Spiral Model: A case study, Boehm Barry, July
1998, Computer
⢠Spiral Development workshop
â www.sei.cmu.edu/cbs/spiral2000/february2000/BoehmSR.html
⢠Anchoring the Software Process, Boehm Barry
â http://www.csis.gvsu.edu/~ferguson/classes/cs641/papers/ASP.pdf
⢠Denver Airport Project
â http://www.time.com/time/magazine/archive/1994/940516/940516.tr
ansportation.html
⢠Cleanroom Model
â http://www.cleansoft.com/cleansoft_mgrguide.html
â http://www.sei.cmu.edu/pub/documents/96.reports/pdf/tr022.96.pdf
⢠Hacking
â http://www.plethora.net/~seebs/faqs/hacker.html
30. HomeworkHomework
⢠Objective Question
â One major difference between
the Waterfall and iterative
models is that the iterative
models address risk. How do
they do that?
⢠Subjective Question
â Which of these models is the
best for the Customer? The
Seller? Why?