SlideShare ist ein Scribd-Unternehmen logo
1 von 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 MonthDr. 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
is worth a 1,000 words)
Get Feedback

**<=Prototype=>**
<=Design=>
<=Code=>
<=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-ofbudget
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
as a “baseline”

Listen To
Customer

• Turns prototype into a
“rigged demo”
• Show that to the
customer

Customer Test
Drives Mockup

Build/Revise
Mockup
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
objectives,
alternatives,
constraints

Evaluate
alternatives,
identify and
resolve risks

Plan next
phases

Develop verify
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 Nextproduct & process definitions
••Validate commitment holders process
Identify Stake holders win conditions
Evaluate Product of Process and
Reconcile Level Stake
Define next level & product Alternatives
Review, Win conditions
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 SpiralAnchor 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
Summary

• 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

• 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.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
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?

Weitere ähnliche Inhalte

Was ist angesagt?

Lect-2: Overview and Traditional SPM, Classic mistakes
Lect-2: Overview and Traditional SPM, Classic mistakesLect-2: Overview and Traditional SPM, Classic mistakes
Lect-2: Overview and Traditional SPM, Classic mistakesMubashir Ali
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software DevelopmentSaqib Raza
 
Agile Myths and Misconceptions
Agile Myths and MisconceptionsAgile Myths and Misconceptions
Agile Myths and MisconceptionsCalen Legaspi
 
"We are doing it wrong."
"We are doing it wrong.""We are doing it wrong."
"We are doing it wrong."weissgraeber
 
Lean and Kanban-based Software Development
Lean and Kanban-based Software DevelopmentLean and Kanban-based Software Development
Lean and Kanban-based Software DevelopmentTathagat Varma
 
Agile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsAgile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsMarc Crudgington, MBA
 
Agile scrum benefits, pitfalls & solutions..
Agile scrum benefits, pitfalls & solutions..Agile scrum benefits, pitfalls & solutions..
Agile scrum benefits, pitfalls & solutions..Mohammad Faiz
 
Release planning using feature points
Release planning using feature pointsRelease planning using feature points
Release planning using feature pointsMadhur Kathuria
 
Continuous Deployment - Case Study at WIX
Continuous Deployment - Case Study at WIXContinuous Deployment - Case Study at WIX
Continuous Deployment - Case Study at WIXAgileSparks
 
Eric Ries Lean Startup Presentation For Web 2.0 Expo April 1 2009 A Disciplin...
Eric Ries Lean Startup Presentation For Web 2.0 Expo April 1 2009 A Disciplin...Eric Ries Lean Startup Presentation For Web 2.0 Expo April 1 2009 A Disciplin...
Eric Ries Lean Startup Presentation For Web 2.0 Expo April 1 2009 A Disciplin...Eric Ries
 
Software Project Management - Classic Mistakes
Software Project Management - Classic MistakesSoftware Project Management - Classic Mistakes
Software Project Management - Classic MistakesEmanuele Della Valle
 
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)Emanuele Della Valle
 
Backlog Blunders
Backlog BlundersBacklog Blunders
Backlog BlundersJoe Combs
 
141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum RomaPeter Stevens
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Developmentgcaprio
 
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?India Scrum Enthusiasts Community
 

Was ist angesagt? (20)

Lect-2: Overview and Traditional SPM, Classic mistakes
Lect-2: Overview and Traditional SPM, Classic mistakesLect-2: Overview and Traditional SPM, Classic mistakes
Lect-2: Overview and Traditional SPM, Classic mistakes
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Agile Myths and Misconceptions
Agile Myths and MisconceptionsAgile Myths and Misconceptions
Agile Myths and Misconceptions
 
New model
New modelNew model
New model
 
"We are doing it wrong."
"We are doing it wrong.""We are doing it wrong."
"We are doing it wrong."
 
Lean and Kanban-based Software Development
Lean and Kanban-based Software DevelopmentLean and Kanban-based Software Development
Lean and Kanban-based Software Development
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Agile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsAgile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful Organizations
 
Agile scrum benefits, pitfalls & solutions..
Agile scrum benefits, pitfalls & solutions..Agile scrum benefits, pitfalls & solutions..
Agile scrum benefits, pitfalls & solutions..
 
Release planning using feature points
Release planning using feature pointsRelease planning using feature points
Release planning using feature points
 
