01.02.2013 Views

Software Development Cross Solution - Index of - Free

Software Development Cross Solution - Index of - Free

Software Development Cross Solution - Index of - Free

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

factoring in real velocity<br />

Q: A team velocity <strong>of</strong> 0.6!? That’s<br />

even slower than before. What happened?<br />

A: Based on the work done in the last<br />

iteration, it turned out that your team was<br />

actually working a little slower than 0.7.<br />

Q: Shouldn’t my velocity get quicker<br />

as my iterations progress?<br />

A: Not always. Remember, velocity is a<br />

measure <strong>of</strong> how fast your team can burn<br />

through their tasks, and 0.7 was just an<br />

original rough guess when you had nothing<br />

else to go by.<br />

It’s not uncommon for you and your team to<br />

have a tough first iteration, which will result<br />

in a lower velocity for the next iteration. But<br />

you’ll probably see your velocity get better<br />

over the next several iterations, so you’ve<br />

got something to look forward to.<br />

Q: Hmm, I noticed that some <strong>of</strong> the<br />

estimates for the Orion’s Orbits user<br />

stories have changed from when we last<br />

saw them in Chapter 3. What gives?<br />

A: Good catch! Based on the knowledge<br />

that you and your team have built up in the<br />

last iteration, you should re-estimate all your<br />

stories and tasks. Now you know much more<br />

about the work that will be involved so new<br />

estimates should be even more accurate,<br />

and keep you from missing something<br />

important, and taking longer than you expect.<br />

358 Chapter 10<br />

Q: So the estimates for our user<br />

stories and their tasks will get smaller?<br />

A: Not necessarily. They could get smaller,<br />

or bigger, but the important thing is that they<br />

will likely get more and more accurate as<br />

you progress through your iterations.<br />

Q: I see that bug fixing is also<br />

represented as a user story. Doesn’t that<br />

break the definition <strong>of</strong> a user story a bit?<br />

A: A little, but a user story really ends up<br />

being—when it is broken into tasks—nothing<br />

more than work that you have to do. And a<br />

bug fix is certainly work for you to take on.<br />

The user story in this case is a description<br />

<strong>of</strong> the bug, and the tasks will be the work<br />

necessary to fix that bug (as far as you and<br />

your team can gauge from the description).<br />

Q: I’m really struggling coming up<br />

with estimates for my bugs. Am I just<br />

supposed to take my best guess?<br />

A: Unfortunately, you will be taking a<br />

best guess. And when it comes to bugs, it<br />

pays to guess conservatively. Always give<br />

yourself an amount <strong>of</strong> time that feels really<br />

comfortable to you. And remember, you’ve<br />

got to figure out what caused the bug as well<br />

as fix it; both steps take time.<br />

One technique you can use is to look for<br />

similar bugs in the past and see how long<br />

they took to find and fix. That information<br />

will at least give you some guide when<br />

estimating a particular bug’s work.<br />

Download at WoweBook.Com<br />

Q: If I have a collection <strong>of</strong> bugs, how<br />

do I decide what ones should make it<br />

into the board and be fixed in the next<br />

iteration?<br />

A:” You don’t! Priority is always set<br />

by the customer. So the customer sets a<br />

priority for each <strong>of</strong> the bugs, and that’s what<br />

tells you what to deal with in each iteration<br />

Besides, this approach lets the customer<br />

see that for each bug that is added to the<br />

iteration, other work—like new functionality—<br />

has to be sacrificed.<br />

The decision is functionality versus bug fixes,<br />

and it’s the customer who has to make that<br />

call... because it’s the customer who decides<br />

ultimately what they want delivered at the<br />

end <strong>of</strong> the next iteration.<br />

Q: I understand why the high-priority<br />

stories made it onto the next iteration’s<br />

board, but wouldn’t it be a better idea to<br />

add in another high-priority user story<br />

that slightly breaks the maximum work<br />

limit, rather than schedule in a lower<br />

priority task that fits?<br />

A: Never break the maximum working<br />

days that your team can execute in an<br />

iteration. That value <strong>of</strong> 36 days for the<br />

maximum amount <strong>of</strong> work your team can<br />

handle for an iteration <strong>of</strong> 20 days is exactly<br />

that: the maximum.<br />

The only way that you could add more work<br />

into the iteration is to extend the iteration.<br />

You could fit in more work if your iteration<br />

were extended to, say, 22 days, but be<br />

very careful when doing this. As you saw<br />

in Chapter 1, iterations are kept small so<br />

that you can check your s<strong>of</strong>tware with the<br />

customer <strong>of</strong>ten. Longer iterations mean less<br />

checks and more chance that you’ll deviate<br />

further from what your customer needs.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!