lecture4-2011dp-002handoutcs.lth.se/.../etsf01/lecture4-2011dp-002handout.pdf · etsf01 / lecture...
TRANSCRIPT
2011-03-23
1
ETSF01: Software Engineering Process –
Economy and Quality
Dietmar Pfahl Lund University
ETSF01 / Lecture 4, 2011
Software Project Management
Chapter Seven Risk management
ETSF01 / Lecture 4, 2011
Risk management
This lecture will touch upon: • Definition of ‘risk’ and ‘risk management’ • Some ways of categorizing risk • Risk management
– Risk identification – what are the risks to a project? – Risk analysis – which ones are really serious? – Risk planning – what shall we do? – Risk monitoring – has the planning worked?
• We will also look at PERT risk and critical chains
ETSF01 / Lecture 4, 2011
Some definitions of risk
• ‘The chance of exposure to the adverse consequences of future events’ [PRINCE2]
• ‘An uncertain event or condition that, if it occurs, has a positive or negative effect on a project’s objectives’ [PM-BOK]
• Risks relate to possible future problems, not current ones – They involve a possible cause and its effect(s) e.g.
developer leaves à task delayed
ETSF01 / Lecture 4, 2011
Categories of risk
ETSF01 / Lecture 4, 2011
A framework for dealing with risk
The planning for risk includes these steps: • Risk identification – what risks might there be? • Risk analysis and prioritization – which are the most
serious risks? • Risk planning – what are we going to do about them? • Risk monitoring – what is the current state of the risk?
2011-03-23
2
ETSF01 / Lecture 4, 2011
Risk identification
Approaches to identifying risks include: • Use of checklists – usually based on the experience of past
projects • Brainstorming – getting knowledgeable stakeholders
together to pool concerns • Causal mapping – identifying possible chains of cause and
effect
ETSF01 / Lecture 4, 2011
Boehm’s top 10 development risks
Risk Risk reduction techniques
Personnel shortfalls Staffing with top talent; job matching; teambuilding; training and career development; early scheduling of key personnel
Unrealistic time and cost estimates
Multiple estimation techniques; design to cost; incremental development; recording and analysis of past projects; standardization of methods
Developing the wrong software functions
Improved software evaluation; formal specification methods; user surveys; prototyping; early user manuals
Developing the wrong user interface
Prototyping; task analysis; user involvement
ETSF01 / Lecture 4, 2011
Boehm’s top ten risk - continued
Gold plating Requirements scrubbing, prototyping, design to cost
Late changes to requirements
Change control, incremental development
Shortfalls in externally supplied components
Benchmarking, inspections, formal specifications, contractual agreements, quality controls
Shortfalls in externally performed tasks
Quality assurance procedures, competitive design etc
Real time performance problems
Simulation, prototyping, tuning
Development technically too difficult
Technical analysis, cost-benefit analysis, prototyping , training
ETSF01 / Lecture 4, 2011
Risk prioritization
• Risk exposure (RE) = (potential damage) x (probability of occurrence)
• Example: – Potential damage: a money value e.g. a flood would
cause SEK 5 millions of damage – Probability: from 0% (absolutely no chance) to 100%
(absolutely certain) – RE = SEK 5m x 0.01 = SEK 50,000
• Roughly analogous to the amount needed for an insurance premium
ETSF01 / Lecture 4, 2011
Risk probability: qualitative descriptors
Probability level Range High Greater than 50% chance of happening Significant 30-50% chance of happening Moderate 10-29% chance of happening Low Less than 10% chance of happening
ETSF01 / Lecture 4, 2011
Qualitative descriptors of impact on cost and associated range values
Impact level Range
High Greater than 30% above budgeted expenditure
Significant 20 to 29% above budgeted expenditure
Moderate 10 to 19% above budgeted expenditure
Low Within 10% of budgeted expenditure.
2011-03-23
3
ETSF01 / Lecture 4, 2011
Probability impact matrix
ETSF01 / Lecture 4, 2011
Risk planning
Risks can be dealt with by: • Risk acceptance • Risk avoidance • Risk reduction • Risk transfer • Risk mitigation/contingency measures
ETSF01 / Lecture 4, 2011
Risk reduction leverage
Risk reduction leverage = (REbefore- REafter) / (cost of risk reduction)
• REbeforeis risk exposure before risk reduction e.g. 1% chance of a
fire causing SEK 200k damage • REafter is risk exposure after risk reduction e.g. fire alarm costing
SEK 500 reduces probability of fire damage to 0.5%
• RRL = (1% of SEK 200k)-(0.5% of SEK 200k)/(SEK 500) = 2 • RRL > 1.00 therefore worth doing
ETSF01 / Lecture 4, 2011
Activity network (PERT) with stochastic durations (start and end times)
• Monte Carlo Simulation
• Critical Chain concepts
0 6
2 8 2
6 9
8 11 2
0 4
3 7 3
0 10
0 10 0
4 8
7 11 3
4 7
7 10 3
9 11
11 13 2
10 13
10 13 0
ETSF01 / Lecture 4, 2011
Probability chart for an activity
ETSF01 / Lecture 4, 2011
Using PERT to evaluate the effects of uncertainty
Three estimates are produced for each activity • Most likely time (m) • Optimistic time (a) • Pessimistic (b)
‘Activity expected time’ te = (a + 4m +b) / 6 ‘Activity standard deviation’ S = (b - a) / 6
A
0 12w 12
2 14 2
2011-03-23
4
ETSF01 / Lecture 4, 2011
A chain of activities
Task a m b te s
A 10 12 16 12.66 1
B 8 10 14 10.33 1
C 20 24 38 25.66 3
Task A Task B Task C
ETSF01 / Lecture 4, 2011
A chain of activities
• What would be the expected duration for A & B & C? Answer: 12.66 + 10.33 + 25.66 = 48.65
• What would be the standard deviation for A & B & C? Answer: square root of (12 + 12 + 32) = 3.32
ETSF01 / Lecture 4, 2011
Assessing the likelihood of meeting a target
• Say the target for completing A & B & C was 52 days (T) • Calculate the z value thus
z = (T – te) / s • In this example: z = (52 – 48.33) / 3.32 = 1.01 • Then use graph/table of z values – see next slide
ETSF01 / Lecture 4, 2011
Graph of z values
ETSF01 / Lecture 4, 2011
Critical chain concept
Traditional planning approach
ETSF01 / Lecture 4, 2011
Critical chain approach
One problem with estimates of task duration: • Estimators add a safety zone to their estimate in order to
take account of possible difficulties • Developers work to the estimate + safety zone, so time is
lost • No advantage is taken of opportunities where tasks can
finish early – and provide a buffer for later activities
2011-03-23
5
ETSF01 / Lecture 4, 2011
Critical chain approach
One answer to this: 1. Ask the estimators for two estimates
– Most likely duration: 50% chance of meeting this – Comfort zone: additional time needed to have 95%
chance 2. Schedule all activities using most likely values and starting
all activities on latest start dates
• Note: This approach means that the ‘safety buffer’ in the estimate for an individual activity is moved from the individual activity to the project as a whole.
ETSF01 / Lecture 4, 2011
Most likely and comfort zone estimates
ETSF01 / Lecture 4, 2011
Critical chain - continued
3. Identify the critical chain – same a critical path but resource constraints also taken into account
4. Put a project buffer at the end of the critical chain with duration 50% of sum of comfort zones of the activities on the critical chain.
5. Where subsidiary chains of activities feed into critical chain, add feeding buffer
6. Duration of feeding buffer 50% of sum of comfort zones of activities in the feeding chain
7. Where there are parallel chains, take the longest and sum those activities
ETSF01 / Lecture 4, 2011
Plan employing critical chain concepts
ETSF01 / Lecture 4, 2011
Executing the critical chain-based plan
• No chain of tasks is started earlier than scheduled, but once it has started is finished as soon as possible
• This means the activity following the current one starts as soon as the current one is completed, even if this is early à the relay race principle
ETSF01 / Lecture 4, 2011
Executing the critical chain-based plan
Buffers are divided into three zones: • Green: the first 33%
– no action is required if the project completion date creeps into this zone
• Amber: the next 33% – an action plan is formulated if the project
completion date creeps into this zone • Red: the last 33%
– The action plan is executed if the project penetrates this zone
2011-03-23
6
ETSF01 / Lecture 4, 2011
Software Project Management
Chapter 8 Resource allocation
ETSF01 / Lecture 4, 2011
Schedules
• Activity schedule - indicating start and completion dates for each activity
• Resource schedule - indicating dates when resources needed + level of resources
• Cost schedule showing accumulative expenditure
ETSF01 / Lecture 4, 2011
Resources
• These include – labour – equipment (e.g., hardware, software) – materials – space – services
• Time: elapsed time can often be reduced by adding more staff
• Money: used to buy resources
ETSF01 / Lecture 4, 2011
Resource allocation
• Identify the resources needed for each activity and create a resource requirement list
• Identify resource types - individuals are interchangeable within the group (e.g. ‘VB programmers’ as opposed to ‘software developers’)
• Allocate resource types to activities and examine the resource histogram
ETSF01 / Lecture 4, 2011
Resource histogram: systems analysts
WEEK 1 2 3 4 5 6 7
1
2
3
4
5
STA
FF R
EQD
.
ETSF01 / Lecture 4, 2011
Resource smoothing
• It is usually difficult to get specialist staff who will work odd days to fill in gaps – need for staff to learn about application etc
• Staff often have to be employed for a continuous block of time
• Therefore desirable to employ a constant number of staff on a project – who as far as possible are fully employed
• Hence need for resource smoothing
2011-03-23
7
ETSF01 / Lecture 4, 2011
Resource smoothing
WEEK 1 2 3 4 5 6 7
1
2
3
4
5
STA
FF R
EQD
.
8
ETSF01 / Lecture 4, 2011
Resource clashes
• Where same resource needed in more than one place at the same time
• can be resolved by: – delaying one of the activities
• taking advantage of float to change start date • delaying start of one activity until finish of the other
activity that resource is being used on - puts back project completion
– moving resource from a non-critical activity – bringing in additional resources (à increases cost)
ETSF01 / Lecture 4, 2011
Prioritizing activities
There are two main ways of doing this: • Total float priority
– those with the smallest float have the highest priority
• Ordered list priority – this takes into account the duration of the
activity as well as the float – see next slide
ETSF01 / Lecture 4, 2011
Burman’s priority list
Give priority to: • Shortest critical activities • Other critical activities • Shortest non-critical activities • Non-critical activities with least float • Non-critical activities
ETSF01 / Lecture 4, 2011
Resource usage
• Need to maximise %-usage of resources i.e. reduce idle periods between tasks
• Need to balance costs against early completion date
• Need to allow for contingency
ETSF01 / Lecture 4, 2011
Critical path due to resource constraints
• Scheduling resources can create new dependencies between activities
• Adding such dependencies to the activity network creates additional complexity
2011-03-23
8
ETSF01 / Lecture 4, 2011
Allocating individuals to activities
• The initial ‘resource types’ for a task have to be replaced by actual individuals.
• Factors to be considered: – Availability – Criticality – Risk – Training – Team building – and motivation
ETSF01 / Lecture 4, 2011
Cost schedules
Cost schedules can now be produced Costs include: • Staff costs • Overheads • Usage charges
ETSF01 / Lecture 4, 2011
Cost profile
ETSF01 / Lecture 4, 2011
Cumulative costs
ETSF01 / Lecture 4, 2011
Balancing concerns
ETSF01 / Lecture 4, 2011
Software Project Management
Chapter 9 Monitoring and control
2011-03-23
9
ETSF01 / Lecture 4, 2011
The management control cycle(s)
ETSF01 / Lecture 4, 2011
Responsibilities
ETSF01 / Lecture 4, 2011
Assessing progress • Checkpoints –
predetermined times when progress is checked
– Event driven: check takes place when a particular event has been achieved
– Time driven: date of the check is pre-determined
Frequency of reporting The higher the management level then generally the longer the gaps between checkpoints
ETSF01 / Lecture 4, 2011
Collecting progress details
Need to collect data about: • Achievements • Costs A big problem: how to deal with partial completions • 99% completion syndrome Possible solutions: • Control of products, not activities • Sub-divide into sub-activities
ETSF01 / Lecture 4, 2011
Red/Amber/Green reporting
• Identify key tasks • Break down into sub-tasks • Assess subtasks as: ‒ Green à ‘on target’ ‒ Amber à ‘not on target but recoverable’ ‒ Red à ‘not on target and recoverable only with
difficulty’ • Status of ‘critical’ tasks is particularly important
ETSF01 / Lecture 4, 2011
Gantt charts
2011-03-23
10
ETSF01 / Lecture 4, 2011
Slip charts
ETSF01 / Lecture 4, 2011
Milestone Trend Analysis
ETSF01 / Lecture 4, 2011
SCRUM: Sprint Backlog – Example
ETSF01 / Lecture 4, 2011
Hou
rs
40
30
20
10
0 Mon Tue Wed Thu Fri
Tasks Code the user interface
Code the middle tier
Test the middle tier
Write online help
Mon 8
16
8
12
Tues Wed Thur Fri 4
12
16
7
11
8
10
16 8
50
2 Persons (16 ph per day)
ETSF01 / Lecture 4, 2011
Cost Monitoring
• A project could be late because the staff originally committed has not been deployed
• In this case the project will be behind time but under budget
• A project could be on time but only because additional resources have been added and so be over budget
• Need to monitor both achievements and costs
ETSF01 / Lecture 4, 2011
Earned Value Analysis (EVA) – Planned vs. Earned Value
• Planned Value (PV) or Budgeted Cost of Work Scheduled (BCWS)
– Original estimate of the cost to complete a task (like a ‘price’ for the work to be done)
• Earned Value (EV) or Budgeted Cost of Work Performed (BCWP)
– Equivalent of the PV for the work actually completed at point in time
2011-03-23
11
ETSF01 / Lecture 4, 2011
Accounting conventions
• For EV we need to define “work performed” • Work performed can be calculated as follows:
– 50/50 technique: half of value allocated at start, the other half on completion.
• These proportions can vary: 0/100, 75/25, etc, – Milestone technique: current value depends on the
milestones achieved – Units processed (percentage complete) technique
• Can use money (SEK, $, Euro), or effort (person-months, person-days) as a surrogate
ETSF01 / Lecture 4, 2011
5500049000
0
20000
40000
60000
80000
100000
120000
Jan-03
Feb-03
Mar-03
Apr-03
May-03
Jun-03
Jul-03
Aug-03
Sep-03
Oct-03
Nov-03
Dec-03
PV
EV
Planned Value (PV) vs. Earned Value (EV)
ETSF01 / Lecture 4, 2011
EVA – Performance Statistics /1
• Schedule Variance (SV): – Degree to which the value of completed work
differs from that planned – Measured in cost terms – Example: SV = EV – PV = 49000 – 55000 = -6000
• Schedule Performance Indicator (SPI) = EV/PV – Example: SPI = EV/PV = 49/55 = 0.89
• SV negative or SPI <1.00 à project behind schedule
ETSF01 / Lecture 4, 2011
EVA – Performance Statistics /2
• Time Variance (TV) – Difference between time when current EV was
achieved and time it was planned to have been achieved
– Measured in calendar time (elapsed time) – Example:
• EV of 49000 was achieved on 15-Jun • 49000 was planned to be achieved on 03-Jun à TV = 3 – 15 = -12 calendar days
ETSF01 / Lecture 4, 2011
Earned Value Analysis (EVA) – Actual Cost
• Actual Cost (AC) – Actual cost of current EV – also known as Actual Cost of Work Performed
(ACWP)
ETSF01 / Lecture 4, 2011
5500049000
56000
0
20000
40000
60000
80000
100000
120000
Jan-03
Feb-03
Mar-03
Apr-03
May-03
Jun-03
Jul-03
Aug-03
Sep-03
Oct-03
Nov-03
Dec-03
PV
EV
AC
Planned Value (PV) vs. Earned Value (EV) vs. Actual Cost (AC)
2011-03-23
12
ETSF01 / Lecture 4, 2011
70
EVA – Performance Statistics /3
• Cost Variance (CV) – Degree to which the value of completed work
differs from actual cost – Measured in cost terms – Example: CV = EV – AC = 49000 – 56000 = -7000
• Cost Performance Indicator (CPI) = EV/AC – Example: CPI = EV/AC = 49/56 = 0.875
• Negative CV or CPI < 1.00 à project over budget
ETSF01 / Lecture 4, 2011
Earned Value Analysis (EVA) – Revised Estimates
• CPI can be used to produce new cost estimate • BAC: Originally planned budget at completion • EAC: Revised budget estimate at completion
– EAC = BAC/CPI – Example: EAC = 102000 / 0.875 = 116571
• Similarly, SPI can be used to produce new completion dates
– SAC: schedule at completion (planned completion date) – TEAC: time estimate at completion = SAC/SPI
ETSF01 / Lecture 4, 2011
Prioritizing monitoring
• We might focus more on monitoring certain types of activity e.g.
– Critical path activities – Activities with no free float – if delayed later
dependent activities are delayed – Activities with less than a specified float – High risk activities – Activities using critical resources
ETSF01 / Lecture 4, 2011
Getting back on track: options
• Renegotiate the deadline – if not possible then • Try to shorten critical path e.g.
– Work overtime – Re-allocate staff from less pressing work – Buy in more staff
• Reconsider activity dependencies – Overlap activities so that the start of one activity
does not have to wait for completion of another – Split activities
ETSF01 / Lecture 4, 2011
Exception planning
• Some changes could affect – Users – The business case (e.g. costs increase reducing the
potential profits of delivered software product) • These changes could be to
– Delivery date – Scope – Cost
• In these cases an exception report is needed
ETSF01 / Lecture 4, 2011
Exception planning - continued
• First stage – Write an exception report for sponsors (perhaps through
project board) • Explaining problems • Setting out options for resolution
• Second stage – Sponsor selects an option ( or identifies another option) – Project manager produces an exception plan implementing
selected option – Exception plan is reviewed and accepted/rejected by
sponsors/Project Board
2011-03-23
13
ETSF01 / Lecture 4, 2011
Rest of this week
• Read textbook chapters 7, 8, and 9
• Finalise and submit Draft Report to [email protected]
• No exercise
ETSF01 / Lecture 4, 2011
Next week
• Read textbook chapters 11, 12, 13
• Exercise 4