Note on version numbering: A major version increase eg 2.0->3.0 implies a break in backwards compatability. A minor version increase eg 3.0->3.1 implies new functionality or bugfixes which still preserve backwards compatability
The titles in XPSHOWPROJECTCOMPLETIONBYSTORIES were wrong, and the percent of completed Stories was calculated based on Stories in "Acceptance" instead of "Completed" Stories.
In XPSHOWPROJECTCOMPLETIONBYTASKS, the Tasks with "Acceptance" status where being accounted as "In Progress".
Changes in 3.2
Note: We're using this plugin at the company I work, so I'm really eating my own dogfood -- TWiki:Main.RafaelAlvarez
Code Structure & Performance related changes
Split the HUGE XpTrackerPlugin.pm file into several modules in the TWiki::Plugins::Xp package
Implementation of objects representing Stories, Iterations and Tasks. I found out that in some cases the use of these objects improved performance, but in others they impaired it.
Replaced all the calls of "unofficial" subs with their equivalent in the Func module. The only exception is TWiki::isWikiName as it doesn't have an "official" equivalent.
Moved DEAD code to Xp::XpTrackerPluginDeadCode. All the dead code is commented out
Load the TWiki::Plugins::Xp modules on demand (using eval("use TWiki::Plugins::Xp::module");), trying to reduce the amount of code Perl need to parse, thus improving performance (that's the theory) In practice, there wasn't a big improvement.
Changed the Cache management: Each time a topic is saved, the cache is invalidated and rebuilt (using the afterSaveHandler).
Performance improvements by reading the topic text only once. In some places, the topic text was bein read and parsed at least twice.
Modified some subs so they iterates only once over the stories, thus increasing performance.
Changes in variables
Added %XPSHOWDEVELOPERTASKS{developer,web} to check the task in any web. We use this in our homepages at the Main web to list the task in our Tracking web.
SHOWTEAMITERATIONS shows also the number of stories in an iteration
SHOWITERATIONTERSE shows the Developer(s) and the Reviewer(s) for each story.
SHOWITERATION show the completition percentage with the status.
Changes in templates
Changed the name of the new pages templates to use the prefix Xp for easy identification.
Created an admin page (XpAdminPage) to easy the management of templates and special topics.
Added 3 more status to Stories (Error, On Hold and Deployment). Use them or ignore them to your heart content.
The field "Development Order" in the stories is deprecated in favor of "Next Story" in order to make easier the reordering. The field is there, but is not being used now shown in summaries (you need to go to the story page to see the next story)
The field "Acceptance Criteria" in the stories was droped. The "Acceptance Criteria" was moved to the main body of the story.
Usability changes
Use a script in JavaScript? to be able to sort complex tables (like XPSHOWITERATIONTERSE) without requiring a page reload. If the table is big, this could last several seconds (but still less than a reload)
Changed the iteration ordering in so the most recently started iterations appear first.
Changed the interface to improve usability (and loading time).
Change in behavior
When the velocity is being calculated in XPSHOWVELOCITY if two developers are assigned to the same task, the estimate, todo, and spent time are accounted to both.
When the iteration detail (XPSHOWITERARION) is shown, if two developers are assigned to the same task, they will appear in the same row. Before they appeared in different rows.
XPSHOWVELOCITY don't show the team total. It would be wrong because the same activity (and thus, the same spent time) could be accouted to more than one developer, counting it more than once for the total. To calculate the Team Velocity use the data from the iteration table.
Change the way to determine the completition status. Now it's considered complete if the TODO is 0, even if the spent is also 0.
Stories are ordered lexically by FEA. A sub in the Story object allows to change this for a more complex implementation in a centralized way.
No longer need to enter project name on iteration page
Error handling improved - now traps illegal page names, eg non-WikiWords, Stories that do not end with "Story" etc.
Waiting task status renamed to Not Started for clarity.
Clarify that html forms are used to create new pages, not add existing ones to a parent topic.
Internal plugin code refactoring.
Changes in 2.0
Added two new levels of hierarchy, Project and Team. Project is (for example) the next release of a product, and the project has one or more teams working on it. The XP tracking web can contain multiple projects. The full hierarchy therefore becomes: Web->Projects->Teams->Iterations->Stories->Tasks
Added more tables to allow various other views of the above hierarchy, eg iterations by project/team, all completed stories. Also added "managers-eye view" of an iteration to display a summary of the stories and times along with a bar chart to indicate progress.
Added forms on the tracking WebHome page to allow easy creation of new Project, Team, Iteration and Story pages using appropriate templates for each of these page types.
Arranged tasks horizontally, one per line, and used EditTablePlugin to enter data for stories and tasks. No more tags in tables to delimit entered data.