achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain...

36
©Graham Collins 2009 Achieving the ‘impossible’, improved estimates, progress reporting and visibility Graham Collins Senior Teaching Fellow UCL [email protected] Research supported by Deutsche Bank APM Professional Series, Agile Project Management J Z Young lecture theatre Anatomy Building, UCL 26 th March 2009

Upload: others

Post on 14-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

©Graham Collins 2009

Achieving the ‘impossible’, improved estimates,

progress reporting and visibility

Graham Collins Senior Teaching FellowUCL

[email protected]

Research supported by Deutsche Bank

APM Professional Series, Agile Project Management

J Z Young lecture theatre Anatomy Building, UCL

26th March 2009

Page 2: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

OutlineOutline

UCL’s researchWhat is agile?Getting the goals rightProgress reportingEarlier estimates in agile projects.

Page 3: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

UCL: London’s Global UniversityUCL: London’s Global University

At the forefront of research in medicine, neuroscience and psychology, computer science, intelligent systems and project management20 Nobel prize winners within AlumniUCL Cancer Research InstituteClose ties to UCLH, Wellcome foundationResearch income 200 million

Page 4: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Agile ManifestoAgile Manifesto

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more

Senior management typically require a high level of governance, including accurate reporting of cost and duration

Page 5: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

The Agile Principles www.agilealliance.comThe Agile Principles www.agilealliance.com

Working software is the primary measure of progress

At regular intervals the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation

The best architectures, requirements, and designs emerge from self-organizing teams

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

Simplicity - the art of maximizing the amount of work done – is essential

Business people and developers must work together daily throughout the project

Continuous attention to technical excellence and good design enhances agility

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter time scale

The sponsors, developer, and users should be able to maintain a constant pace indefinitely

Welcome changing requirements, even late in development. Agile processes harness change for the customer competitive advantage

Agile processes promote sustainable development

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

Page 6: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Agile a definitionAgile a definition

A set of values and principles for software development that use lean production techniques to deliver value to stakeholders quickly and frequently

R.Dennis Gibbs, Project Management with the IBM Rational Unified Process, IBM Press Pearson, 2007

Page 7: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Perspectives: Lean and AgilePerspectives: Lean and Agile

Lean we consider as a way of thinking, reducing waste, and considers the whole value chainAgile methods used are compatible with this approach, reducing complexity – e.g. refactoringMany concepts behind Agile approaches are not new and have been used under different terminologyMorning stand up meetings elicit priorities of the stories according to value (measured in story points). – Stories, points (and tasks) outlined on whiteboards.

Development work recorded in 2 hour slots, 2 periods a day. Stories agreed for two week iterations.

Page 8: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Uncertain goalsUncertain goals

Having uncertain goals are problems faced by many new development projects and research projects Agile project management gives an increased understanding of the domain and problem gained through development and by continual prioritisation of business goals Research and development are often analogous in that they have a process of discovery and must resolve priorities whether business or research value. It is the need to clearly elaborate goals to different stakeholders that is fundamental to this process.

Page 9: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Financial Markets - credit crisisFinancial Markets - credit crisis

Goal to become leading mortgage providerMetrics based on percentage of buy-to-let mortgagesSimilar situation in US, increase sub-prime lending to increase market share. Objectives seem totally unrelated to a prudent approach to banking.

Lord Turner FSA

‘demand capital… liquidity’

Newsnight 29th September 2008

Page 10: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

GoalsGoals

‘A one-sentence definition of specifically what will be accomplished, incorporating an event signifying completion’

APM Body of Knowledge 5th Edition 2006

‘What is the purpose’ Peter Drucker, as outlined in the APM Passport to Continuing Professional Development: Principles of Project Management course 2008

Page 11: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

GoalsGoals

Need to be aligned to strategyThe psychological issues and frameworks (e.g. Adair model*) need to be considered, i.e. individuals will invariably have their own agendaAligning metrics with goals is essential to ensure that projects are effective.

*as outlined in ‘leadership and motivation’ within

UCL’s APMP course folder

Page 12: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Goal-Question-MetricGoal-Question-Metric

SEI (Software Engineering Institute) conferences including talks that promote specific methodologiesBank of America promote a ‘consistent’ approachAn appropriate range of metrics to give a full picture.

Goal-Question-Metric example

Zero tolerance on regulatory issues

Goal: Ensure regulatory standards are embedded

Question: How do we ensure goal is met?

Metric: number of compliance review Non Conformances

adapted from:‘Using the Goal-Question-Metric approach to formulate a metrics framework’Sukanya DasgutaDeutsche BankSEPG 2007

Page 13: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Case Study: Progress ReportingCase Study: Progress Reporting

110105100

959085807570656055504540

Planned costs

Actual costs

