0% found this document useful (0 votes)
63 views

Planning A Software Project

The document discusses planning a software project. It covers background, process planning, effort estimation, schedule and resource estimation, quality planning, risk management, and configuration management. Project planning aims to create a plan to meet commitments by defining processes, estimating effort, scheduling milestones, and accounting for quality, risks, and measurements. Effective project planning through processes like estimation and scheduling is key to successful project execution and completion.

Uploaded by

limenih
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views

Planning A Software Project

The document discusses planning a software project. It covers background, process planning, effort estimation, schedule and resource estimation, quality planning, risk management, and configuration management. Project planning aims to create a plan to meet commitments by defining processes, estimating effort, scheduling milestones, and accounting for quality, risks, and measurements. Effective project planning through processes like estimation and scheduling is key to successful project execution and completion.

Uploaded by

limenih
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 66

Planning a Software

Project
Agenda
 Background
 Process planning
 Effort estimation
 Schedule and resource estimation
 Quality Planning
 Risk management
 Configuration Management
 Project monitoring plans

2
Software Project

 Goal: Build a software system to meet


commitments on cost, schedule, quality
 Worldwide - many projects fail
 one-third are runaways with cost or schedule
overrun of more than 125%

3
Project Failures
 Major reasons for project runaways
 unclear objectives
 bad planning
 no project management methodology
 new technology
 insufficient staff
 All of these relate to project management
 Effective project management is key to successfully
executing a project
4
Why improve PM?

 Better predictability leading to commitments


that can be met
 Lower cost through reduced rework, better
resource mgmt, better planning,..
 Improved quality through proper quality
planning and control
 Better control through change control, CM,
monitoring etc.
5
Why improve PM ….

 Better visibility into project health and


state leading to timely intervention
 Better handling of risks reducing the
chances of failure
 All this leads to higher customer
satisfaction
 And self and organization improvement

6
Two Dimensions in project
execution

7
Process-based Project
Execution

 Small project both engg and PM can be


done informally
 Large projects require formality
 Formality: well defined processes used for
each task; measurements used to control
 Here we focus on processes for PM only

8
The Project Mgmt Process

 Has three phases - planning, monitoring


and control, and closure
 Planning is done before the main
engineering LC and closure after the LC
 Monitoring phase is in parallel with LC

9
Project Planning
 Basic objective: To create a plan to meet
the commitments of the project, I.e. create
a path that, if followed, will lead to a
successful project
 Planning involves defining the LC process to
be followed, estimates, detailed schedule,
plan for quality, etc.
 Main output - a project management plan
and the project schedule
10
Key Planning Tasks
 Define suitable processes for executing the project
 Estimate effort
 Define project milestones and create a schedule
 Define quality objectives and a quality plan
 Identify risks and make plans to mitigate them
 Define measurement plan, project-tracking
procedures, training plan, team organization, etc.

11
Process Planning
 Plan how the project will be executed, I.e.
the process to be followed
 Process will decide the tasks, their
ordering, milestones
 Hence process planning is an important
project planning task
 Should plan for LC and PM processes as
well as supporting processes

12
Life Cycle Process
 Various LC models - waterfall, iterative,
prototyping; diff models suit different projects
 During planning can select the model that is
best for the project
 This gives the overall process which has to be
fine-tuned to suit the project needs
 Usually done by process tailoring - changing the
process to suit the project
 Tailoring finally results in adding, deleting,
modifying some process steps

13
Effort Estimation
 For a project total cost and duration has
to be committed in start
 Requires effort estimation, often in terms
of person-months
 Effort estimate is key to planning -
schedule, cost, resources depend on it
 Many problems in project execution stem
from improper estimation

14
Estimation..

 No easy way, no silver bullet


 Estimation accuracy can improve with more
information about the project
 Early estimates are more likely to be
inaccurate than later
 More uncertainties in the start
 With more info, estimation becomes easier

15
Estimation accuracy

