tracker_apps1Add my vote for this tag create new tag
, view all tags

Original Code of XP Tracker Plugin

The following Moved from XpTrackerPluginDev now that this code has been converted into a Plugin (MartinWatt)

-- MartinWatt - 29 Jul 2002

I got below email from RichardBennett, contributing code for a TWiki based XP Tracker. Thanks Richard! This is not yet a plugin, but could be converted into a XpTrackerPlugin. I post it here "as is".

-- PeterThoeny - 13 Mar 2002

NOTE: All code and samples were written by Richard Bennett for NUIX Pty Limited, and are released under the same license as TWiki.


Thanks for your emails regarding our XPTracker tool for TWiki. As I've explained to some of you, we don't run the plugin enabled version of TWiki, and we do not have the time to allocate to prepare the tools for real realise, so we releasing them AS IS.

Please have a chat amongst yourselves about how to put this into a plugin, and release to the TWiki community. We release this in good faith that they will be released to the TWiki community ASAP in a format which everyone can use. Now, details...

Nothing is documented, as I haven't had time, so there may be some guess work involved with how to use it. However, feel free to drop me emails if there are questions.

The basic idea is that you have a TWki web for your project. The WebHome page contains (apart from your local installation requirements), two XPTracker tags which display the story and task status for each iteration.

Stories are entered in with TWiki page names ending in "Story". I have included a sample page called "MiscSampleStory". The tags on the WebHome page scan the TWiki web for page ending in "Story", and parse the XML tags to obtain metrics. MiscSampleStory should appear on WebHome in the table under the iteration named "ScorpioI1". There is no requirement to provide a page for an iteration, as all the high level metrics are parsed by XPTracker out of the "Story" pages. However, a page for each iteration is nice so that the iteration names in the table don't have "?" after them, and can also provide a launch point for the story within the iteration. A sample is included as "ScorpioI1". The iteration names can be anything you like that are valid TWiki words. We use the release name "Scorpio", followed by "I" and the iteration number within the release. There's nothing to stop you using alphanumeric iteration names, or numeric release numbers, just make them TWiki words if you want them to appear with proper hyperlinks.

Now I'll go through the XML tags in the "Story" pages. (this is from MiscSampleStory) Some of these tags are not used by the XPTracker, and are simply there for reference of future use. I'll mark these with (NOLOGIC).

>| Story name | XpTrackerPluginOriginalCode |

Current story name. Valid TWiki word obviously.

>| Story summary | Miscellaneous tasks not big enough to be captured in
a >story |

Summary of the story. (NOLOGIC)

>| Original estimate | 1 |

This is the original estimate from the planning game. We have used days and hours at various times. The value should be numeric, so just decide on what to use, and stick with it. Let's assume hours.

>| Date estimated | 2002.01.01 |

The date that the story was estimated in the planning game. (NOLOGIC)

>| Iteration | ScorpioI1 |

Name of the iteration. (explained above)

>| Development order | 1 |

I'll cover this in dependencies later, but basically when the stories in an iteration are listed, this number is used for sorting. Lower the number, higher up the list. The idea is that the iteration works down through the list, assuming it's in order of dependency.

>| Customer | FredNerk, MaryJones
> |

Who is the customer. Valid twiki user.

>| Story Lead | ? |

We assign a "Story lead" engineer, who is in charge of co-ordinating all the tasks in the story, and co-ordinating with the customer for acceptance testing. (NOLOGIC)

>| Passed acceptance test | No |

Once passed, this field needs to be changed to "Yes". The iteration page recognises this and displays the story accordingly.

>*Full story*
>[ full story goes here ]
>*Implementation notes*
>[ implementation details? ]
>*Links to deliverables*
>[ links to doc etc.? ]

Refactoring canonical subject

The name of this task.

>| Original estimate |9 |

The estimate which came out of the iteration planning.

>| Date estimated | 2002.01.22 |

