16.842/16.355 class 3 notes

41
16.842/16.355 Class 3 Notes

Upload: thu

Post on 18-Mar-2016

31 views

Category:

Documents


3 download

DESCRIPTION

16.842/16.355 Class 3 Notes. Factors That Influence Process. Waterfall Model. Ideal or generic process that needs to be tailored for specific project Often used as strawman, maligned, and mischaracterized (e.g., omit all feedback loops). Features of the Waterfall Model. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 16.842/16.355 Class 3 Notes

16.842/16.355Class 3 Notes

Page 2: 16.842/16.355 Class 3 Notes

Factors That Influence Process

Page 3: 16.842/16.355 Class 3 Notes

Waterfall Model

• Ideal or generic process that needs to be tailored for specific project• Often used as strawman, maligned, and mischaracterized (e.g., omit all feedback loops)

Page 4: 16.842/16.355 Class 3 Notes

Features of the Waterfall Model

• A phased development process with clearly identified milestones

• Deliverables and baselines with each phase, results of each phase “frozen” (but can be changed later if necessary)

• Reviews at each phase

• Document-driven process (really deliverable driven, but deliverables in early phases are often documents)

• “Big Bang” testing vs. stubs vs. daily build and smoke test

• “A Rational Design Process and How to Fake It”– Strict sequencing between activities not usually obeyed

Page 5: 16.842/16.355 Class 3 Notes

Feasibility Study (used to be called System Analysis)• Definition of problem• Alternate solutions and expected benefits• Required resources, costs, delivery dates for each proposed solution• Economic feasibility and technical feasibility (can hardware and software deliver performance required?)• Risk identification

Page 6: 16.842/16.355 Class 3 Notes

Requirements:• What, not how• Contract with customer• Used to engineers to develop solutions

-- Careful analyses: goal is to prevent putting too much effort into constructing a system that does not satisfy user’s requirements

Page 7: 16.842/16.355 Class 3 Notes

Requirements

• Need to consider project goals– Minimize development costs?– Minimize development time?– Maximize quality– Realism important: Faster, Better, Cheaper (choose two)– Separate essential from nice features

• Try to predict possible future requirements (product “families”)

• Identify environment and interactions with environment

Page 8: 16.842/16.355 Class 3 Notes

• “Coding” a very small part of any development effort (7%)• Design (architecture) important but often rushed to get to coding• Test usually about 50% of development effort

Page 9: 16.842/16.355 Class 3 Notes

“V” Model

Page 10: 16.842/16.355 Class 3 Notes
Page 11: 16.842/16.355 Class 3 Notes

Systems EngineeringOverview

Stakeholder Analysis

RequirementsDefinition

System ArchitectureConcept Generation

Tradespace ExplorationConcept Selection

Design DefinitionMultidisciplinary Optimization

System IntegrationInterface Management

Verification andValidation

CommissioningOperations

Lifecycle Management

Human Factors

SystemSafety

16.842 Fundamentals of Systems Engineering

“V-Model”

Page 12: 16.842/16.355 Class 3 Notes
Page 13: 16.842/16.355 Class 3 Notes
Page 14: 16.842/16.355 Class 3 Notes

“V” Model/ Waterfall Model

• Phases are delineated by review processes

Page 15: 16.842/16.355 Class 3 Notes

Air Force

Page 16: 16.842/16.355 Class 3 Notes

NASA Program & Project Life Cycles

NASA Life Cycle Phases

ProjectLife Cycle Phases

Pre-Phase A:ConceptStudies

Phase A:Concept & Technology

Development

Phase B:Preliminary Design &

Technology Completion

Phase C:Final Design &

Fabrication

Approval for Implementation

FORMULATION IMPLEMENTATION

KDP CProject Life Cycle Gates & Major Events

Operations Pre-Systems Acquisition Systems Acquisition

Phase E:Operations

& Sustainment

KDP A

Launch

KDP D

Phase D:System Assembly, Int & Test, Launch

KDP B

Phase F:Closeout

Decommissioning

End of Mission

FOOTNOTES1. Flexibility is allowed in the timing, number, and content of reviews as long as the

equivalent information is provided at each KDP and the approach is fully documented in the Project Plan. These reviews are conducted by the project for the independent SRB. See Section 2.5 and Table 2-6.

