0% found this document useful (0 votes)
365 views30 pages

General Idea of Iterative Models-Spiral Model

This document discusses various iterative software development models including the spiral model. The spiral model involves determining objectives and constraints, evaluating alternatives and identifying risks, developing and testing products, and planning the next phases in an iterative fashion. Other models discussed include the win-win spiral model which seeks to reconcile stakeholder objectives, and cleanroom methodologies which emphasize technical reviews, testing, and documentation to prevent defects. The document provides comparisons of the strengths and weaknesses of different iterative approaches.

Uploaded by

manjari09
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
365 views30 pages

General Idea of Iterative Models-Spiral Model

This document discusses various iterative software development models including the spiral model. The spiral model involves determining objectives and constraints, evaluating alternatives and identifying risks, developing and testing products, and planning the next phases in an iterative fashion. Other models discussed include the win-win spiral model which seeks to reconcile stakeholder objectives, and cleanroom methodologies which emphasize technical reviews, testing, and documentation to prevent defects. The document provides comparisons of the strengths and weaknesses of different iterative approaches.

Uploaded by

manjari09
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

General Idea of Iterative

Models- Spiral Model

CS 641
13 September 2001
Presented by
Matt Heusser & Tabrez Sait
What is “Process”?
Waterfall 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
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!”
The Mythical Man Month-
Dr. 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”
Rapid Prototyping
• 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)
<=Requirements=>
• Show it to the USERS (A Picture **<=Prototype=>**
is worth a 1,000 words) <=Design=>
<=Code=>
• Get Feedback <=Test=>
<=Deploy=>
Case Study- RAD
Grand 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
Problems With Prototyping
• No “Current” Documents

• Functional Spec is Prototype +


Feedback

• Prototype is not “baseline”


functionality

• Same problems with Functional


Spec as waterfall!
Prototyping Part II:
The Rigged Demo
• Re-Visit and improve
the prototype to serve Listen To
as a “baseline” Customer

• Turns prototype into a


“rigged demo” Build/Revise
Mockup
Customer Test
• Show that to the
Drives Mockup
customer
At the Demo Dialogue
• 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.
Case Studies
Multi-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!
Iterative Models
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.
Spiral Model
Determine Evaluate
objectives, alternatives,
alternatives, identify and
constraints resolve risks

Plan next Develop verify


phases next level
product
Risk 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?
Spiral Model
Strength 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
Win 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."
WinWin Spiral Model
••Identify
••Evaluate
Identify
Reconcile
Next
Stake
Validate
Review,
Define Product
Level
Win
nextholders
conditions
Stake
commitment
product
level & process
&of win
Process
holders
conditions
product Alternatives
definitions
and process
Win 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
WinWin Spiral-
Anchor 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
Contents of
LCO and
LCA
milestones
Key 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
Win 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
Another Extreme
CleanRoom Methodologies
• 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

• 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.
Clean Room Continued

• REAL Peer Review Mathematical proof of correctness


(Challenges associated with it?)
• Functional Specifications as Box Diagrams (State, Black, Clear)
Yet 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. 
Summary
Sum m a ry

• 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
Sum m a ry

• 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.
Resources
• 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/002-
7413073-4868053
)
• Code Complete
– (
http://www.amazon.com/exec/obidos/ASIN/1556154844/ref=bxgy_sr_text_a/002-
7413073-4868053
)
• Joel Spolsky on Real-World Software Development
– http://www.joelonsoftware.com
• Software Engineering, A Practitioner’s Approach
– http://www.mhhe.com/engcs/compsci/pressman/
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.transportatio
n.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
Homework
• 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?

You might also like