avoiding the time trap schedule value capabilities the user finds valuable constraints (cost,...

13
1 10/12/2015 © 2015 Carnegie Mellon University © 2015 Carnegie Mellon University Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Avoiding the Time Trap Timothy A. Chick 2 Avoiding the Time Trap October 2015 © 2015 Carnegie Mellon University The time trap Time that does matter What makes “task” time so special Topics

Upload: dinhnguyet

Post on 08-Jul-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

1

10/12/2015

© 2015 Carnegie Mellon University

© 2015 Carnegie Mellon University

Software Engineering Institute

Carnegie Mellon University

Pittsburgh, PA 15213

Avoiding the Time TrapTimothy A. Chick

2

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

The time trap

Time that does matter

What makes “task” time so special

Topics

Page 2: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

2

10/12/2015

© 2015 Carnegie Mellon University

3

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

The Time Traps

The Agile ApproachThe Traditional Approach

Scope

ScheduleCost

Value

Capabilities the user finds valuable

Constraints

(cost, schedule, scope)

Quality

Deliver a reliable product by

adapting to customer’s needs

How is time measured?

How are schedules derived?

What do the two approaches have in common?

Ordinary time/money vs. story points/velocity

Durations based on resource availability vs. sprint/time box and

team’s velocity

A derived cost is needed to answer the

question, “Do I have enough money to

build a minimally useful item?”

4

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

With either approach you must account for labor. Two options are available:

• Tracking the employees’ ordinary time, which is in essence a proxy for cost

• Associating employees’ salaries with projects

While using ordinary time or tracking salaries are very useful methods for accounting and payroll purposes, they are nearly impossible to use for creating accurate estimates or precisely tracking projects.

Why?

Do I have enough money?

Page 3: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

3

10/12/2015

© 2015 Carnegie Mellon University

5

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Unrelated activities are included.

• Includes a mixture of activities that contribute to costs, but are not directly related to project deliverables.

Detailed estimating is difficult to accomplish.

• Accounting systems do not generally track time at the level necessary

for bottom-up, detailed estimating.

Precise project tracking is not supported by the data.

• The time data captured does not support the precise tracking that knowledge workers need to be repeatedly successful.

Why Ordinary Time Doesn’t Work

6

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

The Traditional Time Trap

The assumption of a relationship between effort and duration is fundamental to traditional project planning and tracking techniques.

Data shows that there is no correlation between the duration of a work package and the actual effort required to complete it, for knowledge-based efforts.

• 89 software development

and knowledge-based

projects reported to the SEI

through its Partner

Network.

• Projects started between

July 2000 and July 2012

and had an average project

duration of 119 calendar

days, with a team size of

less than 20 people.

• Duration of work packages

< 20 days from open to

close.

Page 4: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

4

10/12/2015

© 2015 Carnegie Mellon University

7

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

The use of story points and velocity (number of story points achieved in a sprint) are simply proxies for cost and schedule.

• Effort is performed using an iterative, time-boxed approach.

• Past performance is used to predict how many stories points can be implemented per sprint.

Problems with relying solely on story points

• Story points and velocity are subjective measures that are calibrated by each team based on

previous team performance.1

• Team membership changes

• The type of work and skills required changes over time

• Estimates are biased.2

• Not based on actual historical data

• Number can easily be influenced

• The use of story points is not objective and cannot define a standard practice for estimation

of software size.3

• The definition of a story point varies between teams

The Agile Time Trap

1. Moser, R., Pedrycz, W., Succi , G. 2007. Incremental effort prediction models in Agile Development using Radial Basis Functions. Proc. 19th International Conf. on Software Engineering & Knowledge Engineering (Boston, MA, USA, July 9-11, 2007), SEKE'07, pp. 519-522.

2. N.C. Haugen, “An empirical study of using planning poker for user story estimation,” Minneapolis, MN, Agile 2006 Conference Proceedings

3. Javdani, T., Zulzalil, H., Ghani, A., Sultan A., Parizi, R. 2012. “On the Current Measurement Practices in Agile Software Development,” IJCSI, Vol. 9, Issue 4,No 3, July 2012

8

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

The Basic Planning Framework

Regardless of whether you are using a traditional, agile, or hybrid approach to planning and tracking, you need to be able to represent cost and schedule.

Page 5: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

5

10/12/2015

© 2015 Carnegie Mellon University

9

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Task time is defined as the actual time spent working on a specific task in the plan.

To determine task time, each individual working on the team is responsible for tracking the time spent working on each specific task they are assigned in the plan.

Time That Matters – Task Time

10

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Actual Versus Planned Task Time for Completed Projects

There is a very strong correlation

between the planned and actual

task time required to implement

an individual work package.

This high correlation enables

very effective bottom-up

estimating

Data comes from 113 different

development projects, which

reported their results to the SEI

through its Partner Network.

All projects in the data set used

the same definition of task time

and planning framework.

.

Page 6: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

6

10/12/2015

© 2015 Carnegie Mellon University

11

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Actual Task Time Versus Plan Task Time

The use of task time in creating accurate estimates.

It plots actual task time against planned task time, in hours, for completed projects.

It demonstrates that there is a strong correlation between the bottom-up estimates for a

project and the actual task time spent on the project.

12

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Overcoming Deficiencies

Traditional Approach

Task time can be used to overcome the short-comings of using ordinary time or financial information alone to determine when a project will be completed.

Once you can determine when a project will be completed using a given set of resources, you can also determine cost.

Agile Approach

Task time can be used in place of a subjective story points approach to provide an objective measurement which can be used as a standard estimating practice across teams and organizations.

Page 7: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

7

10/12/2015

© 2015 Carnegie Mellon University

13

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Using historical actual task time, a relative table can be created for estimating future work.

The table organizes your historical data into categories of types and ranges.

You can then refer to the table to quickly develop estimates for your user stories in your plan.

Applying Task Hours in Agile

VS S M L VL Issues

closed

Portal Platform (summary) 0.21 0.78 2.85 10.48 38.46 379

A Portal 0.76 2.00 5.25 13.80 36.27 5

Authorization/Authentication 0.98 2.01 4.13 8.49 17.46 11

B Portal 0.24 0.82 2.76 9.28 31.23 75

C Portal 0.08 0.48 2.73 15.65 89.58 39

Deployment 0.11 0.41 1.53 5.77 21.79 25

Liferay 0.23 0.86 3.28 12.43 47.17 66

M Portal 0.50 1.43 4.13 11.93 34.41 37

Middleware 0.20 0.82 3.26 12.99 51.82 30

Other 1.04 2.24 4.82 10.36 22.25 4

Requirements 0.80 1.96 4.81 11.81 28.96 31

R Portal 0.24 0.78 2.56 8.41 27.60 25

Testing 0.47 1.34 3.83 10.94 31.26 14

Viewflash 4.07 6.29 9.74 15.07 23.32 3

V Portal 0.71 1.52 3.25 6.95 14.87 14

14

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

A relative table is constructed using historical data on the effort of different components or effort types that you have developed in the past.

From the data:

1. Calculate the mean (x).

2. Calculate the standard deviation (s).

Constructing a Relative Table

Very Small

Small

Medium

Large

Very large

�̅ � 2�

�̅ � �

�̅

�̅ � �

�̅ � 2� MSVS L VL

Page 8: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

8

10/12/2015

© 2015 Carnegie Mellon University

15

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

The Planning Game

16

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Team Velocity Using Task Hours

Using actual data, you can determine what the velocity should be for the next sprint, even with changing and part-time team members.

Specialized resources can now move between teams without having to reset velocity calculations (project team membership should still stay relatively stable in order to maintain tacit knowledge).

Time-boxes can also be variable lengths based on project/customer goals and objectives.

Last 4 week sprint period.

Hours spent on Project

Average Hours Logged Per Week on Project

Hours spent overall

Average Hours Logged Overall

Amy 10.00 3.33 14.50 3.63

Brent 23.99 8.00 23.99 8.00

Nathan 87.42 21.86 87.42 21.86

Kim 12.46 6.23 13.08 6.64

Total 133.87 39.42 138.99 40.13

Page 9: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

9

10/12/2015

© 2015 Carnegie Mellon University

17

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

The Project

Release 1 Release 2 Release n

Project Planning Example

Kick-off S

R

S

R

S

R

S

R

S

R

S

R

S

R R

A sprint is a time-boxed planning period.

The current sprint is planned in granular detail by the team as they are about to execute sprint.

Future sprints are road mapped during the initial planning by the Project Lead and PMO, but not with

the detail that the current sprint is planned. Road maps evolves with the project.

Releases are project-dependent. Sprints are based on the team’s cadence, and product delivery is

on demand. A sprint usually ranges from 2-6 weeks in duration.

Each sprint begins with a detailed plan and ends with a retrospective.

Sprint 0 Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint n

R

S Re-plan

Retrospective

18

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

What Makes Task Time so Special?

Task time represents the project’s value chain and ignores the other activities, which skew predictability.

A value chain is the set of tasks directly associated with a work package that is carried out to create value for the customer or end user. These are the actual tasks that are part of the team’s plan.

Effort reports apply to both support activities and primary tasks.

Task time applies only to the primary tasks of a team’s value chain.

New Feature Design

Code and Unit Test

Integrate Features and

Bug Fixes

User Documentation

Build and Deliver

Release

Meetings – Email - Administrative

Human Resources

Training

Infrastructure

Su

pp

ort

Acti

vit

ies

Primary Tasks

Page 10: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

10

10/12/2015

© 2015 Carnegie Mellon University

19

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Understanding Variability

While the cost of project members can be predictable, the amount of task time individuals are able to commit to a project’s value chain is highly variable.

Understanding the variability at the individual and team level is key in producing accurate estimates and for precise status tracking.

Task time is measured in hours or minutes. Interrupt time, or off-task time, is not included in the time measure for a task.

Off-task time is not measured or tracked since it does not contribute to meeting the stated project goals.

20

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Why do we focus our plans only on value?

http://www.youtube.com/watch?v=zc8zCSQxBhM

Page 11: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

11

10/12/2015

© 2015 Carnegie Mellon University

21

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

We need to schedule our important task or else they won’t fit into the bucket.

It is not to say that if we put the big rocks in first, the pebbles will still fit around the edges. Some just won’t fit.

“Urgent” things keep coming up and these pebbles can get in the way of achieving what is important. Not everything urgent is important.

Without building a detailed plan and tracking our progress against it, the important tasks will slip due to the urgent pebbles, mandatory sand, and overflowing distractions.

Why do we plan our tasks?

22

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

NAVOCEANO Project Sponsor Survey Results

All projects in the survey used task-time and an Agile planning and tracking framework.

Page 12: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

12

10/12/2015

© 2015 Carnegie Mellon University

23

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Understanding the dynamics of your process in a quantifiable way provides these benefits:

• Increases the accuracy of estimates

• Improves reliability of status reporting

• Raises perceived customer quality and satisfaction

Task-time is an accurate, reliable, and repeatable measure of time.

The use of ordinary time or story points does not adequately meet the intended purposes of such measures.

Summary

24

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Reference Article:

“Not All Time Matters: Be Sure to Count What Does.” CrossTalk, July/August 2015:

http://www.crosstalkonline.org/storage/issue-archives/2015/201507/201507-Chick.pdf

Questions?

Page 13: Avoiding the Time Trap Schedule Value Capabilities the user finds valuable Constraints (cost, schedule, scope) Quality Deliver a reliable product by adapting to customer’s needs

13

10/12/2015

© 2015 Carnegie Mellon University

25

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Contact Information

Timothy A. Chick

Senior Engineer

Telephone: +1 412-268-1473

Email: [email protected]

U.S. Mail

Software Engineering Institute

Customer Relations

4500 Fifth Avenue

Pittsburgh, PA 15213-2612

USA

Web

www.sei.cmu.edu

www.cert.org

Customer Relations

Email: [email protected]

Telephone: +1 412-268-5800

SEI Phone: +1 412-268-5800

SEI Fax: +1 412-268-6257

26

Avoiding the Time TrapOctober 2015

© 2015 Carnegie Mellon University

Copyright 2015 Carnegie Mellon University and IEEE

This material is based upon work funded and supported by the Department of Defense under Contract No.

FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center.

NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE

MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING,

BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY,

EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON

UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.

This material has been approved for public release and unlimited distribution.

This material may be reproduced in its entirety, without modification, and freely distributed in written or

electronic form without requesting formal permission. Permission is required for any other use. Requests for

permission should be directed to the Software Engineering Institute at [email protected].

Carnegie Mellon® and CERT® are registered marks of Carnegie Mellon University.

DM-0002796