Download presentation
Presentation is loading. Please wait.
1
Software Planning Guidelines
Barry Boehm, USC CS 510
2
Outline Motivation Software Project Plans General Outline
Content of Sections
3
Problems With Computer System Acquisition and Use in U. S
Problems With Computer System Acquisition and Use in U.S. Government,
4
Software Life-Cycle Plans
5
Project Plans May Look Complicated, But They Aren’t!
6
1. Objectives (Why?) Software Product Objectives
Functions Performed Concept of Operation Expected User Benefits Development Plan Objectives Basis for Project Control Make Best Use of People, Resources Provide Evidence That Developers Know What They’re Doing
7
2. Milestones and Products (What? When?)
Overall Development Strategy Detailed Schedule of Deliverables Detailed Milestones and Schedules
8
2.1 Overall Development Strategy with the Incremental Commitment Model chart
Major Phases and Milestones Nature and Phasing of Prototypes Nature and Phasing of Development Increments Other Departures From “Waterfall” Model Top-Level Milestones Charts, Activity Networks
9
2.2. Detailed Schedule of Deliverables
Deliverable Items - Plans - Data - Specs - Equipment - Manuals - Facilities - Reports - Training Materials - Code - Manhours, etc. Nature of Deliverables - Name or Title - Date Due - Required Format - Completion Criteria Produced, Delivered, Received, Reviewed, Tested, --- - Pointers to Contract Requirements
10
2.3. Detailed Milestones and Schedules
More Detail Than Strategy Section Overall Order of Integration Intermediate Test Stages Synchronization With Support S/W, H/W But Less Detail Than Full (Test) Plan Integration Order-of-Build Individual Test Descriptions Requirements/Test Matrices
11
3. Responsibilities (Who? Where?)
3.1 Organizational Responsibilities 3.1.1 Global Org. Charts 3.1.2 Org. Commitment Responsibilities 3.2 Development Responsibilities 3.2.1 Development Org. Charts 3.2.2 Staffing 3.2.3 Training Internal External
12
Life Cycle Plan - Basic Activities (I)
13
Life Cycle Plan - Basic Activities (II)
14
4. Approach (How?) 4.1 Risk Management 4.2 Development Phases 4.3 Reviews 4.4 Documentation 4.5 Configuration Management 4.6 Quality Assurance 4.7 Facilities & Related Concerns
15
Review Sequence
16
These Objectives Drive the Size, Form and Content of the Documentation
Why Write Documents? To Stimulate Decisions To Record Decisions To Record Agreements To Facilitate Training These Objectives Drive the Size, Form and Content of the Documentation
17
Configuration Management Purview
18
4.5 Configuration Management
Configuration Identification Systematically Identify Each Product Component Types, Hierarchy, Media, Versions Change Control Controlled Mechanism for Product Changes Forms, Procedures, Approval Authority Configuration Status Accounting Keep Accurate Track of Product Status Forms, Logs, Files, Reports Configuration Audits Verify Product Integrity Project Library Management Controlled Product Storage & Distribution
19
4.6 Quality Assurance Functions
Documentation and Code Standards Standards Compliance Monitoring Plans & Policies Compliance Monitoring Review & Test Monitoring Corrective Action Monitoring
20
Facilities Plans Form: Similar to Project Plans Candidate Contents
Computer Rooms, Flooring, Power, Air Conditioning Computers, Peripherals, Supplies Data Communications Office Space, Furniture, Utilities, etc. Transportation, Parking, Employee Services
21
Related Concerns Support Services Support Software
Customer Furnished Facilities, etc. Security Subcontractor Operations Commercial Software
22
5. Resources 5.1 Work Breakdown Structure (WBS) 5.2 Budgets 5.3 Status Monitoring & Control
23
The Work Breakdown Structure (WBS)
Defines Project Jobs to be Done Associates Budgets With Work Packages Serves as Basis for Cost-vs.-Progress Monitoring and Control
24
Status Monitoring & Control
Progress: Milestones Budget: Expenditure Reports Schedule: PERT, Gantt Charts Combinations Earned Value Summary Task Planning Sheet Budget-Schedule-Milestone
25
6. Assumptions Conditions Necessary to Meet Plans Examples
Otherwise, Renegotiate Examples Requirements Stability Schedule Stability Continuity of Funding Customer-Furnished Items On-Schedule, Acceptable Customer Response Time on Approvals
26
Simple Software Development PERT Chart
Design,4 Document, 2 Requirements,3 Finish Code, 4 Start Test data,2 Product test, 4 Test plan,2 Test drivers, 6
27
PERT chart development step1 and step2
Document, 2 Finish Product test, 4
28
PERT chart development step3
Document, 2 Finish Code, 4 Product test, 4
29
PERT chart development step4
Design,4 Document, 2 Finish Code, 4 Test data,2 Product test, 4 Test drivers, 6
30
PERT chart development steps 5, 3, 4, 5, 3, 4, 5
Design,4 Document, 2 Requirements,3 Finish Code, 4 Test data,2 Product test, 4 Test plan,2 Test drivers, 6
31
Critical Path Procedure
1. Label the Start node (0, 0) 2. For all unlabeled nodes N whose predecessors are all labeled nodes, compute the earliest possible start time as the latest finishing time of all its predecessor nodes where P(N) is the set of predecessor nodes of N Compute the corresponding finish time FN=SN+DN ,where DN is the duration of activity N, Label the node N as (SN, FN) 3. Repeat Step 2 until no unlabeled nodes remain.
32
Critical path determination after two iterations
(3, 7) (0, 3) Design,4 Document, 2 Requirements,3 Finish Code, 4 (0, 0) (3, 5) Start Test data,2 Product test, 4 (0, 2) Test plan,2 (2, 8) Test drivers, 6
33
Critical path determination after five iterations
(7, 9) (3, 7) (0, 3) Design,4 Document, 2 (15, 15) (7, 11) (3, 7) Requirements,3 Finish Code, 4 (13, 15) (3, 5) (0, 0) (11, 15) (7, 11) (15, 15) Start (0, 3) Test data,2 Product test, 4 (0, 0) (0, 2) (9, 11) (11, 15) Test plan,2 (2, 8) Test drivers, 6 (3, 5) (5, 11)
34
Latest-Start Procedure
1. Underlabel the Finish node F with its start and finish times as determined from the critical-path procedure, that is (S’F, F’F) = ( SF, FF) 2. For all non-underlabeled nodes N whose successors are all underlabeled nodes, compute the latest possible finish time as the earliest starting time of all its successor nodes. where S(N) is the set of successor nodes of N. Compute the corresponding latest-start time S’N =F’N - DN where DN is the duration of activity N, Underlabel the node as (S’N, F’N) ,Compute the slack time for the activity as LN =S’N - SN (or LN =F’N - FN) 3. Repeat Step 2 until no non-underlabeled nodes remain.
35
Shortening the Critical Path
(6, 8) (3, 6) (0, 3) Design,3 Document, 2 (12, 12) (6, 8) Requirements,3 Finish Code, 2 (3, 5) (0, 0) (8, 12) Start Test data,2 Product test, 4 (0, 2) Test plan,2 (2, 8) Test drivers, 6
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.