## Maintaining a Case Estimate

To help make estimates of when a case or an entire project will be complete, FogBugz lets you enter an estimate for any case. An estimate can be given in days or hours (or both). To enter an estimate, you use d for days and h for hours; both parts are optional. For example, all of these are acceptable estimates:

• 15h (15 hours; FogBugz will convert this to the equivalent in days and hours when you save the case.)

• 1.5d (1% days; FogBugz will convert this to the equivalent in days and hours when you save the case.)

■Note By default, FogBugz assumes that the working day is 8 hours long, so that 1.5d is converted to 1d4h. Administrators can adjust the length of the working day, and FogBugz will change the conversion accordingly. For example, if you force your workers to do mandatory overtime and work 10 hours a day, 15h will convert to 1d5h. On the other hand, if your team only comes in for half days and works an average of 4 hours, 15h becomes 3d3h. For details on adjusting working hours, see Chapter 3.

For cases that can be resolved quickly, you can enter less than an hour by using fractional hours: .5h for 30 minutes, .25h for 15 minutes, even 0.1h for 6 minutes. The only estimate that you can't enter is 0h, because that would be indistinguishable from not having entered an estimate at all. Anyhow, you can't resolve a case in no time, no matter how efficient you are!

If you ever change an estimate, the original estimate is shown above the current estimate. This is useful if you want to go back to your old bugs and see how good a job you've done estimating in the past, so you can learn to estimate better in the future. Once you enter a nonzero estimate for a case, FogBugz also allows you to enter the elapsed time. FogBugz will automatically calculate the remaining time based on the current estimate and the elapsed time. For features whose work spans several days, at the end of every day's work, you can reenter your current best-guess estimate and the amount of time spent so far. This helps ensure that the total time estimated in the system is as accurate as it can be.

Let's look at this process in practice with an actual case. Figure 4-1 shows the initial state of a case representing a new feature that needs to be added to the Service Monitor application.

Figure 4-1. A new case with an initial estimate

In Figure 4-1, Paige has logged on to her account to discover that her manager, Valerie, entered a new case and assigned it to Paige. Because Valerie entered an initial estimate when she created the case, FogBugz shows four values in the Estimate section of the case:

• The original estimate

• The current estimate

• The actual elapsed time

• The estimated time remaining

■Tip Don't enter an estimate when you create a case unless you think you can be reasonably accurate. It's easy to search for cases with no estimate (by setting up a filter) but impossible to search for cases with inaccurate estimates. Use your judgment; if you're a manager parceling out features based on a detailed spec, you probably have a good idea of how long the work will take, but if you're a tester who finds a mysterious bug, it's tough to know what will be involved in fixing it.

Paige has some other cases on her plate that are due sooner, but she doesn't want this one to creep up on her by surprise. So she blocks out an hour of her day to investigate the problem. At the end of that time, she's convinced that the feature can be implemented, but that it will require major changes to the scripting in the setup project. At the end of her work day, Paige edits the case as shown in Figure 4-2.

Figure 4-2. A case with some work and an updated estimate

■Tip An open case makes an excellent place to keep notes to yourself about what needs to be done to close the case.

A few days later, Paige gets time to actually work on the new feature. She puts on her headphones, cranks up the music, and gets into the zone. Miraculously, no one calls an emergency meeting and the corporate e-mail server is down for most of the day, minimizing interruptions. At the end of the day, she thinks she has only another hour of work left, so she edits the case again. Figure 4-3 shows the newly updated case.

Figure 4-3. Reupdating an estimate

As you work on a case, the elapsed time and the current estimate should converge to the same number. Then, when you mark the case resolved, you should set the final estimate and the elapsed time to the actual time worked. Of course, if the case needs to be reopened later, you'll find yourself increasing the estimate once again.

0 0