Unit No 4 Slides Full
Unit No 4 Slides Full
Unit No 4 Slides Full
Course Outline:
• The project turn into chaos if proper management controls are not
imposed.
• Proper management controls and checkpoints are required for
effective project monitoring.
To look into the future, identify the activities that need to be done to
complete the project successfully, and plan the scheduling and
resource allocation for these activities.
Heuristic Technique
Based on making educated guess of the project parameters using past experience.
• Expert Judgement
• Delphi Technique
Planning a Software Project(contd.)
Project Estimation Techniques:
Expert may not have experience and knowledge of all aspects of a project.
Planning a Software Project(contd.)
Project Estimation Techniques:
Empirical Estimation Techniques
• Delphi Cost Estimation
Team – comprising of a group of experts and coordinator.
Coordinator provides each estimator with a copy of SRS and a form for
recording their cost estimate.
Estimator completes their estimates anonymously.
Coordinator prepares and distributes a summary of responses of estimators,
and include any unusual rationale notes by any of the estimators.
No discussion among the estimator is allowed.
The process repeats.
Planning a Software Project(contd.)
Heuristic Technique
Analytical Estimation Technique
Planning a Software Project(contd.)
Project Estimation Techniques:
Heuristic Technique
Project parameters can be modelled using a mathematical expression.
Heuristic Technique
- Cost Estimation
- Schedule and Milestone Determination
- Personnel Plan
- Software Configuration Management Plans
- Software Quality Assurance Plans
- Project Monitoring Plans
- Risk Management
Planning a Software Project(contd.)
The major issues the project plan addresses are:
- Cost Estimation
- Schedule and Milestone Determination
- Personnel Plan
- Software Configuration Management Plans
- Software Quality Assurance Plans
- Project Monitoring Plans
- Risk Management
Planning a Software Project (contd.):
Cost Estimation
Heuristic Technique of project parameter estimation.
Basic idea of having a model or procedure for cost estimation is that it reduces the
problem of estimation to estimating or determining the value of the “key
parameters” that characterize the project, based on which the cost can be estimated.
The primary factor that controls the cost is the SIZE of the project, i.e., the larger the
project, the greater the cost and resource requirements.
The other factors that affect the cost include programmer ability, experience of the
developers in the area, complexity of the project , and reliability requirements.
Planning a Software Project (contd.): Cost Estimation
Uncertainties in Cost Estimation:
• Single Variable Model – A Model makes use of a single basic variable to calculate all
others.
• Organic Mode
The team size required is adequately small.
The team members have a nominal experience regarding the problem.
The problem is well understood and has been solved in the past.
Example – Application Software
Planning a Software Project (contd.): COnstructive COst MOdel
[COCOMO]
• Embedded Mode
The software project that requiring the highest level of complexity, creativity and
experience requirement fall under this category.
Requires larger team size.
Developers need to be sufficiently experienced and creative to develop such a
complex models.
Example – System Programs
• Semi-detached Mode
Team size, experience, knowledge of the various programming environment lie in
between above two modes.
Comparatively less familiar and difficult to develop compared to organic ones.
Example – Utility Software
Planning a Software Project (contd.): COnstructive COst MOdel
[COCOMO]
Modes of Development
𝐸 = 𝑎 (𝐾𝐿𝑂𝐶)𝑏
Class of Project a b
Organic 2.4 1.05
Semi-detached 3.0 1.12
Embedded 3.6 1.20
Planning a Software Project (contd.): COnstructive COst MOdel
[COCOMO]
Model 1: Basic COCOMO Example
Assume that the size of an organic type software product has been estimated to be
32,000 lines of source code. Determine the effort required to develop the software
product
Class of Project a b
Organic 2.4 1.05
Semi-detached 3.0 1.12
Embedded 3.6 1.20
𝐸 = 𝑎 (𝐾𝐿𝑂𝐶)𝑏
= 2.4 (32)1.05
= 91 PM
Planning a Software Project (contd.): COnstructive COst MOdel
[COCOMO]
Person-Month Curve
Effort estimation is expressed in units of person-months (PM).
An effort of 100 PM does not imply that 100 persons should work for 1 month.
An effort of 100 PM does not imply that 1 person should be employed for 100 months.
Major shortcoming of both the Basic and Intermediate COCOMO models is that they
consider a software product as a single homogeneous entity.
It Uses different phase-sensitive effort multipliers for each cost driver attributes.
To obtain the percentage of total effort consumed in different phase, we will have to use
interpolation to get the appropriate percentage as the office automation system’s size is
3KLOC (i.e., more than 2 and less than 8KLOC).
Planning a Software Project (contd.): COnstructive COst MOdel
Top-Down Approach:
The percentage of total effort consumed in different phases are:
Phase Small (2KLOC) Office Automation Intermediate (8KLOC)
System (3KLOC)
Product Design 16 16.00 16
Detailed Design 26 25.83 25
Code & Unit Test 42 41.66 40
Integration & Test 16 16.50 19
The effort is somewhat super linear in the size of the software product. Thus, the effort
required to develop a product increases very rapidly with project size.
Planning a Software Project (contd.):
The present day software projects are much larger in size and reuse of existing
software to develop new products has become pervasive.
Most of the present day software is highly interactive and has elaborate graphical
user interface (GUI).
• Early Design
This supports estimation of cost at the architectural design stage.
Making estimates after the requirements are captured, during the early design stage.
• Post-Architectural Stage
This provides cost estimation during detailed design and coding stage.
Making estimates after the design is complete and coding has started.
Planning a Software Project (contd.): COnstructive COst Model - 2
Application Composition Estimation Model
• They are considered to be an OBJECT used to compute the OBJECT POINTS of the
application.
Effort is estimated as:
STEP 1: Estimate the number of screens, reports and 3GL components from an
analysis of the SRS.
STEP 2: Determine the complexity level of each screen and report, and rate
these as either SIMPLE, MEDIUM or DIFFICULT.
Add all the assigned complexity values for the object instances together – the Object Count.
Planning a Software Project (contd.): COnstructive COst Model - 2
STEP 4: Estimate percentage of reuse expected in the system. Then, evaluate New
Object Point Count (NOP).
𝑂𝑏𝑗𝑒𝑐𝑡 𝑃𝑜𝑖𝑛𝑡𝑠 100 − 𝑃𝑒𝑟𝑐𝑒𝑛𝑡𝑎𝑔𝑒 𝑜𝑓 𝑟𝑒𝑢𝑠𝑒
𝑁𝑂𝑃 =
100
• Post-Architectural Stage
STEP 4:
32 100 − 20
𝑁𝑂𝑃 = = 25.6 object points
100
Planning a Software Project (contd.): COnstructive COst Model - 2
Application Composition Estimation Model - Example
STEP 6:
𝑁𝑂𝑃 25.6
𝐸= = = 1.96 PM
𝑃𝑅𝑂𝐷 13
Planning a Software Project(contd.)
The major issues the project plan addresses are:
- Cost Estimation
- Schedule and Milestone Determination
- Personnel Plan
- Software Configuration Management Plans
- Software Quality Assurance Plans
- Project Monitoring Plans
- Risk Management
Planning a Software Project (contd.):
Project Schedule
The goal of schedule estimation is to determine the total duration of the project and
the duration of the different phases.
Various schedules are possible, depending on the number of resources (people) put
on the project.
The communication time increases with the square of the number of staff. That is
by increasing the staff for a project we may actually increase the time spent in
communication.
Once we have the estimates of the effort and time requirement for the different
phases, a schedule for the project can be prepared.
Planning a Software Project (contd.): Development Time
For the three classes of software products, the formulas for estimating the
development time based on the effort are give below:
𝐷 = 𝑎 (𝐸)𝑏
where, ‘D’ is the estimated development Time to develop the software, expressed in months,
‘E’ is initial effort in person-months,
‘a’ and ‘b’ are coefficients to be determined based on different classes of project.
Class of Project a b
Organic 2.5 0.38
Semi-detached 2.5 0.35
Embedded 2.5 0.32
Planning a Software Project (contd.): Development Time
Project Schedule vs Product Size
The development time is a sub-linear function of the size of the software product. Thus,
when the size of product increases by two times, the time to develop the product does
not double but rises moderately.
Planning a Software Project (contd.): Development Time
Example – 1:
Assume that the size of an organic type software product has been estimated to be
32,000 lines of source code. Assume that the average salary of software engineers be
Rs. 15,000/- per month. Determine the effort and cost required to develop the
software product and the nominal development time.
32,000 lines of source code = 32 KLOC
𝐾𝐿𝑂𝐶 200
𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑣𝑖𝑡𝑦 𝑃 = = = 0.1765 𝐾𝐿𝑂𝐶/𝑃𝑀 = 176 LOC/PM
𝐸 1133.12
Planning a Software Project (contd.): Project Schedule
Example:
• ABC Computers manufactures personal computers.
• It is about to design, manufacture, and market the ABC2019 and
ABC2020 computer.
Planning a Software Project (contd.): Project Schedule
Example:
• ABC Computers manufactures personal computers.
• It is about to design, manufacture, and market the ABC2019 and
ABC2020 computer.
Activity Description
A Prototype model design
B Purchase of materials
Manufacturing C Manufacture of prototype model
Activities D Revision of design
E Initial production run
F Staff training
Training Activities G Staff input on prototype models
H Sales training
Advertising Activities I Pre-production advertising campaign
J Post-redesign advertising campaign
Planning a Software Project (contd.): Project Schedule
Precedence Relationships Chart
Immediate Estimated
Activity Predecessor Completion Time
A None 90
B A 15
C B 5
D G 20
E D 21
F A 25
G C,F 14
H D 28
I A 30
J D,I 45
• PERT/CPM is used for scheduling activities such that the project’s completion
time is minimized.
Planning a Software Project (contd.): Project Schedule
• Management at ABC would like to schedule the activities so that the project is
completed in minimal time.
• The earliest finish times for each activity which will not alter this date.
• Activities with rigid schedule and activities that have slack in their schedules.
Planning a Software Project (contd.): Project Schedule
Earliest Start Time / Earliest Finish Time
110,124
0,90 90,115 115,129 129,149 177
149,177
A
A FF G
G D
D HH 194
90 25 14 20 28
EARLIEST FINISH
90,120 194
149,194
120,165
II JJ
30 45
Planning a Software Project (contd.): Project Schedule
Latest start time / Latest finish time
• Evaluate all the activities that immediately precede the finish node.
• The latest finish for such an activity is LF = Minimal Project Completion Time.
• The latest start for such an activity is LS = LF - Activity Duration.
• Evaluate the LF of all the nodes for which LS of all the immediate
successors has been determined.
• LF = Min LS of all its immediate successors.
• LS = LF - Activity duration.
• Repeat this process backward until all nodes have been evaluated.
Planning a Software Project (contd.): Project Schedule
Immediate Estimated
Activity Predecessor Completion Time
A None 90
• To learn about the effects of these delays, we calculate the SLACK TIME, and form the
CRITICAL PATH.
• Slack time is the amount of time an activity can be delayed without delaying the project
completion date, assuming no other delays are taking place in the project.
Slack Time = LS - ES = LF - EF
Planning a Software Project (contd.): Project Schedule
Immediate Estimated
Activity Predecessor Completion Time
A None 90
149,194
90,120
149,194
119,149
I J
I J
45
30
Planning a Software Project (contd.): Project Schedule
Slack Times
Activity LS - ES Slack
A 0 -0 0
B 95 - 90 5
C 110 - 105 5
D 119 - 119 0 Critical activities
E 173 - 149 24
must be rigidly
F 90 - 90 0
G 115 - 115 0 scheduled
H 166 - 149 17
I 119 - 90 29
J 149 - 149 0
Planning a Software Project (contd.): Project Schedule
Critical Path
• The critical path is a set of activities that have no slack, connecting the START
node with the FINISH node.
• The critical activities (activities with 0 slack) form at least one critical path in
the network.
• The sum of the completion times for the activities on the critical path is the
minimal completion time of the project.
Planning a Software Project (contd.): Project Schedule
Critical Path
90,105 105,110 149,170
95,110 B C 110,115 173,194 E
B C E
15 5 21
149,194
90,120
149,194
119,149
I J
I J
45
30
Planning a Software Project (contd.): Project Schedule
Possible Delays
• We observe two different types of delays:
• Single Delay
• Multiple Delays
• Under certain conditions the overall project completion time will be delayed.
Single Delay
CASE 1: A delay of a certain amount in a CRITICAL ACTIVITY, causes the entire project to be
delayed by the same amount.
CASE 2: A delay of a certain amount in a NON-CRITICAL ACTIVITY will delay the project by the
amount the delay exceeds the slack time. When the delay is less than the slack, the entire
project is not delayed.
Planning a Software Project (contd.): Project Schedule
Case 1 (Single Delay): Delay on Critical Activities
Activity D delayed by 10 days.
B C E
15 5 21
ES=129
DELAYED START=129+10 = 139
LS=129
A F G D H
90 25 14 20 28
A F G D H
90 25 14 20 28
I J
30 45
Planning a Software Project (contd.): Project Schedule
Case 2 (Single Delay): Delay on Non-Critical Activities
Activity C delayed by 02 days. SLACK TIME = 110 - 105 = 05
105,110 107,112
110,115 110,115
B C E
15 5 21
0, 90 90,115 115,129
0, 90 90,115 115,129
A F G D H
90 25 14 20 28
CASE 2: A delay of a certain amount in activities on the SAME PATH and SEPARATED BY CRITICAL
ACTIVITIES, the entire project is not delayed.
CASE 3: A delay of a certain amount in activities on the SAME PATH and not SEPARATED BY
CRITICAL ACTIVITIES, the entire project will be delayed.
Planning a Software Project (contd.): Project Schedule
Case 1 (Multiple Delays): Activities on Different Paths
ES=149
DELAYED START=149+15=164
B C LS=173 E 149,170
173,194
15 5 21
A F G D H
90 25 14 20 28
Activity E and I are each delayed 15 days.
THE PROJECT COMPLETION TIME IS NOT DELAYED
90,120
I 119,149 J
149,194
ES=90 30 45 149,194
DELAYED START=90+15 =105
LS =119
Planning a Software Project (contd.): Project Schedule
Case 2 (Multiple Delays): Activities are on the Same Path, separated by Critical Activities
ES=90 ES=149
DELAYED START =94 DELAYED START=149+15 =164
LS =95 LS =173
105,110
90,105 B C 149,170 E
110,115
95,110 173,194
15 5 21
90,115
90,115 115,129
F G 115,129 D H
A
90 25 14 20 28
Activity B is delayed 4 days, activity E is delayed 15 days
THE PROJECT COMPLETION TIME IS NOT DELAYED
I J
30 45
Planning a Software Project (contd.): Project Schedule
Case 3 (Multiple Delays): Activities are on the Same Path, not separated by Critical Activities
The estimated time is better described by a probability distribution than by a single estimate.
2) Most Likely Time (tm): It assumes that things go in normal way with few setbacks.
3) Pessimistic Time (tp): The maximum possible time if everything go wrong & abnormal situations prevailed.
However, major catastrophes such as earthquakes, labor troubles, etc. are not taken into account.
Expected time (mean time) for each activity can be approximated using the weighted average i.e.
Gantt Charts
• Gantt charts are used as a tool to Monitor and Control the project progress.
J
Planning a Software Project (contd.): Project Schedule
• Gantt chart can be used as a visual aid for tracking the progress of project
activities.
• The manager can easily see if the project is progressing on schedule (with
respect to the earliest possible completion times).
Planning a Software Project (contd.): Project Schedule
90 Immediate Estimated
Activity Predecessor Completion Time
A 15 A None 90
B A 15
B C B 5
5 D G 20
194 E D 21
C 20 F A 25
D
The shaded bars represent G
H
C,F
D
14
28
E
completed work BY DAY 135. 21 194 I
J
A
D,I
30
45
25
F Activity LS - ES Slack
14 A 0 -0 0
G B 95 - 90 5
28 C 110 - 105 5
H Do not conclude that the D 119 - 119 0
30
project is behind schedule. E
F
173 - 149
90 - 90
24
0
I 45 G 115 - 115 0
H 166 - 149 17
J Activity “I” has a slack and I 119 - 90 29
therefore can be delayed!!! J 149 - 149 0
135
Planning a Software Project(contd.)
The major issues the project plan addresses are:
- Cost Estimation
- Schedule and Milestone Determination
- Personnel Plan
- Software Configuration Management Plans
- Software Quality Assurance Plans
- Project Monitoring Plans
- Risk Management
Planning a Software Project (contd.):
Personnel Plan
Once the project schedule is determined and the effort and schedule of different
phases and tasks are known, staff requirement can be obtained.
E = a (KLOC)b PM
Overall Size
Nominal Productivity P =
Initial Effort
Module Size
Initial Effort Required for Module =
Nominal Productivity
Planning a Software Project (contd.) Personnel Plan
How many people will be needed for the different activities at different times for the
duration of the project?
D = a (E)b months
E
Average Staff Size SS = Person
D
Planning a Software Project (contd.): Personnel Plan
Planning a Software Project (contd.) Personnel Plan
The staff requirement for a project is small during the requirement and design, the
maximum during implementation and testing, and drop again during the final phase
of integration and testing.
• The total effort for each month and the total effort for each activity can easily be
computed from this plan.
Planning a Software Project (contd.) Personnel Plan
Resource Histogram
Planning a Software Project (contd.) Personnel Plan
Team Structure
The structure of the team has a direct impact on the product quality and project
productivity.
Egoless Teams
The goals/objectives of the group are set by consensus, and input from every
member is taken for major decisions.
A group leadership rotates among the group members. Due to its nature, egoless
teams are sometimes called DEMOCRATIC TEAM.
Planning a Software Project (contd.) Personnel Plan
The structure results in many communication paths between people.
The structure is well-suited for long-term research-type projects that do not have
time constraints.
Not suitable for regular tasks that are not too complex and that have time
constraints.
Planning a Software Project (contd.) Personnel Plan
Team Structure: Chief Programmer Team
A chief-programmer team has a hierarchy.
The backup programmer uses the chief programmer makes technical decisions, and
takes over the chief programmer if the chief programmer drops sick or leaves.
The program librarian is vital for maintaining the documentation and other
communication-related work.
The structure is well-suited for smaller projects with simple solutions that strict
deadlines.
Planning a Software Project (contd.) Personnel Plan
Team Structure: Controlled Decentralized Team
Combines the strength of the democratic and chief programmer teams.
Consists of project leaders who have a class of senior programmers under him, while
under every senior programmer is a group of a junior programmer.
Planning a Software Project (contd.) Personnel Plan
The group of a senior programmer and his junior programmers behave like an ego-less
team, but communication among different groups occurs only through the senior
programmers of the group.
Such a team has fewer communication paths than a democratic team but more paths
compared to a chief programmer team.
This structure works best for large projects that are reasonably straightforward. It is
not well suited for simple projects or research-type projects.
Planning a Software Project(contd.)
The major issues the project plan addresses are:
- Cost Estimation
- Schedule and Milestone Determination
- Personnel Plan
- Software Configuration Management Plans
- Software Quality Assurance Plans
- Project Monitoring Plans
- Risk Management
Planning a Software Project (contd.):
Software Configuration Management Plans
SCM Plan should:
• Identify all the activities that must be performed.
• Give guidelines for performing the activities.
• Allocate resources for all identified activities.
• Specify the type of SCIs that will be selected and the stages during the project
where baselines should be established.
• Maintain library and versions.
• Identify the different members of the CCB.
• The forms (CR, FR) to be used, policies, procedures and tools for controlling the
changes.
• The plan for configuration accounting and auditing.
Planning a Software Project(contd.)
The major issues the project plan addresses are:
- Cost Estimation
- Schedule and Milestone Determination
- Personnel Plan
- Software Configuration Management Plans
- Software Quality Assurance Plans
- Project Monitoring Plans
- Risk Management
Planning a Software Project (contd.):
Software Quality Assurance Plans (SQAP)
Purpose of SQAP:
• Specify all the work products that need to be produced during the project.
• Specify the activities that need to be performed for checking quality of each of the
work products i.e., for identifying and removing defects.
• The tools and methods that may be used for SQA activities.
Planning a Software Project (contd.): Software Quality Assurance
Plans (SQAP)
Proper REVIEW and AUDITS are required.
The documents that should be produced during software development to enhance
software quality should also be specified by the SQAP.
Walkthrough: The author describes the work product in an informal meeting to his
peers or superiors to get feedback or inform or explain to them the work product.
Inspection: Is done by a group of peers, who first inspect the product privately and
then get together in a formal meeting to discuss potential defects found by
individuals and to detect more defects.
Planning a Software Project (contd.): Software Quality Assurance
Plans (SQAP)
There are three reasons for having reviews or inspections:
• Defect Removal.
• Productivity Increase.
• Provide information for project monitoring.
Inspection Process:
The process should have entry criteria that determine if the inspection process is
ready to begin.
This prevents unfinished work products from entering the inspection process.
The entry criteria might be a checklist including items such as "The document has
been spell-checked".
Planning a Software Project (contd.): Software Quality Assurance
Plans (SQAP)
Inspection Process:
The stages in the inspections process are: Planning: The inspection is planned by the
moderator.
Overview meeting: The author describes the
background of the work product.
Preparation: Each inspector examines the work
product to identify possible defects.
Inspection meeting: During this meeting the
reader reads through the work product, part by
part and the inspectors point out the defects for
every part.
Rework: The author makes changes to the work
product according to the action plans from the
inspection meeting.
Follow-up: The changes by the author are
checked to make sure everything is correct.
The process is ended by the moderator when it satisfies some predefined exit criteria.
Planning a Software Project (contd.): Software Quality Assurance
Plans (SQAP)
Inspection Process:
- Cost Estimation
- Schedule and Milestone Determination
- Personnel Plan
- Software Configuration Management Plans
- Software Quality Assurance Plans
- Project Monitoring Plans
- Risk Management
Planning a Software Project (contd.):
Project Monitoring Plans
On large projects, deviations from the original plan and changes to requirements
are both to be expected.
Cost-Schedule-Milestone Graph
Planning a Software Project (contd.): Project Monitoring Plans
Time Sheets
Used to track the progress of the project and the expenditure incurred on the project.
Records how much time different project members are spending on the different identified activities in
the project.
Earned Value:
The total value earned can be determined by adding the earned value of all the completed
milestones of that task.
Planning a Software Project (contd.): Project Monitoring Plans
Earned Value Method
Each milestones of a task is assigned an earned value, which is the value (in Rs. or
PM), that will be “earned” on completion of this milestone.
The sum of the assigned values for all the milestones for a task is equal to the total
cost assigned to this task.
At any given time, the total effort (or cost) spent on a particular task can be
determined from the time sheets.
By comparing the earned value with the total cost spent, the project manager can
determine how far the project is deviating from the initial estimates and then take
the necessary actions.
Planning a Software Project (contd.): Project Monitoring Plans
Unit Development Folder
The project plan produced after the requirements are a macro-level plan.
Even if this plan is prepared meticulously and accurately, if proper control is not exercised at the
micro level (at the level of each programmer and each module), it will be impossible to implement
the project plan.
A UDF is typically established after the system design phase when tasks are distributed among
programmers.
A UDF is given to the programmer responsible for the development of the unit.
An important element of the UDF is the schedule and progress report of the unit.
The overall schedule for the unit is determined from the project plan and is given to the
programmer responsible for the unit.
Planning a Software Project (contd.): Project Monitoring Plans
Unit Development Folder
The programmer then breaks up the allotted time and produces a detailed schedule
for the development of the unit, with intermediate milestones for detailed design,
coding, test plan, unit testing and the test report.
As each of these milestones is achieved, the programmer gets it certified from the
manager and writes the milestone completion date.
The basic idea here is to force the programmer to identify intermediate milestones in the
task.
Planning a Software Project(contd.)
The major issues the project plan addresses are:
- Cost Estimation
- Schedule and Milestone Determination
- Personnel Plan
- Software Configuration Management Plans
- Software Quality Assurance Plans
- Project Monitoring Plans
- Risk Management
Planning a Software Project (contd.):
Risk Management
Risk in a project is the possibility that the defined goals are not met.
Risk is defined as an exposure to the chance of injury or loss. That is, risk implies that
there is a possibility that something negative may happen.
Risk management is the area that tries to ensure that the impact of risks on cost,
quality and schedule is minimal.
Risk Assessment:
An activity that must be undertaken during project planning.
Involves:
• Identifying the risk.
• Analyzing the risk.
• Prioritizing the risk on the basis of analysis.
Risk Control:
An active measures that are taken by project management to minimize the impact of risks.
Plans are developed for each identified risk that needs to be controlled – Risk Avoidance and Risk
Reduction.
Planning a Software Project (contd.): Risk Management
Risk Management Process
Risk Identification
Possible project, product and business risks are identified.
Risk Analysis
The likelihood and consequences of these risks are assessed.
Risk Planning
Plans to address the risk either by avoiding it or minimizing its effects on the
project are drawn up.
Risk Monitoring
The risk is constantly assessed and plans for risk mitigation are revised as more
information about the risk becomes available.
Planning a Software Project (contd.): Risk Management
Risk Management Process
Planning a Software Project (contd.): Risk Management
Risk Identification Process
Different types of risk are:
Technology Risks – Derive from the software or hardware technologies that re used to develop the
system.
People Risks – Associated with the people in the development team.
Organizational Risks – Derive from the organizational environment where the software is being
developed.
Tools Risks – Derive from the CASE tools and other support software used to develop the system.
Requirements Risks – Derive from changes to the customer requirements and the process of
managing the requirements change.
Requirements Risks – Derive from changes to the customer requirements and the process of
managing the requirements change.
Planning a Software Project (contd.): Risk Management Process
Planning a Software Project (contd.): Risk Management
Risk Analysis Process
Consider each identified risk and make a judgement about the probability and the
seriousness of it.
Need to rely on the judgement and experience of the project manager.
Likelihood (Probability) of the risk might be The effects of the risk might be assessed as:
assessed as: • Catastrophe
• Almost Certain (Very High) • Major
• Likely (High) • Moderate
• Possible (Moderate) • Minor
• Unlikely (Low) • Negligible
• Rare (Very Low)
Planning a Software Project (contd.): Risk Management Process
Risk Probability Effects
Organizational financial problems force reductions in Low Catastrophic
the project budget.
It is impossible to recruit staff with the skills required High Catastrophic
for the project.
Key staff are ill at critical times in the project Moderate Major
CASE tools cannot be integrated High Minor
. . .
. . .
. . .
. . .
. . .
. . .
Planning a Software Project (contd.): Risk Management Process
Planning a Software Project (contd.): Risk Management
Process
Risk Planning
Considers each of the key risks that have been identified and identifies strategies to
manage the risk.
• Avoidance Strategies
The probability that the risk arise will be reduced.
The strategy for dealing with staff illness – Reorganize team on regular basis.
• Contingency Plans
You are prepared for the worst and have a strategy in place to deal with it.
The strategy for dealing with organizational financial problems – Convey the
importance of your project to senior management and highlight its
contribution to the goals of the business.
Planning a Software Project (contd.): Risk Management
Process
Risk Monitoring
Involves regularly accessing each of the identified risks
- to decide whether or not that risk is becoming more or less probable, and
- whether the effects of the risk have changed.
At every management progress review, one should consider and discuss each of the
key risks separately.