Agile Estimating and Planning
Rate it:
Open Preview
Kindle Notes & Highlights
6%
Flag icon
Agile developers essentially say: We will give you a plan based on what we know today; we will adapt the plan to meet your most critical objective; we will adapt the project and our plans as we both move forward and learn new information; we expect you to understand what you are asking for—that flexibility to adapt to changing business conditions and absolute conformance to original plans are incompatible objectives. Agile Estimating and Planning addresses each of those statements.
9%
Flag icon
PMI suggests the creation of an initial order of magnitude estimate, which ranges from +75% to –25%. The next estimate to be created is the budgetary estimate, with a range of +25% to –10%, followed by the final definitive estimate, with a range of +10% to –5%.
10%
Flag icon
A plan conveys expectations and describes one possibility of what may come to pass over the course of a project. A plan does not guarantee an exact set of features on an exact date at a specified cost. A plan does, however, communicate and establish a set of baseline expectations. Far too often a plan is reduced to a single date, and all of the assumptions and expectations that led to that date are forgotten.
10%
Flag icon
Suppose you ask me when a project will be done. I tell you seven months but provide no explanation of how I arrived at that duration. You should be skeptical of my estimate. Without additional information you have no way of determining whether I’ve thought about the question sufficiently or whether my estimate is realistic.
10%
Flag icon
Suppose, instead, that I provide you a plan that estimates completion in seven to nine months, shows what work will be completed in the first one or two months, documents key assumptions, and establishes an approach for how we’ll collaboratively measure progress. In this case you can look...
This highlight has been truncated due to consecutive passage length restrictions.
10%
Flag icon
The plan, although inaccurate, was even more likely useful if we consider that it should have been updated regularly throughout the course of the project.
11%
Flag icon
critical problem
11%
Flag icon
Features are the unit of customer value. Planning should, therefore, be at the level of features, not activities.
11%
Flag icon
second problem
11%
Flag icon
looking for forgotten activities rather than
11%
Flag icon
for missing features.
12%
Flag icon
Work expands so as to fill the time available for its completion.
12%
Flag icon
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?
12%
Flag icon
Gantt chart
12%
Flag icon
gives implicit permission to the developer to take up to tha...
This highlight has been truncated due to consecutive passage length restrictions.
34%
Flag icon
A first advantage to using IRR is that there is no requirement to establish (or, in the worst case, guess at) an organization’s discount rate, as is necessary when calculating NPV.
34%
Flag icon
You cannot usually use IRR in isolation, though, for making decisions.
35%
Flag icon
Steve Tockey’s Return on Software: Maximizing the Return on Your Software Investment (2004) is a wonderful book.
45%
Flag icon
Include Only Work That Adds Value to This Project
45%
Flag icon
Don’t include the hour in the morning when you answer email. Yes, some of those email messages are project-related, but tasks like “answer email, 1 hour” should not be included in an iteration plan.
45%
Flag icon
you need to meet with the company’s director of personnel about a new annual review process. That should not be included in the iteration plan.
45%
Flag icon
Be Specific Until It’s a Habit
45%
Flag icon
Once something like unit testing becomes a habit, it can be included within another task. Until then, however, making it explicit helps keep awareness of the task high.
45%
Flag icon
Meetings Count (A Lot)
45%
Flag icon
You should identify, estimate, and include tasks for meetings related to the project. When estimating the meeting, be sure to include the time for all participants, as we...
This highlight has been truncated due to consecutive passage length restrictions.
45%
Flag icon
plan as a single nine-hour task, rather than as a separate task for each team member.
45%
Flag icon
Bugs An agile team has the goal of fixing all bugs in the iteration in which they are discovered. They become able to achieve this as they become more proficient in working in short iterations, especially through relying on automated testing.
45%
Flag icon
A defect found later (or not fixed during the iteration in which it was discovered) is treated the same way as a user story.
47%
Flag icon
“Can you commit to delivering the features we’ve discussed?”
47%
Flag icon
is not “Can you commit to delivering the tasks we’ve identified?” That is a very different question and a far weaker commitment, because it is a commitment to complete a set of tasks rather than a commitment to deliver new functionality.
47%
Flag icon
most teams are successful when their planned work (the sum of their task cards) represents between four and six hours per day.
47%
Flag icon
Before committing
47%
Flag icon
get a feel for whether they represent an appropriate distribution of work based on the various skills within the team.
48%
Flag icon
everyone on the team is accountable for contributing whatever is within their capabilities, regardless of whether it is their specialty.
48%
Flag icon
If you do find a need to allocate tasks to individuals while planning an iteration, the allocations should be considered temporary and subject to change once the iteration is under way.
48%
Flag icon
When a team makes a commitment to complete a set of stories during an iteration, they need to do so with their maintenance and support load in mind.
48%
Flag icon
Both velocity-driven and commitment-driven iteration planning are viable approaches; however, my preference is for the commitment-driven approach.
48%
Flag icon
velocity plays a critical role in release planning, I do not think it should play an equivalent role in iteration planning.
48%
Flag icon
F...
This highlight has been truncated due to consecutive passage length restrictions.
48%
Flag icon
Second,
48%
Flag icon
Because too few stories are completed in a single iteration for these to average out, I prefer not to use velocity when planning an iteration. However, because these differences do average out over the course of a release, velocity works extremely well for release planning.
49%
Flag icon
To accommodate this, this team decided to run two-week iterations that would start on a Friday and end on a Thursday.
49%
Flag icon
Fridays were spent doing an iteration review and in planning the next iteration.
49%
Flag icon
The team also benefited by occasionally using Friday morning to wrap up any last-minute work they’d been unable to finish on Thursday.
52%
Flag icon
most project managers can hold off giving an estimate for at least one iteration. If that’s your case, use the time to run an iteration and measure the velocity. Then create a range around that one data point, using the cone of uncertainty.
52%
Flag icon
use the cone of uncertainty.
52%
Flag icon
Calculate the average velocity for the iterations you’ve run. Then, for each iteration completed, move one step to the right on the cone of uncertainty.
53%
Flag icon
best way to forecast velocity involves expanding user stories into their constituent tasks, estimating those tasks (as we do when planning an iteration),
53%
Flag icon
the following steps: 1. Estimate the number of hours that each person will be available to work on the project each day. 2. Determine the total number of hours that will be spent on the project during the iteration. 3. Arbitrarily and somewhat randomly select stories, and expand them into their constituent tasks. Repeat until you have identified enough tasks to fill the number of hours in the iteration. 4. Convert the velocity determined in the preceding step into a range.
57%
Flag icon
We should always buffer a given type of project uncertainty with the right units, which means we buffer feature uncertainty with features and schedule uncertainty with time.
« Prev 1