This page is the place for all bugs, enhancement suggestions and
(re)design proposals. Entries that are likely to be addressed for the
next version of the plugin are indicated in red. I'll leave it up the
coders working on these features to identify themselves if they wish
to do so, since I don't want to put undue pressure on them
Bugs
Non-tracking pages named Story cause problems
When a topic appears in the web that ends in "Story" but does not have an associated project and team (e.g., it is just so named by accident) then XPSHOWALLTEAMS shows an empty row in the table for that story.
--
ThomasWeigert - 27 Oct 2002
Parents with no children should still display
I find it somewhat unintuitive that a team or iteration does not show up in the tables until one adds a story to an iteration. If I define an iteration, say, without adding a story and want to come back later to add stories, I need to find the iteration in the index. It seems to me that it should show up as part of the team or project even without any stories.
MW: The code was originally designed to have all important data in the story, and have higher levels search the stories. We could reorganize it so parents know about their children, but then there is a danger of a page having multiple parents. Actually, I did not intend to suggest that the parents know about their children, but it could nevertheless be possible to show parents that do not have children. I realize that this involves extra searching and checking.
--
ThomasWeigert - 27 Oct 2002
Partially fixed in 3.2. Iterations without stories will be shown. Projects and teams are more difficult as it involves modifying the caching mechanism.
--
RafaelAlvarez - 28 Jul 2004
Non-numeric sorting of Development Order
The Development order is sorted alphabetically, not numerically. A simple fix is to add "$targetOrder{$a} <=> $targetOrder{$b} || " in front of every "$targetOrder{$a} cmp $targetOrder{$b} || " in the .pm.
--
ShawnDevlin - 07 May 2003
This could lead to performance problems (even a hang up of the application) if numeric and non-numeric values are used in Development Order. Anyway, Development Order is deprecated in favor of Next Story in order to make easier the reordering of stories (in the project I work, we have about 50-100 stories per iteration... imagine reordering that)
--
RafaelAlvarez - 28 Jul 2004
Name of User/Main web hardcoded
Using %XPSHOWLOAD% (v3.1) I ran into the problem that 'Main' is hardcoded into the respective subroutine. IMO it would be better to refer to
$mainWebname in this context. To fix this, I added
$mainWebname to
use vars qw () at the top of the plugin, and changed line 1999 as follows:
# straighten $who
$who[$x] =~ s/($mainWebname\.)?(.*)/$mainWebname$2/;
--
PatrickHansmeier - 13 Jan 2004
Fixed in 3.2, thanks.
--
RafaelAlvarez - 28 Jul 2004
EDITCELL strings appearing in some tables
When using version 3.3 with TWiki 4.0.1, two of the project tables display in the browser the %EDITCELL% commands. In reading the
TWiki:Plugins.EditTablePlugin
documentation, for an %EDITCELL% command to work, there
must be an %EDITTABLE% at the start of the table.
This can be fixed by adding the following lines:
lib/TWiki/Plugins/XpTrackerPlugin/ShowProjectIterations.pm
Line 50:
$list .= "%<NOP>EDITTABLE{editbutton=\"hide\"}%\n";
lib/TWiki/Plugins/XpTrackerPlugin/ShowTeamIterations.pm
Line 55:
$list .= "%<NOP>EDITTABLE{editbutton=\"hide\"}%\n";
--
PaulOConnor - 24 March 2006
xpshowdevelopertasks: error in "Developer totals" when concatenate 2 developers
I'm trying something like this ...
%XPSHOWDEVELOPERTASKS{DeveloperName1}%
%XPSHOWDEVELOPERTASKS{DeveloperName2}%
But when i do it, i get "Developer totals" for second developer as (sum of all tasks for developer 2)
and (sum of "developer totals" for developer 1).
This issue matters because the variables
$totalSpent,$totalEtc,$totalEst within
developerTasKByProject function are the same ones that variables
$totalSpent,$totalEtc,$totalEst in
developerTask function.
In order to solve this issue, i changed vars within
developerTaskByProject in local vars and make all changes neccesary to get two functions work.
I have solved this issue applying next patch to code (maybe this patch would be commited by some xptrackerplugin developer to svn):
Index: lib/TWiki/Plugins/XpTrackerPlugin/Show.pm
===================================================================
--- lib/TWiki/Plugins/XpTrackerPlugin/Show.pm (revisión: 17443)
+++ lib/TWiki/Plugins/XpTrackerPlugin/Show.pm (copia de trabajo)
@@ -62,9 +62,13 @@
# todo: build a list of projects/iterations sorted by date
my ($totalSpent,$totalEtc,$totalEst)= (0,0,0);
foreach my $project (@projects) {
- my $text;
- ($text,$totalSpent,$totalEtc,$totalEst) = &developerTasksByProject($developer,$project,$web);
+ my $text, $projectSpent, $projectEtc, $projectEst;
+ ($text,$projectSpent,$projectEtc,$projectEst) = &developerTasksByProject($developer,$project,$web);
+ $totalSpent += $projectSpent;
+ $totalEtc += $projectEtc;
+ $totalEst += $projectEst;
+
if (($totalEtc && $totalEtc>0) || ($totalSpent && $totalSpent>0)) {
$list .= "\n\n\n";
$list .= "---+++ Project: " . $web.".".$project ."\n\n";
@@ -104,6 +108,8 @@
TWiki::Plugins::XpTrackerPlugin::Cache::initCache($web);
+ my ($totalSpent,$totalEtc,$totalEst)= (0,0,0);
+
my $list="";
my @teams = &TWiki::Plugins::XpTrackerPlugin::xpGetProjectTeams($project, $web);
foreach my $team (@teams){
--
AndresManeiro - 24 Aug 2008
I created a bug item with this info, so I won't forget to apply it. Good catch.
Tracked on
Bugs:Item5956
--
RafaelAlvarez - 25 Aug 2008
Requests for new functionality
Customization
I'm in a QA department, and this looks like an intersting tool to track testing progress as well as development progress. My only concern about trying to gain buy-in is the nomenclature. I'd love to be able to customize the terminology (Story, Iteration, etc.) to reflect our company's development terms, milestones, and general concepts.
I did a find-replace in the pm and templates to suit my needs, and it's working. Still, an easier way to customize would be nice. (Great tool, by the way. I expect it will help my department.)
--
SteveRosenthal - 01 Nov 2003
Steve - out of curiosity, what names did you change, and what did you change them to? The names used in the plugin are fairly standard in the XP world, which is the reason they have not been customisable (so far.) Also I'm interested in how you are using it to track testing progress. Are you adding any additional functionality? If so, patches are always welcome here
MartinWatt - 06 Nov 2003
Hi, Martin -- I made the following translations:
- Developer
Tester (self-explanatory)
- Iteration
Phase (our release cycle is divided into "phases"; one might also use the term "milestone")
- Story
Area (a major feature group or area of functionality; e.g. Menus)
- Task
Case (a test case or set of test cases within an Area, but no more atomic than something like "File Menu" (all-encompasing for test cases like Open, Close, Save As, etc.)
There are some other fields in the templates I've changed to reflect our way of doing things, and I'm still thinking about how to make other fields more relevent. For example, the Risk menu doesn't really apply in the same sense for QA as it does for development. We might be more inclined to change the terms "low", "medium", and "high" to some kind of status like "blocked", "feature not implemented", etc. However, in the particular case of the Risk menu, I don't believe the contents of that field percolate up to higher-level views, so it's only semi-useful to us.
Our goal is to keep things fairly high-level: we won't drill down into individual grid items (see the above exaple for Task/Case). Those will be linked-to from the Case Name field.
We're just on the verge of rolling this tool out on a current project, so I'll have to keep you posted as to our progress with it. I haven't added any functionality since I'm not a developer, but I'm working on learning some Perl chops, so maybe someday. :-)
--
SteveRosenthal - 05 Dec 2003
Holidays
Looking at the 3.1 beta, what about taking holidays into account? (Perhaps loosely integrated with the
CalendarPlugin?)
--
AnthonPang - 01 Jan 2003
Make the FEA field optional
Should be controllable by a plugin variable, and not enabled by default
--
MartinWatt - 28 Nov 2002
hmm... Agreed.
--
RafaelAlvarez - 28 Jul 2004
Add function to show all iterations and stories for a team
Currently the project level lets you look down 3 levels, ie shows teams,
iterations and even stories. Request is for an option to show iterations
and stories for a team, to make it easier for a team to locate "lost" stories.
--
MartinWatt - 28 Nov 2002
Pair programming
Since this plug-in called XP tracking (not simply tracking) one major feature is missing -
Pair programming. We should able to put two developers in developer task field and calculate velocity for both of them. Current workaround to create two the same tasks for each developer or create paired user name (as Pair1 or something) is awkward to use. This feature will help to make this a real
XP tracking.
--
LeanidNazdrynau - 05 Mar 2003
I don't know if this is well known and documented elsewhere, but pair programming seems to work if you separate developers with a space. As long as you put in estimates and the like in the same fashion, the math works out. Check out
http://csci.mrs.umn.edu/twiki/view/CSci4654/TeamBottomIterationZero
for an example of how this would look.
--
DougMoll - 03 Apr 2003
Doug. I have to admit I'm surprised this works, but it looks like you are right. I'll have to check the code to see how it's doing that
--
MartinWatt - 06 Apr 2003
Effectively it works (partially). The second programmer will not get the correct estimate/todo/spend time in his velocity. This was fixed in 3.2.
--
RafaelAlvarez - 28 Jul 2004
Breadcrumbs
Each page that's part of the Xp Tracker Hierarchy should have a breadcrumb that goes all of the way
up to the root of the hierarchy to improve navigability.
--
OrionAuld - 12 Mar 2003
I believe this is the same as the item below re using the PARENT tag. Once that is added, the skin should show the whole hierarchy.
-- MartinWatt - 12 Mar 2003
Better documentation
Hearing a fair amount of nonpositive noise about the quality of the documentation. Need to tidy up the main page, add info on installing the Tracking web, what the colours mean etc.
Also consider merging the documentation on the main
XpTrackerPlugin page and the
ZenAndXpTracking page.
--
MartinWatt - 02 Apr 2003
Related comment:
Add some more details to the SetupHowto page
Could the documentation be changed to indicate that a new Project won't show up on the WebHome page until a Story has been created? It would be a small change, but would save the frustration we had with the plugin until we discovered this via experimentation.
Maybe something (as I added to our SetupHowto page) like:
The Project will not show up in the WebHome page, until you create a Story page belonging to that project. The only page that has a naming requirement is the Story pages, which
must end in "Story".
--
BernardFarrell - 03 Apr 2003
Track historical progress
Would be useful to keep a record of progress vs estimates. When I want to do this I currently create a separate spreadsheet and copy the numbers out of the Iteration page each day, but it should be possible for the plugin to track it itself. Not trivial, as it needs a daily job that parses the stories to extract the progress vs schedule each day, and have a way to present the results. A simple short-term step may be to have another field in the Iteration page that shows % actual completion vs estimate.
--
MartinWatt - 06 Apr 2003
Stories I Lead
There was a request from one of the developers on our team to pull up a page that lists the stories where he is the lead. I added a TWiki variable %XPSTORIESILEAD% to the module. I can forward the code to you if you want.
--
ShawnDevlin - 07 May 2003
Reprioritize Stories
When there are many stories in a iteration, adding a new story or needing to reprioritize a story is a major PITA. I added a TWiki variable %XPPRIORITIZESTORIES% to generate a table of stories for an iteration and let the user set the priorities for each story. I can forward the code to you if you want.
--
ShawnDevlin - 07 May 2003
Stories spanning iterations?
We've used XP for software development for over a year and have been very happy with our improvements at predictably delivering a high-quality product. Lately, I haven't been doing a good job at keeping the tracking numbers adequately crunched, and since I had a TWiki install that I was playing with anyway, I decided to install the
XpTrackerPlugin. I think it's a great tool, but unfortunately it doesn't seem to match our (traditional XP) development model in some very critical ways.
XP has fixed length iterations, and stories being worked on may or may not complete each iteration. This means that stories in XP may span multiple iterations. It's possible that I'm just being dense, but I can't find any way to represent this with the plugin! In my evaluation I've found the issues that block our use of the tool to be that stories cannot span iterations and that teams cannot span projects
Is there a way I can easily resolve this, beyond major implementation changes?
--
JeredFloyd - 30 Mar 2004
AFAIK, there is no way to represent a story that span multiple iterations, and as the relationship between teams and projects is that of a page with it's parent there is no way to have the same team in multiple projects (but you can have the same people on different projects, as the team is not related to people)
--
RafaelAlvarez - 31 Mar 2004
Jared, there is no way to do what you want without major implementation changes. For myself, I have not found this to be a problem as our stories are always shorter than an iteration. Our iterations are 2-3 weeks, and the end of each iteration is supposed to be a deliverable product. Since it is hard to estimate tasks that will take longer than this, we limit our stories to less than an iteration. For bigger jobs we break them down into multiple stories. A quick google search shows others having stories typically in the 1-3 week range, but of course there are no absolute rules. As for teams spanning projects, I'm not sure how XP that is either. Have you got links that talk about teams working on multiple projects at the same time in XP?
--
MartinWatt - 04 Apr 2004
Design suggestions
Showing dependencies
Recording and displaying dependencies between tasks/stories (eg task A cannot be completed until task B is done.)
--
MartinWatt - 29 Jul 2002
Identifying Stories using metadata
Rather than using the convention that iterations should end in "Story", why don't you use metadata to indicate that a topic represents a story? This will less likely cause confusion, and finding all stories will not be that much slower. It might also be easier to keep the tables in metadata, as in
SimpleTableEntryUsingForms. That way, there is less temptation to edit the tables in the topic edit mode....
--
ThomasWeigert - 27 Oct 2002
Use PARENT tag to store dependencies
AnthonPang suggested this first (09 Jan 2003) and
PatrickHansmeier ran into a TWiki bug exposed by
XpTrackerPlugin not setting the PARENT tag. It seems like a good design to use this existing feature to register dependencies. Maybe there should be a
TopicChildren tag too, to speed traversal and remove the need for the current caching feature?
--
MartinWatt - 22 Feb 2003
As
TWikiDocumentation says, "there is no Meta Data support for Plugins". Thus, using TOPICPARENT (or FORM-entries, e.g.) for purposes of XpTracking would require changing/enhancing
Meta.pm.
--
PatrickHansmeier - 13 Jan 2004
Add new methods to show all iteration's stories and iteration details by user
From
LeanidNazdrynau - see description at
XpTrackerPluginDev. Two new tags added: XPSHOWITERATIONBYDEVELOPER and XPSHOWITERATIONTERSEBYDEVELOPER. Need to add into plugin.
--
MartinWatt - 06 Apr 2003
Multiple Projects for a Development Team
It would be nice if multiple projects could be assigned to the same development team. When prompted for a team when creating a project an existing team cannot be specified. We are a small team (8 developers) that work on a multiple projects. True to the pair programming part of XP, everybody works on everything. At the moment we have entered just one Project in order to get the XP module to work for us. I am not sure of the impact this will have on Iterations. Since we are one team, and iterations are tied to a team, completed Stories for an iteration come from many projects. I don't know what impact that would have on the code.
--
ShawnDevlin - 07 May 2003
In other words you want to put Project and Team on the same level. This will complicate initial setup, you will have to link Project to Team. May be we better think about putting each Project/Team/Iteration/ in separate directory in other words to repeat
XpTracking structure in file structure and avoid name conflicts not only between Team and Iteration but also between Stories. It also eliminate need to build project from Story level. No more empty projects without Story set. Should be quicker too. We just have to waite till this feature:
MultiWebs at TWiki
--
LeanidNazdrynau - 08 May 2003
Items awaiting further feedback
Don't enter default text in fields
When creating an iteration, it probably is not useful to insert end date, duration, previous, and next by default. Neither should Development order, Customer, and Story Lead be defaulted to meaningless text when creating a story. Creating an initial task named "Task" by default is probably not a good idea either....
MW: When creating an iteration, initial text is there to show the format required, eg dates. I guess we could leave these fields blank though... There must be at least one task in an iteration, so I add one with zero days allocated. The "Task" name is a fixed field for every task, and is used by the plugin to search for the tasks in the page. I understand, but there is no obvious reason why a story must have a task...
MW: A story must have a task because the tasks are where the time estimates are entered. Time for the story is computed by adding the times for the individual tasks. When there is no task in a story, then obviously the time is 0. It is rather strange to see "fake" tasks in a story just so that the algorithm does not need to check for presence of tasks. Typically, what happens is that you start a project from the top down. You define the iteration, later add a set of stories, later still you go back and start adding tasks. Seeing the "fake" tasks in the meantime is a distraction (not a big deal, but could be easily avoided, in my opinion).
--
ThomasWeigert - 27 Oct 2002