Planned costs compared to actual costs

Page 14: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Earned Value gives another perspectiveEarned Value gives another perspective

500

400

300

200

100

0

Planned costs

Actual costs

Earned Value

Page 15: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Reporting: Earned Value Management (EVM)Reporting: Earned Value Management (EVM)

‘We would like to use earned value management’‘We would like to predict the outcome of project end date, cost and value’As a project manager I cannot be there all the timeWhat is the best way to measure progress with earned value?‘As developers we would like to experiment with some agile approaches’Your team will be working on other projects as wellWe are hoping to achieve metrics suitable for CMMI level 3 and higher…

Page 16: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Kamikaze

Suicide

Mission Impossible

Ugly

low high

high

low

Chance of success

Happiness

The Death March Project Style Quadrant

Edward Yourdon, Death March:The complete Software Developer’s guide to surviving ‘Mission Impossible’ projects, 1997 Prentice Hall

The Death March Project Style QuadrantThe Death March Project Style Quadrant

Page 17: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Use of VarianceUse of Variance

Variance (Monthly)

0.30

0.40

0.50

0.60

0.70

0.80

0.90

1.00

1.10

1.20

1 2 3 4 5 6

Months

Valu

e cpispi

spic is used in this situation

Page 18: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Earned Value compared to Agile Process PlanningEarned Value compared to Agile Process Planning

Unpredictable change the normChange rates often low

Progress is tracked immediately Some organisations do not chart progress for an initial period

Prioritization of the value of user stories No earned value approaches in methods

Earned value well established

Unknown team development ratesSmall variations in early measurements of cost and time at the start the project give wide variation in forward predications

Estimates are based on progress being made (velocity)

Estimates based on past performance

Near the beginning, it is not always possible to schedule.Time based iterations allow initial estimate of duration which can be revised through the adaptive driven build-feedback cycle

Schedule most of the activitiesAdaptation to unpredictable events is problematic. Changes may require the planned to be revised or baselined

Adaptive planningIteration to iteration trackingPredication of the next iterations effort

Based on predictive planningEstimates effort, cost and completion dateEnd-to-end value tracking

Earned Value Agile Development

Page 19: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Development MetricsDevelopment Metrics

Measurements have traditionally included lines of code (LOC) and there are several models based on this including the hierarchy of cost and effort models COCOMO (COnstructive COst MOdel) developed by BoehmBittner and Spence (2005) indicate that a move to working software is perhaps one of the best measures of progressMore recently other metrics have been used such as function points, which give a better indication of size and complexity.

Page 20: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Fundamental shift in measurementFundamental shift in measurement

