19
Prescriptive Process Models Jon Walker

Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Embed Size (px)

Citation preview

Page 1: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Prescriptive Process Models

Jon Walker

Page 2: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Prescription?

What does prescriptive mean?

Page 3: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Answer

● Proscribe a set of process elements● “Things to do”● A model of the lifecycle also

Page 4: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Software Life-Cycle Models● Build-And-Fix

Build and product without any specification or design

Modify (or “fix”) product until client is satisfied

Page 5: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Waterfall● Used exclusively until the early 80s● Output (or “artifacts”) from each phase go into

next phase● What are artifacts?● What are the advantages of Waterfall?

Forced discipline of going through each phase Well defined phases

● What are the disadvantages? No modeling of requirements Traceability is hard to attain (why?)

Page 6: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Incremental Models

● RAD● Incremental

Page 7: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

RAD

● Rapid Application Development (RAD)● Short development cycle● High speed waterfall● Break into pieces/components● Assign teams to components● What do you think the pros/cons are?

Page 8: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Pros/Cons

● Pros of RAD More rapid feedback than waterfall

● Cons of RAD Project has to be scalable

● Able to be broken into pieces For a large project you need to have a lot of

teams May not be appropriate if there is a lot of

technical risk (interfaces change)

Page 9: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Incremental● Break the software into pieces● Build and test the software after adding

each piece (incrementally)● Stop when the final product meets the

specifications● The product must be testable as each

piece is added● What do you think the pros/cons are?

Page 10: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Pros/Cons

● Pros of Incremental Client gets a functional product earlier Change in requirements can be handled

incrementally● Cons of Incremental

Product has to naturally break into pieces that can be incorporated one at a time without breaking existing functionality

Quickly degenerates into build-and-fix model

Page 11: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Evolutionary

● Rapid Prototyping● Spiral● Synchronize and Stabilize

Page 12: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Rapid Prototyping● Build a prototype and refine prototype

until the customer is satisfied● What are the pros/cons?

Page 13: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Pros/Cons

● Pros of Rapid Prototype Requirements are more likely to be correct Input from prototype can be used in design

● Cons of Rapid Prototype Problem with seeing prototype as throw-

away? Design may be inflexible Difficult to review decisions made during

certain phases

Page 14: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Spiral● Incorporates aspects of the other models● Main objective is to reduce risk

What is risk?● Like Waterfall but risk analysis is done

before each phase and verification is done afterwards

● What are the pros/cons?

Page 15: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Pros/Cons

● Pros of Spiral Emphasis on alternatives so when a

problem is encountered another approach can be taken

● Cons of Spiral Requires that developers are good at

identifying and mitigating risks

Page 16: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Synchronize and Stabilize● Variation on Incremental model● Gather requirements● Prioritize and break into three or four builds with the earlier

builds having the most important features● Features are worked on by a number of independent teams● Each day or periodically during the lifecycle

“Synchronize” all source code Test, debug, and “stabilize” “Freeze” result

● Used by Microsoft● Advantages and disadvantages are similar to incremental

model

Page 17: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Specialized Process Models

● Component-Based Development Like spiral Identify components at start of each cycle

● Formal Methods Mathematical specification of software

● Aspect-Oriented Development Extract system wide features Aspect oriented languages

Page 18: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Rational Unified Process (RUP)

● James Rumbaugh, Grady Booch, Ivar Jacobsen Had individual methods for developing

software Rumbaugh and Booch

● 1990 – unified method● Added Jacobsen - requirements

● Considered the “modern” alternative to waterfall● Standard for OO software development● Phases much like waterfall● Defines work products or “models” for each phase

e.g. Use cases

Page 19: Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Phases of RUP

● Phases Inception Elaboration Contruction Transition Production

● What are the waterfall phases again?● Can you match them?● Difference is that they happen in

increments● Increments may be concurrent