https://www.redmine.org/https://www.redmine.org/favicon.ico?16793021292008-03-29T18:26:48ZRedmineRedmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=20742008-03-29T18:26:48ZThomas Löber
<ul></ul>There are two ways to accomplish this:
<ul>
<li>Having a configuration option on the project (or the tracker) named "compute done ratio" and letting Redmine update the value when appropriate. In that case the value should not be editable by the user.</li>
</ul>
Or, simpler, but with a short delay:
<ul>
<li>Doing this outside of Redmine using an SQL-Update statement that is called regularly.</li>
</ul> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=22292008-04-09T04:24:31ZRaz Mataz
<ul></ul><p>I would like to add that it would be great if tickets could optionally<br />aggregate the percentages from their child-tickets automatically.</p>
<p>We often work with "container-tickets" or "meta-tickets" to group related tasks.</p>
<p>For example, for an imaginary project with the goal to "create a website" we<br />might create the following structure:</p>
<p>Ticket #O1 (assigned to project manager): Create a Website<br /> Ticket #O2 (child of #O1, assigned to Graphician): Create logo images for $website<br /> Ticket #O3 (child of #O1, assigned to Coder): Program logic for $website</p>
<p>Now the graphician and coder will start working and (ideally) update the<br />percentage on their individual tickets regularly. It would be very helpful<br />for the project manager if the parent-ticket (#O1) could reflect the aggregate<br />percentage of all subtickets.</p>
<p>Thus, when ticket #O2 is 50% done and ticket #O3 is 90% done<br />then the parent ticket should read: 70% done.</p>
<p>For the implementation I'd imagine a simple checkbox next to the percentage<br />bar in the ticket-view. This checkbox should only be visible when a ticket has<br />any children and when enabled it would cause the percentage to be computed<br />as described.</p>
<p>The tricky part and what really turns this into a killer-feature (for us) is<br />that this kind of "percentage inheritance" should ofcourse work for a ticket-tree<br />of unlimited depth. The percentages of the children of children would aggregate<br />into the child and the percentages of the children would aggregate into the<br />parent ticket, etc.</p>
<p>That way a project manager could easily "drill down" into the ticket-tree to<br />identify bottlenecks and take countermeasures.</p>
<p>This is a little bit like the "Milestones"-view but we don't want to create Milestones<br />for every little thing. Instead our Milestones consist of a number of "subprojects" <br />that evolve around such ticket-trees that I just described.</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=22302008-04-09T04:28:30ZRaz Mataz
<ul></ul><p>Ah, forgot a tiny detail that's necessary to make the "drill down" truly effective:</p>
<p>The percentage of child tickets should be displayed next to the ticketname in the<br />"related tickets"-section of the ticket-view.</p>
<p>That way you can immediately see which of the child-tickets have a low<br />percentage without actually opening each one individually.</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=22312008-04-09T08:10:08ZMaxim Krušina
<ul></ul><p>Sorry for stupid question, but how you are doning "ticket nesting"? I dont see any implementation for this, except for ticket releation...</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=22492008-04-10T05:33:26ZRaz Mataz
<ul></ul><p>Yes, by relation; "Child of" and "Parent of".</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=38882008-07-14T15:20:11ZJim Jones
<ul></ul><p>Just bumping this ticket so it doesn't get lost.<br />I like the ideas, are they being considered?</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=38922008-07-14T15:44:13ZMichael Pirogov
<ul></ul><p>Sorry for stupid question, :-) but what if estimated_hours is less than spent_time? What to draw? 140%?</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=38952008-07-14T16:40:07ZJim Jones
<ul></ul><p>I can not speak for Thomas but my idea would be to make <strong>two</strong> bar-graphics: One for "Percentage done" and one for "Time used".</p>
<p>I would leave the "Percentage done" value manual (with the proposed ticket-inheritance) and apply the automatic that Thomas proposed only to the<br />"Time used"-graphic. And yes, if the ticket goes overtime then I would draw the graph 100% full, make it red and have the value next to it display the percentage (e.g. 140%).</p>
<p>My reasons:</p>
<ul>
<li>"Percentage done" can not be automatically determined. A human has to go in and decide how much is done or left to do.</li>
<li>"Time used" on the other hand can be computed as Thomas proposed.</li>
<li>The two values are independent and both are important. "Percentage done" is important to monitor progress and my proposed inheritance would help a lot with that. "Time used" is important for monitoring the timeline, keeping track of developer assignments and budgets.</li>
<li>I think everybody will agree that "time spent" is not directly related to "percentage done", especially in software-projects.</li>
</ul> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=38962008-07-14T16:41:46ZJim Jones
<ul></ul><p>PS: I'm Moe Mataz. Had to create a new account because I could not login any more and password reset did not work.</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=38972008-07-14T16:47:22ZShane Pearlman
<ul></ul><p>We ended up building a plug-in to handle this with a slightly different approach. The program allows the admin to set a % done value associated with each status. It makes it more general, but less arbitrary and the user no longer needs to fuss with % done. This is super useful when building reporting based upon % done. The key for it to be reasonably accurate is to make sure that tasks are not gigantic multi day tasks but smaller bit sized one - never longer than .5 day's time. If anyone is interested in the patch, I could ask eric to release it is we haven't done that yet.</p>
<p>ex:</p>
<p>proposed: 0%<br />new: 0%<br />in progress: 50%<br />feedback: 70%<br />pending signoff: 90%<br />complete: 100%</p>
<p>etc etc</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=39062008-07-14T20:13:40ZStephanie Collett
<ul></ul><p>+1 Our organization is interested in the patch. Entering in percent done seems redundant if you are already updated the status. I like this fix.</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=39092008-07-15T09:27:06ZMichael Pirogov
<ul></ul><p>shane pearlman wrote:</p>
<blockquote>
<p>We ended up building a plug-in to handle this with a slightly different approach.</p>
</blockquote>
<p>It'll be open-sourced? If so...<br />When/where we can get it? (-;</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=39132008-07-15T16:20:23ZShane Pearlman
<ul></ul><p>I'm sorry folks, It looks like I offered prematurely. We are a bit too slammed at the moment to go through the qa process and sync it up with the current open sourced release. Perhaps in a few months.</p>
<p>peace</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=40002008-07-21T16:09:14ZEric Davis
<ul><li><strong>Assignee</strong> set to <i>Eric Davis</i></li></ul><p>I'm assigning this issue to myself to help remind me about this plugin. I'll see if I can Open Source it soon.</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=49352008-09-24T18:16:30Zsebastián scarano
<ul></ul><p>Moe Mataz wrote:</p>
<blockquote>
<p>Yes, by relation; "Child of" and "Parent of".</p>
</blockquote>
<p>Hi, sorry for the stupid question, but I can't find the "Child of" and "Parent of" type of relations</p>
<p>All I have is (I'm translatinf from spanish) : related with, copy of, blocks, before.</p>
<p>And I could't find where to edit the types of relations</p>
<p>am I missing something???</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=49362008-09-24T18:46:57ZJim Jones
<ul></ul><p>sebastián scarano wrote:</p>
<blockquote>
<p>Moe Mataz wrote:</p>
<blockquote>
<p>Yes, by relation; "Child of" and "Parent of".</p>
</blockquote>
<p>Hi, sorry for the stupid question, but I can't find the "Child of" and "Parent of" type of relations</p>
<p>All I have is (I'm translatinf from spanish) : related with, copy of, blocks, before.</p>
<p>And I could't find where to edit the types of relations</p>
<p>am I missing something???</p>
</blockquote>
<p>No, you're not missing anything, the relationship types in redmine are just a little bit, ehm, wierd. For example "Blocks" and "Precedes" seem to be basically redundant, but that's a different story...</p>
<p>Back on topic: For a parent/child relationship you basically make the child "block" the parent. In an ideal world the parent could then not be closed before all children are closed and the parent would automatically compute the "Percentage done" from the children's values. Furthermore tickets with such a relationship would show as a tree (with indentation) under the "issues"-view.</p>
<p>Ofcourse we don't live in an ideal world and redmine does nothing of that as of today. ;-)</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=49372008-09-24T18:47:07Zsebastián scarano
<ul></ul><p>mmm</p>
<p>I'm beginning to think it won't be so easy to add new relations type</p>
<p>I've just seen it's hardcoded in</p>
<p><a class="external" href="http://www.redmine.org/repositories/entry/redmine/branches/0.7-stable/app/models/issue_relation.rb">http://www.redmine.org/repositories/entry/redmine/branches/0.7-stable/app/models/issue_relation.rb</a></p>
<p>how come you've got "child of" and "parent of" relations???</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=49402008-09-24T19:52:59Zsebastián scarano
<ul></ul><p>sebastián scarano wrote:</p>
<blockquote>
<p>mmm</p>
<p>I'm beginning to think it won't be so easy to add new relations type</p>
<p>I've just seen it's hardcoded in</p>
<p><a class="external" href="http://www.redmine.org/repositories/entry/redmine/branches/0.7-stable/app/models/issue_relation.rb">http://www.redmine.org/repositories/entry/redmine/branches/0.7-stable/app/models/issue_relation.rb</a></p>
<p>how come you've got "child of" and "parent of" relations???</p>
</blockquote>
<p>oops, my apologies to Jim Jones, I posted before reading his answers...</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=123692009-11-23T22:46:19ZEric Davis
<ul><li><strong>Category</strong> changed from <i>Time tracking</i> to <i>Issues</i></li></ul><p>I've just created a patch for this on <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Use Issue status for percent done (Closed)" href="https://www.redmine.org/issues/4274">#4274</a>. It makes an issue's % done to be managed by it's Issue Status.</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=156862010-04-07T19:07:24ZAlex Last
<ul></ul><p>using issue statuses to calculate %<span>done (task <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Use Issue status for percent done (Closed)" href="https://www.redmine.org/issues/4274">#4274</a>) looks very (VERY) weird. <br />my feature has 10 subtasks, which are estimated to take 10 hours each. so my feature should take 100 hours.<br />why would I see 50</span> done right after I just started working on a feature or on any of the subtasks? what does this 50% number tell you? Maybe I'm missing something, but it looks absolutely useless and WORSE - misleading.</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=186002010-07-22T12:30:50ZStéphane Bachelier
<ul></ul><p>I agree with Alexey. It looks weird to calculate % done by using issue statuses.<br />Any news about using log time and estimate time?</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=206642010-09-24T05:07:25ZXagyg Wulf
<ul></ul><p>A previous poster had a good idea. Have a separate "Time Used" field, which could be more than 100%. Another option would be to have the "% Done" operate as "Time Used" by a config setting.</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=206652010-09-24T05:09:03ZXagyg Wulf
<ul></ul><p>Referring to my previous post, "Time Used (%)" = log_time / estimate_time * 100</p> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=217252010-10-25T14:59:35ZEric Davis
<ul><li><strong>Assignee</strong> deleted (<del><i>Eric Davis</i></del>)</li></ul> Redmine - Feature #952: Update % to be programatic not arbitraryhttps://www.redmine.org/issues/952?journal_id=506182013-07-18T06:06:54ZToshi MARUYAMA
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-1 priority-4 priority-default" href="/issues/12762">Feature #12762</a>: Add option to calculate done ratio with the data from time tracking</i> added</li></ul>