Continuous Deployment - Case Study at WIX
Continuous Deployment - Case Study at WIXContinuous Deployment - Case Study at WIX
Continuous Deployment - Case Study at WIX
 
Eric Ries Lean Startup Presentation For Web 2.0 Expo April 1 2009 A Disciplin...
Eric Ries Lean Startup Presentation For Web 2.0 Expo April 1 2009 A Disciplin...Eric Ries Lean Startup Presentation For Web 2.0 Expo April 1 2009 A Disciplin...
Eric Ries Lean Startup Presentation For Web 2.0 Expo April 1 2009 A Disciplin...
 
Agile scrum training
Agile scrum trainingAgile scrum training
Agile scrum training
 
Software Project Management - Classic Mistakes
Software Project Management - Classic MistakesSoftware Project Management - Classic Mistakes
Software Project Management - Classic Mistakes
 
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
 
Backlog Blunders
Backlog BlundersBacklog Blunders
Backlog Blunders
 
141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Development
 
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
 
DevOps Year One
DevOps Year OneDevOps Year One
DevOps Year One
 

Ähnlich wie Final spiralmodel97

50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-modelasidharath
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleAashima Wadhwa
 
Introduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process ModelsIntroduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process Modelssantoshkawade5
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
 
Products and Value: An Agile Perspective BY Matt Nudelmann (GUEST PRESENTER)
Products and Value: An Agile Perspective BY Matt Nudelmann (GUEST PRESENTER)Products and Value: An Agile Perspective BY Matt Nudelmann (GUEST PRESENTER)
Products and Value: An Agile Perspective BY Matt Nudelmann (GUEST PRESENTER)Samuel Chin, PMP, CSM
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdfBinNguynVn3
 
Applying both of waterfall and iterative development
Applying both of waterfall and iterative developmentApplying both of waterfall and iterative development
Applying both of waterfall and iterative developmentDeny Prasetia
 
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
 

Ähnlich wie Final spiralmodel97 (20)

50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-model
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Software process models
Software process modelsSoftware process models
Software process models
 
Sdlc
SdlcSdlc
Sdlc
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Introduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process ModelsIntroduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process Models
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
1 sdlc model
1 sdlc model1 sdlc model
1 sdlc model
 
Products and Value: An Agile Perspective BY Matt Nudelmann (GUEST PRESENTER)
Products and Value: An Agile Perspective BY Matt Nudelmann (GUEST PRESENTER)Products and Value: An Agile Perspective BY Matt Nudelmann (GUEST PRESENTER)
Products and Value: An Agile Perspective BY Matt Nudelmann (GUEST PRESENTER)
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
 
2-SE Process Models.pptx
2-SE Process Models.pptx2-SE Process Models.pptx
2-SE Process Models.pptx
 
Applying both of waterfall and iterative development
Applying both of waterfall and iterative developmentApplying both of waterfall and iterative development
Applying both of waterfall and iterative development
 
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
 
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
 

Kürzlich hochgeladen

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Final spiralmodel97

  • 1. General Idea of Iterative Models- Spiral Model CS 641 13 September 2001 Presented by Matt Heusser & Tabrez Sait
  • 3. 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
  • 4. 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 MonthDr. 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. 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 is worth a 1,000 words) Get Feedback **<=Prototype=>** <=Design=> <=Code=> <=Test=> <=Deploy=>
  • 7. 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-ofbudget
  • 8. Problems 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: The Rigged Demo • Re-Visit and improve the prototype to serve as a “baseline” Listen To Customer • Turns prototype into a “rigged demo” • Show that to the customer Customer Test Drives Mockup Build/Revise Mockup
  • 10. 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.
  • 11. 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!
  • 12. 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.
  • 14. 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?
  • 15. 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
  • 16. 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."
  • 17. WinWin Spiral Model ••Identify Nextproduct & process definitions ••Validate commitment holders process Identify Stake holders win conditions Evaluate Product of Process and Reconcile Level Stake Define next level & product Alternatives Review, Win conditions
  • 18. 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
  • 19. WinWin SpiralAnchor 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 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 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 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.
  • 24. Clean 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: 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. Summary Summary • 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
  • 27. Summary • 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.
  • 28. 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/
  • 29. 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. 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?