cse senior design i building a plan instructor: mike odell several of the slides in this module are...

40
CSE Senior Design I CSE Senior Design I Building a Plan Building a Plan Instructor: Mike O’Dell Instructor: Mike O’Dell Several of the slides in this module are a modification and amplification Several of the slides in this module are a modification and amplification of slides prepared by Mr. Tom Rethard for use in a prior Senior Design of slides prepared by Mr. Tom Rethard for use in a prior Senior Design Class. They were originally for use with Class. They were originally for use with A Discipline for Software Engineering A Discipline for Software Engineering (Watts S. Humphrey), sponsored by the U.S. Department of Defense. Original (Watts S. Humphrey), sponsored by the U.S. Department of Defense. Original slides are copyright SEI; modifications are Copyright © 2002, T. Rethard. slides are copyright SEI; modifications are Copyright © 2002, T. Rethard. Further modifications by Mike O’Dell. All Rights Reserved. Further modifications by Mike O’Dell. All Rights Reserved.

Upload: ashtyn-wingett

Post on 29-Mar-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

CSE Senior Design ICSE Senior Design I

Building a PlanBuilding a Plan

Instructor: Mike O’DellInstructor: Mike O’Dell

Several of the slides in this module are a modification and amplification of Several of the slides in this module are a modification and amplification of slides prepared by Mr. Tom Rethard for use in a prior Senior Design Class. slides prepared by Mr. Tom Rethard for use in a prior Senior Design Class.

They were originally for use with They were originally for use with A Discipline for Software EngineeringA Discipline for Software Engineering (Watts (Watts S. Humphrey), sponsored by the U.S. Department of Defense. Original slides S. Humphrey), sponsored by the U.S. Department of Defense. Original slides

are copyright SEI; modifications are Copyright © 2002, T. Rethard. Further are copyright SEI; modifications are Copyright © 2002, T. Rethard. Further modifications by Mike O’Dell. All Rights Reserved.modifications by Mike O’Dell. All Rights Reserved.

Page 2: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 2

Why Plan?Why Plan?A plan helps you focusfocus on the goal

“Begin with the end in mind.1”A plan let’s you estimateestimate job completionA plan helps you track progresstrack progressA plan gives you milestonesmilestones that provide

a sense of accomplishment sense of accomplishment along the wayA plan helps you identify problems identify problems earlyA plan establishes commitments establishes commitments for the

team and each individual on it1 Stephen R. Covey, The Seven Habits of Highly Effective People

Page 3: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 3

The Planning Process… The Planning Process… SimplifiedSimplified

Plan the work … then work the planRefine, refine, refine…

Page 4: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 4

What is a Plan?What is a Plan?

An agreement agreement by the team on the cost and schedule for a specified job

A structurestructure for organizing the workA frameworkframework for obtaining the required

resources (people, funds, etc.)A recordrecord of what was initially assumed

and committedIt’s a CONTRACTCONTRACT!

Page 5: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 5

Components of a PlanComponents of a PlanA LifecycleLifecycle Planning Model: The Master

Plan for the Project Order and criteria for key events Correct model for the job?

Work Estimate How big is the job (size and effort)? How long will it take, when will we finish?

Schedule and Work Breakdown When do we expect to have things done? What are we committing to?

Page 6: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 7

Representative Lifecycle Representative Lifecycle ModelsModels

Pure Waterfall (the old granddaddy) Code-and-Fix (and plan to fail)Spiral (new age sophistication)Modified Waterfalls (making the best of an

old standby)Evolutionary/Rapid Prototyping (design as

you go)Staged Models (show as you go)

Design to schedule

Hybrids – some combinationcombination of above

Page 7: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 8

Pure WaterfallPure WaterfallPhased deliverablesDocument-drivenDiscontinuous, inflexible phasesAll planning is done up frontGood for:

Well-defined, complex projectsQuality dominates cost and schedule

Not so good for:Projects where details cannot be completely specified up

frontRapid development projects

Page 8: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 9

Pure WaterfallPure Waterfall

RequirementsAnalysis

Concept & Planning

ArchitecturalDesign

DetailedDesign

Implementation& Debugging

SystemValidation

Pass

Fail

Pass

Pass

Pass

Pass

Fail

Fail

Fail

Fail

Page 9: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 10

Build (Code)-and-FixBuild (Code)-and-Fix In general, don’t do it!Process: Specify it, code-and-fix it, ship it(?)Advantages:

Low/no overhead (no planning, documentation, standards, etc.)

You can start TODAY! Requires little other than technical expertise

Disadvantages: No means of assessing progress, problems Dangerous! for other than tiny projects

Page 10: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 11

SpiralSpiral Risk-oriented, layered approach Process:

Break project into mini-projects, each addressing major risks, e.g. Risk of poor specifications Risk of poorly understood architecture

