Transcript

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

top related