Professional Documents
Culture Documents
Paper - Estimación de Proyectos Agile
Paper - Estimación de Proyectos Agile
ORDER & SAVE • Learn why conventional prescriptive planning fails and
why agile planning works
Save 35% When You Order • Estimate feature size using story points and ideal
days—and when to use each
from informit.com/mgmt30 and • Know how and when to re-estimate
enter the code MGMT30 during • Prioritize features using both financial and
checkout nonfinancial approaches
• Split large features into smaller, more manageable
FREE US SHIPPING on print books
ones
Major eBook Formats • Pan iterations and predict your team’s initial rate of
Only InformIT offers PDF, EPUB, & progress
MOBI together for one price • Schedule projects that have unusually high uncertainty
or schedule-related risk
OTHER AVAILABILITY • Estimate projects that will be worked on by multiple
teams
Through O’Reilly Online Learning
(Safari) subscription service Agile Estimating and Planning supports any agile, semiagile,
or iterative process, including Scrum, XP, Feature-Driven
Booksellers and online retailers Development, Crystal, Adaptive Software Development,
including Amazon/Kindle store and DSDM, Unified Process, and many more. It will be an
Barnes & Noble | bn.com indispensable resource for every development manager, team
leader, and team member.
*
Discount code MGMT30 confers a 35% discount off the list price on informit.com only.
Discount may not be combined with any other offer, including the book + eBook “Best Value”
bundle, and is subject to change.
AEP.book Page 11 Friday, September 30, 2005 1:11 PM
Chapter 2
The previous chapter made the argument that the purpose of planning is to ar-
rive iteratively at an optimized answer to the ultimate new product development
question of what should be developed. That is, what capabilities should the prod-
uct exhibit, in what timeframe, and with which and how many resources? We
learned that planning supports this by reducing risk, by reducing uncertainty
about what the product should be, by supporting better decision making, by es-
tablishing trust, and by conveying information.
Unfortunately, the traditional ways in which we plan projects often let us
down. In answering the combined scope/schedule/resources question for a new
product, our traditional planning processes do not always lead to very satisfac-
tory answers and products. As support of this, consider that:
11
AEP.book Page 12 Friday, September 30, 2005 1:11 PM
will generally make sure the activity takes the full five days. She may do this by
adding a few bells and whistles if it looks like she’ll finish early (a practice known
as gold-plating). Or she may split time between the activity and researching
some hot new technology she thinks may be useful. What she will not do very of-
ten is finish the activity early. In many organizations, if she finishes early, her
boss may accuse her of having given a padded estimate. Or her boss may expect
her to finish more activities early. Why risk either of these scenarios when a little
web surfing can make the activity come in on schedule instead?
When a Gantt chart shows that an activity is expected to take five days, it
gives implicit permission to the developer to take up to that long to complete. It
is human nature when ahead of that schedule to fill the extra time with other
work that we, but perhaps not others, value.
◆ Coding of the middle tier finishes early, which is influenced by when adding
tables to the database is finished.
◆ Coding of the user interface finishes early.
◆ The tester is available early.
Test
Figure 2.1 Testing will start late if anything goes worse than planned; it will start
early only if everything goes better than planned.
AEP.book Page 14 Friday, September 30, 2005 1:11 PM
The key here is that even in this simple case there are three things that all
must occur for an early start on testing. Although multiple things must occur
for testing to start early, any one of the following can cause testing to start late:
more quickly than called for in the plan. The real knowledge we should gain in a
situation like this is that when an activity takes longer than planned, all similar
activities are also likely to take longer than planned.
90
80
Percent of Time on Tasks
70
60
50
40
30
20
10
0
1 2 3 4 5
Logically, it makes sense that multitasking helps when you have two things
to work on; if you become blocked on one, you can switch to the other. It is also
logical that Figure 2.2 shows a rapid decline in time spent on value-adding tasks
after a second task. We’re rarely blocked on more than one task at a time; and if
we’re working on three or more concurrent tasks, the time spent switching
among them becomes a much more tangible cost and burden.
Multitasking often becomes an issue once a project starts to have some ac-
tivities finish late. At that point dependencies between activities become critical.
AEP.book Page 16 Friday, September 30, 2005 1:11 PM
A developer waiting on the work of another developer will ask that developer to
deliver just a subset of work so that he may continue. Suppose I am to spend ten
days working on some database changes, then ten days implementing an applica-
tion programming interface (API) for accessing the database, and then ten days
developing a user interface. This is illustrated in the top half of Figure 2.3. Your
work is held up until you get the API from me. You ask me to do just enough of
the API work so that you can get started. Similarly, the tester asks me to do just
enough of the user interface so that she can begin automating tests. I agree, and
my schedule becomes as shown in the bottom of Figure 2.3.
DB API UI DB API UI
20
20
20
Figure 2.3 Multitasking extends the completion date of work and leaves work in
process longer.
This often gives the illusion of speed; but as shown in Figure 2.3, my data-
base and API work finish later than originally planned. This is almost certain to
ripple through and affect further activities in the plan. Additionally, in this ex-
ample, each of the desired units of work remains in process for twenty days
rather than ten, as was the case when the work was done serially.
To make matters worse, Figure 2.3 assumes that I am not slowed by switch-
ing among these activities more frequently. The Clark and Wheelwright study
indicates that a loss in productivity will occur.
Multitasking becomes a problem on a traditionally planned project for two
primary reasons. First, work is typically assigned well in advance of when the
work will begin, and it is impossible to allocate work efficiently in advance. As-
signing work to individuals rather than to groups exacerbates the problem. Sec-
ond, it encourages focusing on achieving a high level of utilization of all
individuals on the project rather than on maintaining sufficient slack to cope
with the inherent variability in typical project tasks. Loading everyone to 100%
of capacity has the same effect as loading a highway to 100% of capacity: No one
can make any progress.
AEP.book Page 17 Friday, September 30, 2005 1:11 PM
We Ignore Uncertainty | 17
We Ignore Uncertainty
A fourth shortcoming with traditional approaches to planning is the failure to
acknowledge uncertainty. We ignore uncertainty about the product and assume
that the initial requirements analysis led to a complete and perfect specification
of the product. We assume that users will not change their minds, refine their
opinions, or come up with new needs during the period covered by the plan.
Similarly, we ignore uncertainty about how we will build the product and
pretend we can assign precise estimates (“two weeks”) to imprecise work. We
cannot hope to identify every activity that will be needed in the course of a
project. Yet we often fail to acknowledge this in the plans we create.
Even with all this uncertainty, schedules are often expressed as a single, un-
qualified date: “We will ship on June 30,” for example. During the earliest part of
a project we are the most uncertain. The estimates we give should reflect our un-
certainty. One way of doing this is by expressing the end date as a range: “We’ll
ship sometime between June and August,” for example. As the project progresses
and as uncertainty and risk are removed from the project, estimates can be re-
fined and made more precise. This was the point of the cone of uncertainty in
Chapter 1, “The Purpose of Planning.”
The best way of dealing with uncertainty is to iterate. To reduce uncertainty
about what the product should be, work in short iterations, and show (or, ideally,
give) working software to users every few weeks. Uncertainty about how to de-
velop the product is similarly reduced by iterating. For example, missing tasks
AEP.book Page 18 Friday, September 30, 2005 1:11 PM
can be added to plans, bad estimates can be corrected, and so on. In this way, the
focus shifts from the plan to the planning.
Summary
After looking through this list of problems with traditional approaches to plan-
ning, it’s no wonder so many projects are disappointing. Activity-based planning
distracts our attention from features, which are the true unit of customer value.
A variety of problems then leads to the likelihood of delivering late against a
schedule derived from an activity-based plan. With good intentions, project par-
ticipants view multitasking as a possible cure but are eventually forced even fur-
ther behind schedule because of the hidden costs of multitasking. When the
project schedule runs out of time, features are inevitably dropped. Because fea-
tures are developed in the order deemed most efficient by the developers, the
dropped features are not necessarily those with the lowest value to users.
Ignoring uncertainty about exactly what users will eventually want can lead
to completing a project on schedule but without including important capabilties
that were identified after the plan was created. Also ignoring uncertainty about
how the product will be developed leads to missed activities in the project plan.
AEP.book Page 19 Friday, September 30, 2005 1:11 PM
Discussion Questions | 19
This in turn increases the likelihood that the project will be late, that features
will be dropped at the end, or that inappropriate quality tradeoffs may be made.
Many organizations confuse estimates with commitments. As soon as a team
expresses an estimate, they are forced to commit to it.
Discussion Questions
1. What problems result from plans being based on activities rather than deliv-
erable features?
2. In your current environment, is an estimate the same as a commitment?
What problems does this cause? What could you do to change this misper-
ception?
3. In what ways does multitasking affect your current project? How could you
reduce that impact?
AEP.book Page 20 Friday, September 30, 2005 1:11 PM