Iterate until risks are eliminated Six steps in each iteration

Advantages: Time and money can reduce risk

Disadvantages Complex

Page 11: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 12

SpiralSpiral

(Diagram from “Spiral Development: Experience, Principles and Refinements”, workshop paper by Barry Boehm)

Start

Page 12: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 13

Modified WaterfallsModified Waterfalls

Waterfall with Overlapping Phases (Sashimi) Like pure waterfall, but phases can overlap

Concept & Planning

RequirementsAnalysis

ArchitecturalDesign

DetailedDesign

Implementation& Debugging

SystemValidation

Page 13: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 14

Modified WaterfallsModified Waterfalls Waterfall with Subprojects

Begin detailed design on subprojects before overall architectural design is completeRequirements

Analysis

Concept & Planning

ArchitecturalDesign

DetailedDesign

Implementation& Debugging

SubSystemValidation System

Validation

DetailedDesign

Implementation& Debugging

SubSystemValidation

DetailedDesign

Implementation& Debugging

SubSystemValidation

DetailedDesign

Implementation& Debugging

SubSystemValidation

Page 14: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 15

Modified WaterfallsModified WaterfallsWaterfall with Risk Reduction

Spiral for requirements and architectural design phasesRequirements

Analysis

Concept & Planning

ArchitecturalDesign

DetailedDesign

Implementation& Debugging

SystemValidation

Generally, only for very large and complex projects

Page 15: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 16

Evolutionary (or Rapid) PrototypingEvolutionary (or Rapid) Prototyping

Especially useful when requirements are requirements are changing changing rapidly, or cannot be committed

Process: Design initial prototype of external/prominent

aspects Review with customer Iterate and refine until “good enough”

AdvantagesKeeps customer involved in processLow overhead

DisadvantagesImpossible to project schedule/budgetCan evolve to code-and-fix

Page 16: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 17

Staged Delivery ModelsStaged Delivery Models

Follow architectural design with staged design, implementation, test and delivery Staged delivery: iterate until done Design-to-schedule: iterate until scheduled

time Evolutionary delivery: Iterate with

customer feedback until done (Beta test approach)

Page 17: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 18

Hybrid Staged Delivery ModelHybrid Staged Delivery Model

RequirementsAnalysis

Concept & Planning

ArchitecturalDesign

Medium High Priority: Detailed design, implement and test

Medium Priority: Detailed design, implement and test

High Priority: Detailed design, implement and test

Medium Low Priority: Detailed design, implement and test

Low Priority: Detailed design, implement and test

Run out of time and money

Release

Design-to-Schedule Design-to-Schedule with risk reductionwith risk reduction(our model, approx.)(our model, approx.)

Page 18: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 19

Choosing the Right ModelChoosing the Right Model

Strengths and weaknesses analysis Discussion: Table 7-1

Case Study 7-2: Effective Lifecycle Model Selection Project characteristics Why was the model the right one? What was the outcome?

Page 19: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 20

Tools/Techniques to Help YouTools/Techniques to Help You

PERT and CPM Tools Program (or Project) Evaluation and Review

Technique Critical Path Method (from Dupont) Account for task dependencies Generally applies 3 separate estimates for

each task (shortest, nominal and longest) to calculate the expected effortIdentify longest/critical path(s)

Page 20: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 21

Tools/Techniques to Help You Tools/Techniques to Help You (PERT Chart)(PERT Chart)

Page 21: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 22

Tools/Techniques to Help YouTools/Techniques to Help You

CoCoMo (Constructive Cost Model) Estimating tool created by Barry Boehm

(Software Engineering Economics, 1981) Based on size, complexity, environment,

team composition, language, tools, etc. Method is based on a large study of varying

size significant projects.

Page 22: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 23

Work Breakdown StructureWork Breakdown StructureBreaks down the work to be done into

specific, product-oriented manageable unitsAllows development of a detailed plan

Basis for project cost and scheduleEnables assignment of responsibility

Provides basis for accountability of individualsDefines independent work units – minimum

interfacing with or dependency on other work units

Allows measurement of progress

Page 23: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 24

Work Breakdown StructureWork Breakdown Structure

WBS: Building WBS: Building a Bicyclea Bicycle

Page 24: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 25

Milestone Tracking - GANTTMilestone Tracking - GANTT

GANTT Chart Display Using MS Project

See Sample MS Project file on website.

Page 25: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 26

High Quality PlansHigh Quality Plans

Characteristics, as stated in the SEI text Complete Readily accessible, even by the customer Clear Specific Precise Accurate

Not in the SEI text, but necessary MEASURABLE

Page 26: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 27

What’s makes a What’s makes a Good PlanGood Plan??

Complete Product SpecificationsA clear Statement of Work

