Best Practice Analyzer
Implementing checks for Best Practices on a Software Project was something wanted to strive for with TeamPulse. TeamPulse checks your project looking for conditions that may be of a concern to a team.
The Best Practice Analyzer takes a look at your project for some very specific conditions.
TeamPulse currently has the following rules:
- Current Bugs Should Be Assigned To An Area
Assigning bugs to an area help with identification of problematic areas of the project. - Current Iteration Has Bugs / Issues / Risks With No Estimates
Bugs, Issues and Risks should have estimates in hours. Solving bugs / issues / risks takes from your overall capacity so it is valuable to know how much time you'll have to work on user stories. - Current Stories Are Low or Undetermined Certainty
Teams should strive to have high certainty on stories prior to implementation. Working on a story which is uncertain may lead to delays and even rework so it is better to spend some time clarifying story description before starting work on it. - Current Stories Are Low or Undetermined Maturity
Teams should strive to have a high maturity story prior to implementation. - Current Iteration Has Stories With No Acceptance Criteria
Stories in the current iteration have no acceptance criteria. Stories should have acceptance criteria to help define when it is complete and to aid in test definition. - Current Iteration Has Stories With No Estimates
All stories should have estimates to provide velocity measurement. It helps answer questions like: Is the sum of estimates for your stories higher than the iteration capacity? Will that story even fit in a single iteration? - Current Iteration Has Stories With No Personas
To help frame how stories are consumed by users, it is a good practice to associate them with personas. - Current Iteration Has Stories With No Tasks
Stories are requirements – not work, stories should be decomposed into tasks that represent the work required to implement the requirement in the software. - Current Tasks Have No Estimates
Tasks should have estimates in hours. - Current Tasks Have Same Best Probable and Worst Case Estimates
Best case (optimistic), most likely case (realistic), and worst case (pessimistic) estimates for tasks are the same. Rarely is it ever acceptable to have tasks have the same estimate in all three cases. - There Are Done Bugs That Have No Resolution
Bugs that are in a done state should have a resolution entered for future reference so that you know how you fixed these bugs. - There Are Done Stories That Have Not Done Children Stories or Tasks
A story can be considered as done when and only if all its children stories are done. Thus, on marking the parent story fulfilled, the status of the sub-stories should also be changed. - Iteration Duration Exceeds 30 Days
Iterations (leaf level) are longer than 30 days. Iterations should rarely exceed 30 days. - Previous Iterations Contain Work In Progress
Previous iterations (not counting the current iteration) contains work in progress (work that is not done). Previous iterations should only have done work in them. All other work should be moved forward. - Triaged Bugs Should Be Assigned To An Area
Bugs that are triaged should also be assigned to an area in order to help with identification of problematic areas of the project. - There Are Stories In The Backlog That Are Marked As Done
It is important to know in what iteration a story is complete. Setting status values in the backlog is not a good practice and may mean that people have not scheduled the stories appropriately.
TeamPulse will be continually adding more and more Best Practices to the product and they are going to be extensible so it will be easy to write your own best practices.
You can access the Best Practice Analyzer by using the ribbon- Best Practices tab > View Best Practices
enlarge screenshot
Analyze your project
You can select which rules you want to run and then click the “Analyze my project” button. When you perform a project analysis the results are displayed in the analysis results grid.
enlarge screenshot
To address an issue found by the Best Practice Analyzer, all you have to do is click on the icon associated with the result, and TeamPulse will take you directly to the subject of the issue. The analysis results will be saved for your project until the next time you perform the analysis, and of course, you’ll have the ability to export the results to HTML, Word, CSV, or ExcelML.
enlarge screenshot