What is “Process”?
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”
• 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 Prototyping
<=Requirements=>
**<=Prototype=>**
<=Design=>
<=Code=>
<=Test=>
<=Deploy=>
Typical steps
– 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 as a “baseline”
• Turns prototype into a “rigged demo”
• Show that to the customer
Listen To Customer
Build/Revise Mockup
Customer Test Drives 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.
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
Develop verify next level product
Risk reduction Strategies are assessed and Plan next phases
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
Spiral ModelStrength 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."
• Win-Win Spiral Model (eliciting software requirements defined through negotiation between customer and developer, where each party attempts to balance technical and business constraints)
WinWin 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
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