CSE Senior Design I Building a Plan Instructor
CSE Senior Design I Building a Plan Instructor: Vassilis Athitsos 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. They were originally for use with A Discipline for Software Engineering (Watts S. Humphrey), sponsored by the U. S. Department of Defense. Original slides are copyright SEI; modifications are Copyright © 2002, T. Rethard. Further modifications by Mike O’Dell and Vassilis Athitsos. All Rights Reserved.
1 Why Plan? Ø A plan helps you focus on the goal § “Begin with the end in mind. 1” Ø A plan let’s you estimate job completion Ø A plan helps you track progress Ø A plan gives you milestones that provide a sense of accomplishment along the way Ø A plan helps you identify problems early Ø A plan establishes commitments for the team and each individual on it 1 Stephen R. Covey, The Seven Habits of Highly Effective People CSE 4316 2
1 What is a Plan? Ø An agreement by the team on the cost and schedule for a specified job Ø A structure for organizing the work Ø A framework for obtaining the required resources (people, funds, etc. ) Ø A record of what was initially assumed and committed Ø It’s a CONTRACT! CONTRACT CSE 4316 3
1 Components of a Plan Ø A Lifecycle 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? CSE 4316 4
1 Selecting the Correct Model Ø Discussion: Case Study 7. 1 – Ineffective Lifecycle Model Selection § § CSE 4316 Why was the model selected? What went wrong? What was the result? What might have been done differently? 5
1 Representative Lifecycle Models Ø 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 combination of above CSE 4316 6
1 Pure Waterfall Ø Phased deliverables Ø Document-driven Ø Discontinuous, inflexible phases Ø All planning is done up front Ø Good for: ü Well-defined, complex projects ü Quality dominates cost and schedule Ø Not so good for: ü Projects where details cannot be completely specified up front ü Rapid development projects CSE 4316 7
1 Pure Waterfall Concept & Planning Pass Fail Requirements Analysis Pass Fail Architectural Design Pass Fail Detailed Design Pass Fail Implementation & Debugging Pass CSE 4316 Fail System Validation 8
1 Build (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 CSE 4316 9
1 Spiral Ø 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 § CSE 4316 Complex 10
1 Spiral Start CSE 4316 (Diagram from “Spiral Development: Experience, Principles and Refinements”, workshop paper by Barry Boehm) 11
1 Modified Waterfalls Ø Waterfall with Overlapping Phases (Sashimi) § Like pure waterfall, but phases can overlap Concept & Planning Requirements Analysis Architectural Design Detailed Design Implementation & Debugging System Validation CSE 4316 12
1 Modified Waterfalls Ø Waterfall with Subprojects Concept & Planning Requirements Analysis § Begin detailed design on subprojects before overall architectural design is complete Architectural Design Detailed Design Implementation & Debugging Detailed Design Implementation & Debugging Sub. System Validation CSE 4316 Sub. System Validation 13
1 Modified Waterfalls Ø Waterfall with Risk Reduction Concept & Planning Requirements Analysis § Spiral for requirements and architectural design phases Architectural Design Ø Generally, only for very large and complex projects CSE 4316 Detailed Design Implementation & Debugging System Validation 14
1 Evolutionary (or Rapid) Prototyping Ø Especially useful when requirements are changing rapidly, or cannot be committed Ø Process: § Design initial prototype of external/prominent aspects § Review with customer § Iterate and refine until “good enough” Ø Advantages ü Keeps customer involved in process ü Low overhead Ø Disadvantages ü Impossible to project schedule/budget ü Can evolve to code-and-fix CSE 4316 15
1 Staged 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) CSE 4316 16
1 Hybrid Staged Delivery Model Concept & Planning Design-to-Schedule with risk reduction (our model, approx. ) Requirements Analysis Architectural Design High Priority: Detailed design, implement and test Medium High Priority: Detailed design, implement and test Release Medium Priority: Detailed design, implement and test Medium Low Priority: Detailed design, implement and test Run out of time and money CSE 4316 Low Priority: Detailed design, implement and test 17
1 Choosing 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? CSE 4316 18
1 Tools/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 effort üIdentify longest/critical path(s) CSE 4316 19
1 Tools/Techniques to Help You (PERT Chart) CSE 4316 20
1 Tools/Techniques to Help You Ø Co. Mo (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. CSE 4316 21
1 Work Breakdown Structure Ø Breaks down the work to be done into specific, product-oriented manageable units Ø Allows development of a detailed plan § Basis for project cost and schedule Ø Enables assignment of responsibility § Provides basis for accountability of individuals Ø Defines independent work units – minimum interfacing with or dependency on other work units Ø Allows measurement of progress CSE 4316 22
1 Work Breakdown Structure WBS: Building a Bicycle CSE 4316 23
1 Milestone Tracking - GANTT Chart Display Using MS Project See Sample MS Project file on website. CSE 4316 24
1 High Quality Plans Ø Characteristics, as stated in the SEI text § § § § CSE 4316 Complete Readily accessible, even by the customer Clear Specific Precise Accurate Measurable 25
1 What’s makes a Good Plan? Ø Complete Product Specifications SRS…ADS/DDS Ø A clear Statement of Work TIMELINE § Size estimate and schedule Ø Schedule for critical Milestones MS PROJECT PLAN Ø A complete Work Breakdown Structure Ø The Processes/Procedures that you will PROJECT follow CHARTER Ø Identification of your Stakeholders CSE 4316 26
1 What’s makes a Good 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 CSE 4316 27
1 Product Specifications Ø Provide the details of what will be done: § Requirements (SRS) § Architecture (ADS) § Detailed Design Documentation (more of the how at this stage) Ø Provides the basis for system testing and acceptance CSE 4316 28
1 Milestones Ø Driven 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! CSE 4316 29
1 Processes/Procedures Ø Defines how 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 CSE 4316 30
1 Stakeholders Ø Any person or organization that has a vested interest in the success of you project § § CSE 4316 Your customer or sponsor Your company’s owners/stockholders Your management 31
- Slides: 31