2. PRR needed for multiple (≥4) system copies. Timing is notional.3. CERRs are established at the discretion of Program Offices.4. For robotic missions, the SRR and the MDR may be combined.5. The ASP and ASM are Agency reviews, not life-cycle reviews.6. Includes recertification, as required. 7. Project Plans are baselined at KDP C and are reviewed and updated as required, to

ensure project content, cost, and budget remain consistent.

Final Archival of Data

KDP F

SMSR, LRR (LV), FRR (LV)

KDP E

Peer Reviews, Subsystem PDRs, Subsystem CDRs, and System Reviews

DRPLARMDR4

Robotic Mission Project Reviews1

MCR SRR PDR CERR3SIR FRR

ACRONYMSASP—Acquisition Strategy Planning MeetingASM—Acquisition Strategy MeetingCDR—Critical Design ReviewCERR—Critical Events Readiness ReviewDR—Decommissioning ReviewFAD—Formulation Authorization DocumentFRR—Flight Readiness ReviewKDP—Key Decision PointLRR—Launch Readiness ReviewMCR—Mission Concept ReviewMDR—Mission Definition ReviewNAR—Non-Advocate Review

ORR—Operational Readiness ReviewPDR—Preliminary Design ReviewPFAR—Post-Flight Assessment ReviewPLAR—Post-Launch Assessment ReviewPNAR—Preliminary Non-Advocate ReviewPRR—Production Readiness ReviewSAR—System Acceptance ReviewSDR—System Definition ReviewSIR—System Integration ReviewSMSR—Safety and Mission Success Review SRR—System Requirements Review

FAD

Draft ProjectRequirements

Launch Readiness Reviews

SDR CDR / PRR2

PDRMCR FRRSRR SIR CERR3PLAR SAR

Human Space Flight Project Reviews1

Re-flights

DR(NAR)(PNAR)

Supporting Reviews

ORRInspections and Refurbishment

Re-enters appropriate life cycle phase if modifications are needed between flights6

End of Flight

PFAR

Preliminary Project Plan

Baseline Project Plan7

ASP5

ORR

ASM5

(NAR)(PNAR)CDR / PRR2

AgencyReviews

Page 17: 16.842/16.355 Class 3 Notes
Page 18: 16.842/16.355 Class 3 Notes

NASA

Page 19: 16.842/16.355 Class 3 Notes

Evolutionary Model

• Prototyping – “Do it twice”– To assess feasibility

– To verify requirements

• May only be – A front end or executable specification (“very high level”

languages or front end for user interface)

– Or develop system with less functionality or quality attributes (speed, robustness, etc.)

Page 20: 16.842/16.355 Class 3 Notes

Differences with Hardware Prototyping?

Page 21: 16.842/16.355 Class 3 Notes

Evolutionary Model (2)• 3 approaches

1. Use prototyping as tool for requirements analysis.

2. Use to accommodate design uncertaintya. Prototype evolves into final product

b. Documentation may be sacrificed

c. May be less robust

