Title: Software Project Planning
1Software Project Planning
2Management Activities
- Planning (vision, goals)
- Organizing (division of tasks, delegation)
- Staffing (recruit, train, retain, terminate)
- Directing (influence, motivate)
- Controlling (corrective action, proactive)
The universality of Management.
3(No Transcript)
4WWWWWHHW
- Who
- What
- When
- Where
- Why
- How
- How Much
- With What
5Software managers problem
6Management Styles
- Theory-X (Fiegenbaum, Directive)
- Theory-Y (Maslow, Motivational)
- Theory-Z (Deming, Quality)
- Theory-W (Boehm, Negotiation)
7Organizational Styles
- Line and Staff
- Matrix
- Team Organizations
- Surgical
- SWAT
- Theater
8Why Plan?
No one plans to fail, they just fail to
plan. Plan the flight, fly the plan.
Develop Goals Identify the endstate Anticipate
problems Create alternative courses of
action Define strategy Set policies and procedures
9Planning Making a schedule
- Activity Networks -- PERT/CPM
- Gantt Chart
- Tabular Notation
- Activity networks show
- Activities (Task Duration Resources)
- Milestones (No Duration, No Resources)
10Critical Path Method
Activities
Activities referred to By their end-points, i.e.
activity 1-2
1
2
4
3
Events/Milestones
Durations
11Critical Path Method
Duration ( a 4m b)/6 aPessimistic Time
m..Most likely time bOptimistic time
ES early start, soonest an activity can
begin LS late start, latest time an activity
can begin EF early finish, earliest an activity
can finish LF late finish, latest an activity
can finish Slack difference between ES and LS,
if zero critical path
12CPM Example
2
2
4
4
3
1
5
4
7
3
3
Make forward pass, ES EF Make backward pass, LS
LF
13CPM for Course2000
14Decision Making
- Making decisions based on estimated value
Decision point
Course of action
Chance event
Annotate courses of action with probability,
cost Compute net value and estimated value
15Example, take a programming course
No (-0)
60 Bonus p0.75
NV 60-35 25
Take Course?
Yes (-35)
35 Bonus p0.20
NV 35-350
0 Bonus p0.05
NV0-35-35
Should I take a programming course Costing 35?
If do take, there is a 75 Chance you will get a
60 bonus, a 20 Chance you will get a 35 bonus
and A 5 chance you will get nothing.
EV 25(.75) 0(.2)-35(.05) EV 17
16Practice
You are a project manager and the Rational
salesman tells you that if you will buy the
Rational Suite of tools that it pay for itself in
just a few months. The software will cost you
9600. You talk to other companies and find that
there is a 50 chance that the software will cut
defect rework costs by 32000. There is a 20
chance that there will be no improvement and a
30 chance that negative productivity will
increase project costs by 20000. Should you
buy this software package?
17RUP Project Plan in two parts
- High-Level SDP (AKA Phase Plan)
- Scopes overall project
- General layout of tasks and durations
- Not so accurate
- Iteration Plan
- Timeboxes next iteration
- Details tasks, milestones for next delivery
- Specifies what will be done over next timebox
18MIL-STD 498 SDP
- Scope
- 1.1 Identification (fully identify system to be
built) - 1.2 System Overview (purpose of system, dev
history) - 1.3 Document Overview (purpose of doc, security)
- References
- Overview of required work (where is project in
life cycle,constraints, acquisition/contract
info) - Plans for performing general software development
activities - 4.1 Software development process
- 4.2 General plans for software development
- 4.2.1 Software development methods (manual
and automated tools to be used) - 4.2.2 Standards for software products (code,
document) - 4.2.3 Reusable software products
- 4.2.3.1 Incorporating reusable software
products - 4.2.3.2 Developing reusable software
products - 4.2.4 Handling of critical requirements
- 4.2.4.1 Safety Assurance
- 4.2.4.2 Security Assurance
- 4.2.4.3 Privacy Assurance
- 4.2.4.4 Assurance of other critical
requirements
19MIL-STD-498 SDP
- Plans for performing detailed software
development activities - 5.1 Project planning and oversight
- 5.1.1 Software development planning (this
plan) - 5.1.2 CSCI test planning
- 5.1.3 System test planning
- 5.1.4 Software installation planning
- 5.1.5 Software transition planning
- 5.1.6 Following and updating plans, intervals
for management reviews - 5.2 Establishing a software development
environment - 5.2.1 Software engineering environment
- 5.2.2 Software test environment
- 5.2.3 Software development library
- 5.2.4 Software development files
- 5.2.5 Non-deliverable software
- 5.3 System requirements analysis
- 5.3.1 Analysis of user input
- 5.3.2 Operational concept
- 5.3.3 System requirements
- 5.4 System Design
20MIL-STD-498 SDP
5.7 Software Implementation and unit testing
5.7.1 Software Implementation 5.7.2
Preparing for unit testing 5.7.3 Performing
unit testing 5.7.4 Revision and retesting
5.7.5 Analyzing and recording test results
5.8 Unit integration and testing 5.8.1
Preparing for unit integration and testing
5.8.2 Performing unit integration and testing
5.8.3 Revision and retesting 5.8.4
Analyzing and recording unit integration and test
results 5.9 CSCI qualification testing
5.9.1 Independence in CSCI qualification testing
5.9.2 Testing on the target computer system
5.9.3 Preparing for CSCI qualification
testing 5.9.4 Dry run of CSCI qualification
testing 5.9.5 Performing CSCI qualification
testing 5.9.6 Revision and retesting
5.9.7 Analyzing and recording CSCI qualification
test results
21MIL-STD-498 SDP
5.10 CSCI/HWCI integration and testing
5.10.1 Preparing for CSCI/HWCI integration and
testing 5.10.2 Performing CSCI/HWCI
integration and testing 5.10.3 Revision
and testing 5.10.4 Analyzing and recording
CSCI/HWCI integration and test results 5.11
System qualification testing 5.11.1
Independence in system qualification testing
5.11.2 Testing on the target computer system
5.11.3 Preparing for system qualification
testing 5.11.4 Dry run of system
qualification testing 5.11.5 Performing
system qualification testing 5.11.6
Revision and retesting 5.11.7 Analyzing
and recording system qualification 5.12
Preparing for software use 5.12.1
Preparing the executable software 5.12.2
Preparing version descriptions for user sites
5.12.3 Preparing users manuals 5.12.4
Installation at user sites 5.13 Preparing for
software transition 5.13.1 Preparing the
executable software 5.13.2 Preparing
source files 5.13.3 Preparing version
descriptions for the support site 5.13.4
Preparing the as built CSCI design and other
software support information 5.13.5
Updating the system design description
5.13.6 Preparing support manuals 5.13.7
Transition to the designated support site
22MIL-STD-498 SDP
5.14 Software configuration management
5.14.1 Configuration identification 5.14.2
Configuration control 5.14.3 Configuration
status accounting 5.14.4 Configuration
audits 5.14.5 Packaging, storage, delivery
and handling 5.15 Software product evaluation
5.15.1 In-process and final software
evaluations 5.15.2 Software product
evaluation records, including items to be
recorded 5.15.3 Independence in software
product evaluation 5.16 Software quality
assurance 5.16.1 Software quality assurance
evaluations 5.16.2 Software quality
assurance records, including items to be
recorded 5.16.3 Independence in software
quality assurance 5.17 Corrective action
5.17.1 Problem/change reports 5.17.2
Corrective action system 5.18 Joint technical
and management reviews 5.18.1 Joint
technical reviews, including a proposed set of
views 5.18.2 Joint management reviews,
including a proposed set of views 5.19 Other
software development activities 5.19.1 Risk
management, including known risks and
corresponding strategies 5.19.2 Software
management indicators, including indicators to be
used 5.19.3 Security and privacy
5.19.4 Subcontractor management
23MIL-STD-498 SDP
- 5.19.5 Interface with software independent
verification and validation (IVV) agents - 5.19.6 Coordination with developers
- 5.19.7 Improvement of project processes
- 5.19.8 Other activities not covered
elsewhere in the plan - 6. Schedules and activity network (activity by
build, milestones, activity network) - 7. Project organization and resources
- 7.1 Project organization
- 7.2 Project resources
- 8. Notes
- Appendixes
24Infosys Project Plan
- Project Summary
- 1.1 Project Overview (contacts, customer
objectives, developer objectives) - 1.2 Commitments made to customer (milestones)
- 1.3 Assumptions
- 2. Project Planning
- 2.1 Project Process
- 2.1.1 Standard Process Followed
- 2.1.2 Tailoring NotesDeviations
- 2.1.3 Requirements Change Management
- 2.2 Effort Estimation (basis, module
details, build effort) - 2.3 Development Environment
- 2.4 Tools
- 2.5 Training Plan (Technical, Domain,
Process) - 2.6 Quality Plan (goals, reviews, strategy)
- 2.7 Milestones
- 2.8 Risk Management
- Project Tracking
- 3.1 Task Tracking
- 3.2 Issues Tracking
25Infosys Project Plan
- TeamWho, What, and How
- 4.1 Project Organization
- 4.2 Project Team Members
- 4.3 Roles and Responsibilities