FogBugz

FogBugz and Kiln are tools that serve to facilitate project management and communication within your senior design team. In addition, your senior design advisor will monitor Kiln commit logs and a number of features within FogBugz to help provide useful feedback to the team and to help assess the contributions of each team member.

Developing proficiency with process tools is an important part of managing a project. Therefore, a significant portion of each member's senior design grade is based on the individual's ability to effectively use the tool. The cases, case notes, and Kiln commit logs all provide useful information for determining each individual's level of contribution to the senior design project. All are encouraged to spend time early in the fall quarter becoming proficient with FogBugz and Kiln.

Time Logging

FogBugz has time recording functionality built in. It's as simple as selecting the case you are working on when you start working and then selecting Nothing from the Working On drop-down menu when you are done.

 Working On Time Recording Menu

Click on the Working On drop-down menu in the upper right corner of the page and then select the case from the drop-down menu. If the case of interest is not listed, select Case # … and then enter the case number of the case of interest. When you are done working on this case, select a new case to begin working on or Nothing from the drop-down menu.

If necessary, it is possible to adjust the start and/or end times by selecting Edit Timesheet at the bottom of the drop-down menu.

Editing the Timesheet

Click on the Edit icon of the entry you wish to adjust. If the entry was made on a different day, use the features at the top right of the pop-up window to navigate to the correct day.

Don't enter time spent as a number. Although FogBugz does allow you to enter a fixed amount of time spent on a task, don't do it. Make sure you log your time using the time sheet functionality showing a start and end time for each activity. If you just enter a number of hours/minutes spent, FogBugz doesn't know when that time was spent or, I think, even who spent it.

Also, keep your time estimates up-to-date. EBS (Evidence Based Scheduling) uses the original estimate for its projections. Everything else should know what the most accurate estimate of the work remaining is. If the revised estimate is a result of significant additional unplanned work, you may want to add a subcase and place the time estimate there.

Cases

A case describes a discrete task that needs to be accomplished. It should:

  • require 3 - 5 hours to complete,
  • not be (or be only loosely) coupled with other cases,
  • be the responsibility of only one team member, and
  • be written in such a way that it is obvious when the case has been completed.

Case Creation

There are a number of ways to create cases in FogBugz. This video illustrates what I've found to be the most efficient way for adding new cases in FogBugz.

When planning for a given cycle, it may be difficult to break down all of the work into cases that are 3 - 5 hours in length. That's okay. Create a more generic case with a given estimate. When you get closer to actually working on it, then split it into smaller chunks. Each of these chucks should be a subcase, and you should shift time from the parent case for each of the subcases. (more discussion)

Case Management

In the process of completing a case, you may find that questions arise, discussion ensues, alternative approaches are considered, consequences of each approach are identified, etc. It is useful to capture this discussion so that it is possible to understand the choices that were made. Team members should comment liberally within each case. Here is the history for an example case:

Sample Case with Comments Associated with the Case

To add a comment to the history of a case, click on the case and then click on Edit to add a comment.

Milestones

Milestones are used to set a due date for a specific phase of your project. Cases are then associated with a milestone and progress towards the completion of the milestone can be tracked.

A milestone can be created from the project settings page.

Milestones

Reporting

FogBugz stores a wealth of data associated with the project. A number of tools exist to help mine this data and provide customized views of the data that allow each team member to work efficiently.

Clark Kent

 Selecting Clark Kent from the Extras Menu

Clark Kent is a plug-in developed for FogBugz that helps gather logged time data. You can access Clark Kent in the Extras menu on the top right of the page.

This plug-in allows you to list all time logged for a project/individual within a given time period.

This can be a useful tool for:

  • Calculating the total time worked in a week
  • Identifying which tasks were worked on in a week

Time Reporting via the Clark Kent Plug-in

Data Export

Make sure that you have selected all of the columns of interest and then go to the More drop-down menu directly above the Select Columns link on the upper right of the page. This gives you the option to export the data to Excel where you can then analyze it more easily.

Charts

FogBugz offers a number of charts that summarize data contained within the FogBugz database. These charts are useful for getting a quick overview of the project's status. The charts are available under the Reports menu item.

Selection Dialog

The selection dialog allows one to select which data will appear in the charts. One limit future milestones or lower priority cases from the data being charted.

Selection Dialog for Reports

Per-User Timelines

Per-User Timelines

Per-user timelines indicate the amount of work remaining for the selected milestone. If the user still have work left on a previous milestone, that work is reflected in the chart. FogBugz uses an Evidence Based Scheduling (EBS) algorithm to predict the probability that a user will be done with the cases assigned to him/her for that particular milestone (and those before it). EBS relies on the user's track record for completing cases in the time estimated for each case. If the user is always slower than the estimates, EBS will adjust the probability of completing the current milestone accordingly. The example above shows that FogBugz predicts that on May 10, 2010, there is

  • a 16% chance that the second user has completed all cases associated with the Project Wrap-up milestone,
  • a 65% chance that the second user has completed all cases associated with the Bug Fixes milestone but is still working on cases associated with the Project Wrap-up milestone, and
  • a 19% chance that the second user is still working on cases associated with the Bug Fixes milestone.

Notice that the first user has light blue dots with a really long tail. The light blue dots indicate that he is still working on cases associated with the Bug Fixes milestone. The long tail indicates that he has made very inconsistent estimates for his cases. As a result, the EBS algorithm does not have as high a confidence in it's prediction and, based on the poor estimates so far for this user, there is the potential that he will still be dressing up as a code monkey and doing bug fixes for halloween.

Notice that the fourth user has a very short tail, indicating that she has been much more accurate with her estimates.

Completion Date

The completion graph shows the probability that the milestone will be complete on a particular day.

Probability of Completion by a Given Date

Burn Down Chart

There is also burn down chart which shows the time remaining on the milestone as a function of the calendar day.

Burn Down Chart

At the beginning February there were no cases associated with the milestone. Throughout February and into the beginning of March, additional cases were added. This additional work causes the number of hours remain to increase until early March. At that point, work has begun on the cases and the hours remain dips. In late March, an additional, unplanned case was added to the milestone which caused the lines to jump higher and then continue down to zero as work was charged to the tasks. Here too EBS is at work providing confidence intervals on the amount of hours remaining for the milestone.

Eclipse Integration

Integration between FogBugz and Eclipse is available via Foglyn – a plug-in for Mylyn, an Eclipse plug-in. Foglyn lets you interact with FogBugz from Eclipse rather than having to go to the website for everything. If you are interested in using this, please let Dr. Taylor know. He can send you the registration key.

seniordesign/fogbugz.txt · Last modified: 2010/05/11 12:27 by taylor
 

This website is not owned or managed by the Milwaukee School of Engineering.

© 2003-2010 Dr. Christopher C. Taylor, et. al. • Office: L-343 • Phone: 277-7339 • npǝ˙ǝosɯ@ɹolʎɐʇ • -> RSS <-