Software Project Planning
Software Project Planning
1. Introduction 3. Schedule
a) Objectives a) Work Breakdown
b) Major Functions Structure
c) Performance Issues b) Task Network
d) Management and Representation
Technical Constraints c) Gantt Chart
Representation
2. Project estimates d) PERT Chart
a) Historical Data Used Representation
b) Estimation Techniques 4. Project resources
Used
c) Effort, Resource, Cost, a) People
and Project Duration b) Hardware and Software
Estimates c) Special Resources
The SPMP Document of Project Planning
7. Project tracking and
5. Staff organization control plan
a) Team Structure a) Metrics to be tracked
b) Management Reporting b) Tracking plan
c) Control plan
6. Risk management plan
a) Risk Analysis 8. Miscellaneous plans
b) Risk Identification a) Process Tailoring
c) Risk Estimation b) Quality Assurance Plan
d) Risk Abatement c) Configuration
Procedures Management Plan
d) Validation and
Verification
e) System Testing Plan
f) Delivery, Installation,
and Maintenance Plan
Project Size Estimation Metrics
Inquiries
Other
ILF applications
Inputs
EIF
User
Outputs ILF: Internal logical files
System EIF: External interfaces
UFP ∑∑ Z ij wij
i1 J 1
Where i indicate the row and j indicates the column of Table 1
Wij : It is the entry of the ith row and jth column of the table 1
Zij : It is the count of the number of functional units of Type i that
have been classified as having the complexity corresponding to
column j.
Step 3: Refine UFP based on complexity of
the overall project
FP = UFP * CAF
• Compartmentalization
• The project must be compartmentalized into a number of
manageable activities, actions, & tasks; both the product &
process are decomposed
• Interdependency
• The interdependency of each compartmentalized activity,
action, or task must be determined
• Some task must occur in sequence while others can occur in
parallel
• Some actions or activities cannot commence until the work
product produced by another is available
Basic Principles for Project Scheduling
• Time allocation
• Each task to be scheduled must be allocated some number of
work units
• In addition, each task must be assigned a start date and a
completion date that are a function of the interdependencies
• Start and stop dates are also established based on whether
work will be conducted on a full-time or part-time basis
• Effort validation
• Every project has a defined number of people on the team
• As time allocation occurs, the project manager must be
ensure that no more than the allocated number of people
have been scheduled at any given time
Basic Principles for Project Scheduling
• Defined responsibilities
• Every task that is scheduled should be assigned to a specific
team member
• Defined outcomes
• Every task that is scheduled should have a defined outcome
for sw projects such as a work product or part of a work
product
• Work products are often combined in deliverables
• Defined milestones
• Every task or group of tasks should be associated with a
project milestone
• A milestone is accomplished when one or more work
products has been reviewed for quality and has been
approved
Task Network
• Qualitative approach
• Conduct periodic project status meetings in which each team
member reports progress and problem
• Evaluate the result of all reviews conducted throughout the
software engineering process
• Determine whether formal project milestones (i.e. diamond)
have been accomplished by the scheduled date
• Compare actual start date to planned start date for each
project task listed in the timeline chart
• Meet informally with the software engineering team to obtain
their subjective assessment of progress to date and problem
on the horizon
• Quantitative approach
• Use earned value analysis to assess progress quantitatively
Risk Management
What is risk ?
Tomorrow’s problems are today’s risks.
Potential Problems
Risk Management
Typical Software Risk
• Capers Jones has identified the top five risk factors
that threaten projects in different applications.
1. Dependencies on outside agencies or factors.
• Availability of trained, experienced persons
• Inter group dependencies
• Customer-Furnished items or information
• Internal & external subcontractor relationships
Risk Management
2. Requirement issues
Uncertain requirements
Wrong product
or
Right product badly
• Inadequate training
• Poor understanding of methods, tools, and
techniques
• Inadequate application domain experience
• New Technologies
• Ineffective, poorly documented or neglected
processes
Risk Management
5. Other risk categories
• Unavailability of adequate testing facilities
• Turnover of essential personnel
• Unachievable performance requirements
• Technical approaches that may not work
Risk Management
Risk Management Activities
Risk Identification
Risk Analysis
Risk
Assessment Risk Prioritization
Risk
Management Risk Management
Planning
Risk Control
Risk Monitoring
Fig. 9: Risk Management
Activities Risk Resolution
Risk Management
Risk Assessment
Identification of risks