16
Effort Estimation Models..
 A model tries to determine the effort
estimate from some parameter values
 A model also requires input about the
project, and cannot work in vacuum
 So to apply a model, we should be able to
extract properties about the system
 Two types of models - top-down and
bottom-up

17
Effort Estimation Models

Knowledge about
SW project

Effort Estimate

Extract Estimation Model

Values of some
characteristics

18
Top-down Estimation
 First determines the total effort, then effort for
components
 Usually works with overall size
 One method is to see estimate as a function of
effort; the common function used is
Effort = a * size b
 E is in person-months,
 Constants a and b determined through
regression analysis of past project data

19
Top down estimation
 Can also estimate from size and productivity
 Get the estimate of the total size of the software
 Estimate project productivity using past data and project
characteristics
 Obtain the overall effort estimate from productivity and
size estimates
 Effort distribution data from similar project are used
to estimate effort for different phases

20
Bottom-up Estimation

 Effort for components and phases first


estimated, then the total
 Can use activity based costing - all
activities enumerated and then each
activity estimated separately
 Can group activities into classes - their
effort estimate from past data

21
An Estimation Procedure
 Identify programs in the system and classify
them as simple, medium, or complex (S/M/C)
 Define the average coding effort for S/M/C
 Get the total coding effort.
 Use the effort distribution in similar projects to
estimate effort for other tasks and total
 Refine the estimates based on project specific
factors
22
Scheduling and Staffing
Project Schedule

 A project Schedule is at two levels -


overall schedule and detailed schedule
 Overall schedule comprises of major
milestones and final date
 Detailed schedule is the assignment of
lowest level tasks to resources

24
Overall Schedule

 Depends heavily on the effort estimate


 For an effort estimate, some flexibility
exists depending on resources assigned
 Eg a 56 PM project can be done in 8
months (7 people) or 7 months (8 people)
 Stretching a schedule is easy;
compressing is hard and expensive

25
Determining Overall
Schedule from past data
Effort in person-days

400

350

300
Schedule (Days)

250

200

150

100

50

0
0 200 400 600 800 1000 1200 1400 1600 1800

26
Determining Milestones

 With effort and overall schedule decided,


avg project resources are fixed
 Manpower ramp-up in a project decides the
milestones
 Manpower ramp-up in a project follows a
Rayleigh curve - like a normal curve
 In reality manpower build-up is a step
function
27
Manpower Ramp-up

PTS

Design Build Test

28
An Example Schedule
# Task Dur. Work (p- Start End
(days) days) Date Date
2 Project Init tasks 33 24 5/4 6/23

74 Training 95 49 5/8 9/29

104 Knowledge sharing 78 20 6/2 9/30

114 Elaboration iteration I 55 55 5/15 6/23

198 Construction iteration I 9 35 7/10 7/21

29
Detailed Scheduling

 To reach a milestone, many tasks have to be


performed
 Lowest level tasks - those that can be done
by a person (in less than 2-3 days)
 Scheduling - decide the tasks, assign them
while preserving high-level schedule
 Is an iterative task - if cannot “fit” all tasks,
must revisit high level schedule
30
Detailed Scheduling
 Detailed schedule not done completely in
the start - it evolves
 Can use tools (MS Project) for keeping it
 Detailed Schedule is the most live
document for managing the project
 Any activity to be done must get reflected
in the detailed schedule

31
An example task in detail
schedule

Module Act Code Task Duration Effort

History PUT Unit test # 1 day 7 hrs


17

St. date End date %comp Depend. Resource

7/18 7/18 0% Nil SB

32
Detail schedule

 Each task has name, date, duration,


resource etc assigned
 % done is for tracking (tools use it)
 The detailed schedule has to be consistent
with milestones
 Tasks are sub-activities of milestone level
activities, so effort should add up, total
schedule should be preserved

33
Team Structure

 To assign tasks in detailed schedule, need


to have a clear team structure
 Hierarchic team org is most common
 Project manager has overall responsibility;
