Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
What is Process?
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 its working)
<=Requirements=>
**<=Prototype=>** <=Design=>
<=Code=>
<=Test=> <=Deploy=>
Build/Revise Mockup
Iterative Models
Whats an Iteration?
Iterative Design: Code as much as you can questions surface, then start over. Every model well talk about below is a variation on the Iterative Model.
Spiral Model
Determine objectives, alternatives, constraints Evaluate alternatives, identify and resolve risks
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?
Weaknesses
Lack of risk management experience Lack of milestones Management is dubious of spiral process Change in Management Prototype Vs Production
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."
Site preparation
including facilities, equipment, supplies and vendor support
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.
REAL Peer Review Mathematical proof of correctness (Challenges associated with it?) Functional Specifications as Box Diagrams (State, Black, Clear)
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:
Im guessing just about every project you ever did as an undergraduate.
S u m a r y Summary m
Waterfall
good for budgeting, but doesnt 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
S u m m a r y
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
Code Complete
(http://www.amazon.com/exec/obidos/ASIN/1556154844/ref=bxgy_ sr_text_a/002-7413073-4868053)
Resources (2)
Spiral Model
Using the WinWin Spiral Model: A case study, Boehm Barry, July 1998, Computer
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?