Progress ( % complete measured in scenarios

100%

0%Iteration 1 2 3 4

coded tested Tested & Passed

What is iterative development? Part 3: The management perspective 15 May 2005www-128.ibm.com/developerworks/rational/library/may05/bittner-spence/index.html

Page 21: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Developer PerspectiveDeveloper Perspective

Developers are less interested in the business value, benefits realization and return on investmentThey work on a small number of requirements or change requests from their list of outstanding work (backlog)The developer will therefore be aware of progress via work completed, product backlog and new work allocated.

Page 22: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Rate of work - velocityRate of work - velocity

Velocity

0

5

10

15

20

25

30

35

40

45

50

06/01

/06

13/01

/06

20/01

/06

27/01

/06

03/02

/06

10/02

/06

17/02

/06

24/02

/06S

tory

Poi

nts

Velocity, gives an indication of the average rate of work and also a comparison of planned against delivered, each iteration

Page 23: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Individuals and Moving Range (XmR) ChartsIndividuals and Moving Range (XmR) Charts

Velocity

0

10

20

30

40

50

60

06/0

1/20

06

13/0

1/20

06

20/0

1/20

06

27/0

1/20

06

03/0

2/20

06

10/0

2/20

06

17/0

2/20

06

24/0

2/20

06

weeks

stor

y po

ints

story points mR

UCLR

UNPLx

Page 24: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

‘Under Control’‘Under Control’

Velocity measures of work rate are useful in that estimates of the next iteration can be planned in a rolling processThe use of σ variation is supportive in this aim Automated colour coding (Red Amber Green) can be used to show condition requirements

Velocity

0

10

20

30

40

50

60

06/0

1/20

06

13/0

1/20

06

20/0

1/20

06

27/0

1/20

06

03/0

2/20

06

10/0

2/20

06

17/0

2/20

06

24/0

2/20

06

weeks

stor

y po

ints

story points

LNPLX

UNPLX

Page 25: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

‘Burn-down’‘Burn-down’

Story Points Remaing

0

50

100

150

200

250

300

350

06/0

1/20

06

13/0

1/20

06

20/0

1/20

06

27/0

1/20

06

03/0

2/20

06

10/0

2/20

06

17/0

2/20

06

24/0

2/20

06

Stor

y P

oint

s

Burn down charts show progress in terms of story points completed as well as changes made for the rest of the release

Page 26: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

With the appropriate metrics we can improveWith the appropriate metrics we can improve

Failing ATs

Total ATsPassing ATs

Acceptance Test Data

01020304050

60708090

100

1 2 3 4 5 6 7 8 9 10 11 12

Iteration

ATs

Acceptance Testspassing ATsfailing ATs

Page 27: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Business ValueBusiness ValueMore importantly business value (or contribution) should be considered and evaluated. EV can be reporting in terms of business value

The key issue in agile project management is to continually assess with the client the most important work that should be done.

Emphasis on value rather than work done

22021024022248total

00200214

6070604423

6060608822

10080100101031

EV (earned value)

Actual(logged hours)

Planned (developer hours)

‘Points earned’

Story Points

‘Business Value’

Story number

Page 28: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Earned Value Framework (EVF)Earned Value Framework (EVF)

EV can be applied to estimates of agile projects - this can be complex if more stories are added as the work progressesEV may need to be shown to senior managers - who are used to EV figures, or comparison to other projects where EV figures have been trackedEV estimates can be accurate - story points tend to remain static in an iteration when the process is understood by managers and developers. When additional stories are added, stories with lower business priority level may be dropped to compensate and keep the work load (story points) similar.

Reporting for senior managers, project managers and developers

Reference: Developing metrics for agile projects that are compatible with CMMI

Graham Collins

SEPG Amsterdam 2006

Page 29: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Key Project ChangesKey Project Changes

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

1. Pair reporting - valuing individuals and team, moving towards self-determining teams

2. Acceptance testing - working software

3. Ensuring Business Value – continual prioritisation, estimation and understanding there is a cost to development

4. Measuring progress over shorter time periods -meeting the needs of process improvement CMMI, velocity tracking in agile methods, and better EV planning

Page 30: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Velocity Velocity

It is only after several iterations we have an idea of the velocity of the project (actual) against planned and we can re-plan the projectOrganisations may have some data from a similar project or we may have to estimate

‘…or we made one up’ p117 Mike Cohn, User Stories Applied: For Agile Software Development Addison-Wesley 2004

150

200

250

300

350

400

450

1 2 3 4 5 6

IterationsS

tory

Poi

nts

Planned

Actual

Page 31: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Case Study: Story points as a measureCase Study: Story points as a measure

Major telecommunication providerUses as a metric stories and story points although there is no consistency between stories or story points between projectsBenefit; in that it allows teams to make decisions, howevervalue is compromised as far as development estimates and progress measures are concerned.

Page 32: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Problems of consistency and estimationProblems of consistency and estimation

The velocity estimate can be used to determine how much work the team will be able to achieve per iterationHowever we have a measure of functionality (user stories are the description of user or customer valued functionality) Perhaps we could use another measure of functionality earlier on?

‘The team’s first estimate of velocity will be wrong…’ page 9

Mike Cohn, User Stories Applied, Addison-Wesley, 2004

Page 33: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Function PointsFunction Points

Software estimators sometimes confuse size and effort*The size (FP count) is proportional to the functionality of the systemFunction Point Analysis (FPA) measures the software size in terms of functionality.

*Practical Software Estimation: Function Point methods for Insourced and Outsourced Projects

Parthasarathy, M.A.,Addison-Wesley 2007

Page 34: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Purpose of MappingPurpose of Mapping

An initial assessment of function points provides a measure to map onto stories and create a baseline, a mapping and a possibility to gain consistency to user storiesearlier estimates in terms of functional sizeprovide an improved basis for story-based progress reporting in terms of functionality delivered.

Page 35: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

Achieving consistencyAchieving consistency

FPA, has other advantages, it makes developers typically trained in a variety of approaches to consider the system from another perspectiveProvides a more consistent measure for story points, i.e. reduce variabilityReduces the reliance on velocity scaling and re-planning, and provides earlier estimates with less variation.

Achieving Earlier and more AccurateEstimates for Agile CMMI projects

Graham Collins

SEI SEPG conference Munich 2008

Page 36: Achieving the ‘impossible’, improved estimates, progress ...and considers the whole value chain Agile methods used are compatible with this approach, reducing complexity – e.g

An alternative perspectiveAn alternative perspective

Agile software development provides an opportunity for an evolving and increased understanding of the domain and requirements through rapid iterations.

This enables the most appropriate solution to be delivered and can be outlined in terms of;

the continual prioritisation of development activities, to deliver regular releases of working software that achieves the highest business value.

Collins, G., Computer Science, COMP3001 Technology Management and Professional Practice course UCL, 2009