also does design etc.
 Has programmers and testers for executing
detailed tasks
 May have config controller, db manager, etc

34
Team structure..

 An alternative – democratic teams


 Can work for small teams; leadership rotates
 Another one used for products
 A dev team led by a dev mgr, a test team led
by test mgr, and a prog. Mgmt team
 All three report to a product mgr
 Allows specialization of tasks and separate
career ladders for devs, tests, PMs

35
SCM process and planning
 Have discussed SCM(software configuration
management) process earlier
 During planning, the SCM activities are planned
along with who will perform them
 Includes defining CM items, naming scheme,
directory structure, access restrictions, change
control, versioning, release procedure etc.

36
Quality Planning

 Delivering high quality is a basic goal


 Quality can be defined in many ways
 Current industry standard - delivered defect
density (e.g. #defects/KLOC)
 Defect - something that causes software to
behave in an inconsistent manner
 Aim of a project - deliver software with low
delivered defect density
37
Defect Injection and
Removal

 Software development is labor intensive


 Defects are injected at any stage
 As quality goal is low delivered defect
density, these defects have to be removed
 Done primarily by quality control (QC)
activities of reviews and testing

38
Defect Injection and
Removal

Defect Injection

Development
Process

Req.
R Design R Coding R UT IT/ST AT
Analysis

Defect Removal

39
Approaches to Quality
Management

 Ad hoc - some testing, some reviews done


as and when needed
 Procedural - defined procedures are
followed in a project
 Quantitative - defect data analysis done to
manage the quality process

40
Procedural Approach

 A quality plan defines what QC tasks will


be undertaken and when
 Main QC tasks - reviews and testing
 Guidelines and procedures for reviews and
testing are provided
 During project execution, adherence to
the plan and procedures ensured

41
Quantitative Approach

 Goes beyond asking “has the procedure been


executed”
 Analyzes defect data to make judgements
about quality
 Past data is very important
 Key parameters - defect injection and
removal rates, defect removal efficiency
(DRE)
42
Quality Plan

 The quality plan drives the quality


activities in the project
 Level of plan depends on models available
 Must define QC tasks that have to be
performed in the project
 Can specify defect levels for each QC
tasks (if models and data available)

43
Risk Management

 Any project can fail - reasons can be technical,


managerial, etc.
 Project management aims to tackle the project
management aspect
 Engineering life cycles aim to tackle the
engineering issues
 A project may fail due to unforeseen events -
risk management aims to tackle this
44
Risk Management

 Risk: any condition or event whose


occurrence is not certain but which can
cause the project to fail
 Aim of risk management: minimize the
effect of risks on a project

45
Risk Management Tasks

RISK IDENTIFICATION

RISK ASSESSMENT RISK ANALYSIS

RISK PRIORITIZATION
RISK
MANAGEMENT RISK MANAGEMENT
PLANNING

RISK CONTROL RISK RESOLUTION

RISK MONITORING

46
Risk Identification

 To identify possible risks to a project, i.e.


to those events that might occur and
which might cause the project to fail
 No “algorithm” possible, done by “what
ifs”, checklists, past experience
 Can have a list of “top 10” risks that
projects have seen in past

47
Top Risk Examples

 Shortage of technically trained manpower


 Too many requirement changes
 Unclear requirements
 Not meeting performance requirements
 Unrealistic schedules
 Insufficient business knowledge
 Working on new technology
48
Risk Prioritization

 The number of risks might be large


 Must prioritize them to focus attention on
the “high risk” areas
 For prioritization, impact of each risk must
be understood
 In addition, probability of the risk
occurring should also be understood

49
Risk Prioritization ...

 Risk exposure (RE) = probability of risk


occurring * risk impact
 RE is the expected value of loss for a risk
 Prioritization can be done based on risk
exposure value
 Plans can be made to handle high RE risks

50
A Simple approach to Risk
Prioritization

 Classify risk occurrence probabilities as:


Low, Medium, High
 Classify risk impact as: Low, Medium, High
 Identify those that are HH, or HM/MH
 Focus on these for risk mitigation
 Will work for most small and medium sized
projects

51
Risk Control

 Can the risk be avoided?


 E.g. if new hardware is a risk, it can be
avoided by working with proven hardware
 For others, risk mitigation steps need to
be planned and executed
 Actions taken in the project such that if the
risk materializes, its impact is minimal
 Involves extra cost

52
Risk Mitigation Examples

 Too many requirement changes


 Convince client that changes in requirements
will have an impact on the schedule
 Define a procedure for requirement changes
 Maintain cumulative impact of changes and
make it visible to client
 Negotiate payment on actual effort.

53
Examples ...

 Manpower attrition
 Ensure that multiple resources are assigned
on key project areas
 Have team building sessions
 Rotate jobs among team members
 Keep backup resources in the project
 Maintain documentation of individual’s work
 Follow the CM process and guidelines strictly

54
Examples ...

 Unrealistic schedules
 Negotiate for better schedule
 Identify parallel tasks
 Have resources ready early
 Identify areas that can be automated
 If the critical path is not within the schedule,
negotiate with the client
 Negotiate payment on actual effort

55
Risk Mitigation Plan

 Risk mitigation involves steps that are to be


performed (hence has extra cost)
 It is not a paper plan - these steps should
be scheduled and executed
 These are different from the steps one
would take if the risk materializes - they are
performed only if needed
 Risks must be revisited periodically
56
 A plan is a mere document that can guide
 It must be executed
 To ensure execution goes as per plan, it
must be monitored and controlled
 Monitoring requires measurements
 And methods for interpreting them
 Monitoring plan has to plan for all the
tasks related to monitoring
57
Measurements
 Must plan for measurements in a project
 Without planning, measurements will not be
done
 Main measurements – effort, size, schedule, and
defects
 Effort – as this is the main resource; often tracked
through effort reporting tools
 Defects – as they determine quality; often defect
logging and tracking systems used
 During planning – what will be measured, how,
tool support, and data management

58
Project Tracking

 Goal: To get visibility in project execution


so corrective actions can be taken when
needed to ensure project succeeds
 Diff types of monitoring done at projects;
measurements provide data for it

59
Tracking…
 Activity-level monitoring
 Each activity in detailed schd is getting done
 Often done daily by managers
 A task done marked 100%; tools can determine
status of higher level tasks
 Status reports
 Generally done weekly to take stock
 Summary of activities completed, pending
 Issues to be resolved

60
Tracking…
 Milestone analysis
 A bigger review at milestones
 Actual vs estimated for effort and sched is
done
 Risks are revisited
 Changes to product and their impact may be
analyzed
 Cost-schedule milestone graph is another
way of doing this
61
Cost-schedule milestone graph

62
Project Management Plan
 The project management plan (PMP) contains
outcome of all planning activities - focuses on
overall project management
 Besides PMP, a project schedule is needed
 Reflects what activities get done in the project
 Microsoft project (MSP) can be used for this
 Based on project planning; is essential for day-to-
day management
 Does not replace PMP !

63
PMP Structure - Example

 Project overview - customer, start and


end date, overall effort, overall value,
main contact persons, project milestones,
development environment..
 Project planning - process and tailoring,
requirements change mgmt, effort
estimation, quality goals and plan, risk
management plan, ..
64
PMP Example ...

 Project tracking - data collection, analysis


frequency, escalation procedures, status
reporting, customer complaints, …
 Project team, its organization, roles and
responsibility, …

65
Project Planning -
Summary
 Project planning forms the foundation of
project management
 Key aspects: effort and schedule estimation,
quality planning, risk mgmt., …
 Outputs of all can be documented in a PMP,
which carries all relevant info about project
 Besides PMP, a detailed project schedule
maintains tasks to be done in the project

66

You might also like