When the task was estimated. This will be the day of iteration planning. (NOLOGIC)

>| Assigned to | PeterSmith |

Who is the task assigned to. Multiple engineers can be specified using pipe "|". See some of the other tasks in this story for details. If there are multiple engineers (we don't use pair programming any more, so it is valid for us to have less than two engineers assigned), then there must also be multiple "est", "spent" and "etc" values as well, again separated by pipe "|".

>| Time spent | 9 |

Time current spent on the task.

>| Est. time to go | 0 |

Estimate of time remaining on the task.

>| Code reviewer | |

Because we don't always pair, we have code reviews. The name of the code reviewer goes here. (NOLOGIC)

>| Time variance details | |

If the task took longer than estimate, full details of the reason go here. (NOLOGIC)

>| *Task description*| |

This is the full detail of the task. (NOLOGIC)

The process we use is the usual planning game, stories are estimated, and brought to iteration planning with all of engineering present. We use large magnetic sheets and use whiteboard markers to write up the stories and tasks (we use the same colour markers as the XPTracker uses for stories and tasks in fact). Once the tasks are clear, we arrange them around the room in order of dependency. Then engineers assign themselves. This takes the most time, because of the dependencies. Once everything is assigned and ready to go (including filling in the code reviewer, customer and other details), the day ends. The day after iteration planning, engineering begins, and the tracker types up all of the stories and tasks into TWiki. This takes an entire day, which means by the third day, tracking may begin, and all of engineer no have easy access to all the details of the iteration, stories and tasks.

The following is the sample iteration page:




This is used to sort the tables on WebHome. All dates in XPTracker are treated as numerics, and must be in the format YYYYMMDD.

>*Release Scorpio Iteration One*
>For story and task details, see the (master) cards for this iteration.

Iteration duration:13 days
Iteration start:17th April 2001
Iteration end:4th May 2001

The above is all optional. We just use it for reference. Your mileage may vary.


These two tags are important. The first displays the current state of the iteration, by parsing all the story pages it can find for this iteration. The second displays the breakdown of hours and tasks spent by each engineer. We plug these into an Excel spreadsheet at the end of the iteration which the calculates the number of points each engineer has for the next iteration.

The rest of the page is for reference, and you can include whatever you like.

Now, we also have two special iterations. We use TornUp to indicate that a story card has been torn up, because TWiki doesn't allow deleting of pages easily. The second is StoryPool. We use this to hold stories which were typed in, but were bumped from an iteration.

Moving stories between iterations is as easy as changing the "" tag at the top of the story's page. Simple.

The tracker is the only one who updates stories. Whenever they wish to do a tracking run (we do every second day), they print the iteration, and visit each engineer with the printed page. Annotations are made by tracker as they go, in particular the "spent" and "etc" fields, as well as the acceptance test flag. The tracker also talks with the engineer to get feedback on the process and work etc. ala XP requirements. After the run, the tracker enters all the new details into the stories, and the WebHome and iteration home pages update automatically with the new figures.

The files included are:

templates/notedited.tmpl - The template used when creating a new story. bin/wikicfg.pm - The code for the various tags, in the pre-plugin format. data/Stories - Sample files for a project.

The most difficult part of installing this is definitely the tracker learning to use the system, in particular which fields to update etc. They should spend some time in a test TWiki web which they can play with first.

Good luck! Please keep me informed of progress.

All code and samples were written by Richard Bennett for NUIX Pty Limited, and are released under the same license as TWiki.

Contact email addresses: richard@nuixPLEASENOSPAM.com.au, richardb@apple2PLEASENOSPAM.org.

Regards, Richard

-- RichardBennett - 13 Mar 2002

Topic attachments
I Attachment History Action Size Date Who Comment
Compressed Zip archivezip TWikiXPTracker.zip   manage 12.9 K 2002-03-14 - 07:35 PeterThoeny Richard's XP Tracker (not a plugin)
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2002-07-30 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.