Size estimate and scheduleSchedule for critical MilestonesA complete Work Breakdown StructureThe Processes/Procedures that you will

followIdentification of your Stakeholders

SRS…ADS/DDS

PROJECTCHARTER

MS PROJECT PLAN

PROJECTCHARTER

Page 27: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 28

What’s makes a What’s makes a Good PlanGood Plan??From the customer’s perspective:

Your commitment to deliver what is specified The quality level of the product A mechanism for participation/cooperation

Integrity and Openness

Page 28: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 29

Product SpecificationsProduct Specifications

Provide the details of whatwhat will be done, and howhow it will be done: Requirements Specification (SRS – whatwhat) Architecture Design (ADS – bridgebridge what to

how) Detailed Design Documentation (DDS -

howhow )These provide the basis for system

verification and acceptance

Page 29: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 30

Statement of WorkStatement of Work

A narrative description of the work that is to be done: Details of hardware and software

components Description of deliverables Estimate of start and stop dates for key

phases of process Acceptance criteria

Page 30: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 31

MilestonesMilestonesDriven by the lifecycle model you use

Establishes start and stop dates for all key phases of project

Reinforced by your detailed schedules Use PERT/GANTT

Provides basis for measurement of progress Earned Value

Provides basis for identifying and estimating risks

Specifies critical deliverables ALL milestones have deliverables!

Page 31: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 32

Processes/ProceduresProcesses/Procedures

Defines howhow things will get done Provides the basis for establishing critical

milestones and deliverables Establishes entry and exit criteria for

critical phases Establishes the standards that will be used Defines the tools that are required to

complete the work

Page 32: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 33

StakeholdersStakeholders

Any person or organization that has a vested interest in the success of you project Your customer or sponsor Your company Your company’s owners/stockholders Your management

Page 33: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 34

Plan Documentation and Plan Documentation and TrackingTracking

System Requirements Specification WHAT you plan to create

Project Charter HOW you will go about the process of

creating the WHAT Includes RISK MANAGEMENT plan

Work Breakdown Structure/GANTT The specific STEPS you will take, WHEN

things must be done, and WHO will do them MS Project

Page 34: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 35

Characteristics of a Good Characteristics of a Good RequirementRequirement

VerifiableVerifiable: stated in a way that allows for independent verification that the system meets or exceeds the stated requirement.

JustifiableJustifiable: necessary, rather than simply desirable

UnambiguousUnambiguous: stated such that multiple interpretations are precluded

Page 35: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 36

Characteristics of a Good Characteristics of a Good RequirementRequirement

ConsistentConsistent: no conflict with any other requirement

ModifiableModifiable: should be stated in a way that allows for change based on technical/business considerations.

Hierarchically TraceableHierarchically Traceable: should define a single attribute, traceable back to a higher level requirement.

Page 36: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 37

Tips for Successful Requirement Tips for Successful Requirement DeterminationDetermination

Start by establishing what the team thinks the features/functionsfeatures/functions of the system should be Brainstorm as team and write everything

down Keep a simple list (such as the requirements

worksheet on the website)Meet with your sponsorsponsor to review/modify

your list and discuss alternatives Add any features/functions that the sponsor

believes are required

Page 37: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 38

Tips for Successful Requirement Tips for Successful Requirement DeterminationDetermination

Consider and add ancillary requirementsancillary requirements E.g., performance, packaging, look and feel

Discuss and add as necessary any “non-“non-functional” requirementsfunctional” requirements E.g., standards that you must adhere to,

maintenance and support, safetyDiscuss and analyze the feasibility analyze the feasibility of

meeting or exceeding each requirement within the budget, time and skills allowed.

Page 38: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 39

Tips for Successful Requirement Tips for Successful Requirement DeterminationDetermination

DO NOT DO NOT collect requirements by attempting to fill out the SRS Guide!

List and understand them, THEN write the document

Page 39: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 40

What is a System Requirements What is a System Requirements Specification (SRS)?Specification (SRS)?

A detailed description detailed description of the features and functions of a product, incorporating: End-user and sponsor input Developer input Management input Standards and processes

Your documented commitmentcommitment to deliverYour contractcontract with your stakeholders that

identifies WHAT you will create

(See SRSs from prior teams on class website.)

Page 40: CSE Senior Design I Building a Plan Instructor: Mike ODell Several of the slides in this module are a modification and amplification of slides prepared

2

CSE 4316 41

What is a Project Charter?What is a Project Charter?A document that summarizes the project

Defines the scope and objectives of the project Delineates organizational relationships Delineates individual authority and responsibility Identifies key risks and plan to handle them Specifies dependencies on other organizations Describes the specific functions to be performed Lays out the master schedule for the project Documents cost and time estimates Document person-loading requirements/schedule Documents management approval of the details of

the project

(See Charter template and Charters from prior teams on class website.)