d. Quality defects may cause problems later (during ops and maintenance -- Incorporating quality after system built is impossible or

extremely costly

3. Use to experiment with proposed solutions before large investments made

Page 22: 16.842/16.355 Class 3 Notes

Evolutionary Model (3)

• Drawbacks– Can be expensive to build

– Can develop a life of its own, turns out to be product itself

– Hard to change basic decisions made early

– Can be an excuse for poor programming practices

Page 23: 16.842/16.355 Class 3 Notes

Experimental Evaluation

• Boehm: prototyping vs. waterfall for software– Waterfall:

• Addressed product and process control risks better

• Resulted in more robust product, easier to maintain

• Fewer problems in debugging and integration due to more thought-out design

– Prototyping• Addressed user interfaces better

• Alavi: prototyping vs. waterfall for an information system– Prototyping: users more positive and more involved

– Waterfall: more robust and efficient data structures

Page 24: 16.842/16.355 Class 3 Notes

24

Incremental Model

Communication PlanningModeling

ConstructionDeployment

Communication PlanningModeling

ConstructionDeployment

Communication PlanningModeling

ConstructionDeployment

Increment #1

Increment #2

Increment #3

Page 25: 16.842/16.355 Class 3 Notes

Incremental Model

• Functionality produced and delivered in small increments

• Focus attention first on essential features and add functionality only if and when needed

• Systems tend to be leaner, fights overfunctionality syndrome

• May be hard to add features later– CLCS (tried to add fault tolerance later)

– Need to be careful about what put off. Requires very complex analysis and deep knowledge to do this right.

• Does this work for large, complex systems?

Page 26: 16.842/16.355 Class 3 Notes

Incremental Model Variant

• Incremental implementation only– Follow waterfall down to implementation

– During requirements analysis and system design• Define useful subsets that can be delivered

• Define interfaces that allow adding later smoothly

– Different parts implemented, tested, and delivered according to different priorities and at different times

Page 27: 16.842/16.355 Class 3 Notes

Spiral Model • Includes every other model• Risk-driven (vs. document driven or increment driven)• Radius of spiral represents cost accumulated so far

Page 28: 16.842/16.355 Class 3 Notes
Page 29: 16.842/16.355 Class 3 Notes

Considerations

• Do you need one uniform process over whole project? e.g., in requirements analysis, identify aspects that are uncertain Library system:

Checkout and Checkin (inventory control): Relatively certain

Card catalogue and user search: Relatively uncertain

Then have different processes for separate parts

Page 30: 16.842/16.355 Class 3 Notes

Software Factory• Most software organizations strictly separated between

initial development and later maintenance– No incentive to produce a system that can be easily

maintained

– No incentive to produce reusable components

• Project management vs. product management

• Extend management responsibility to cover family of products rather than an individual product (product families)

Page 31: 16.842/16.355 Class 3 Notes
Page 32: 16.842/16.355 Class 3 Notes
Page 33: 16.842/16.355 Class 3 Notes

What is CMMI?

CConsultantonsultant

MMoneyoney

MMakingaking

IInitiative nitiative

Page 34: 16.842/16.355 Class 3 Notes

Critique of CMMI

““The projects most worth doing are the ones that will move The projects most worth doing are the ones that will move you DOWN one full level on your process scale” you DOWN one full level on your process scale” (Peopleware) [3](Peopleware) [3]

Page 35: 16.842/16.355 Class 3 Notes

CMM (Capability Maturity Model)• Comes from Taylorism (“scientific management”,

statistical quality control)– Maximize efficiency by rational planning procedures

– Assembly lines, time and motion studies (Henry Ford)

– Behavior of individual controlled by normative rules and preplanned by system design

– Projects achieve control over their products and processes by narrowing the variation in the process performance to fall within acceptable quantitative boundaries

Page 36: 16.842/16.355 Class 3 Notes

CMM (Capability Maturity Model) (2)• Despite rhetoric, does not follow TQM

– TQM emphasizes flexibility and learning

– Learning orientation seeks to increase variation in order to explore opportunities

• CMM focuses on narrowing variation

– Formal bureaucratic control undermines intrinsic motivation needed for creative and flexible responses to uncertainty

Senge: Humanistic values of caring and individual freedom are essential to building learning organizations

Carroll: “In too many TQM programs, it is the difficult-to-implement portions of the program that are being finessed or ignored and the rhetoric that is being retained.”

Page 37: 16.842/16.355 Class 3 Notes

CMM Criticisms• Treats people as assembly line workers, i.e., replaceable,

unreliable

• Humans are subordinated to defined processes

• Why emphasis on “repeatable”?

• Why five levels? Why a rigid order?– Peer reviews at level 3? Defect prevention at level 5?

• Creates inflexible organizations and the illusion of control?

• Places focus on the wrong things

• Does this just ensure mediocrity? – Great software/hardware projects have done the opposite– Skunkworks, Apple (Mac), some Microsoft products

Page 38: 16.842/16.355 Class 3 Notes

CMM Criticisms (2)Bollinger

• Process improvement more than simply adding good measurement and controls to a project

• Must address much deeper and uniquely difficult issue of how to distribute creative, intelligent problem-solving across a group of heterogeneous individuals.

• Make group IQ improvement a major issue– Group stupification when process metrics structured

around repetition– Use people for problem solving, don’t try to turn people

into machines

Page 39: 16.842/16.355 Class 3 Notes

More

• Experimental validation?

• Industry experience?

Page 40: 16.842/16.355 Class 3 Notes

CMMI vs. Agile, XP, etc.PEOPLE

TECHNOLOGYProcess

PEOPLE

Process Technology

Page 41: 16.842/16.355 Class 3 Notes

Readings?