Hi All,
I have been working on an effort tracking feature, all of my code has been pushed to GitHub but I would like to have some discussion regarding the implementation before I close this one down / continue to implement.
In have described in some detail how it all works below and screen shots are attached…
The Write Up…
Effort Tracking is enabled on a project by project basis - this allows for Flyspray to have both public and internal projects rather than assuming a one size fits all. All of the below is only displayed when effort tracking is enabled in the project settings.
I have added a new tab to the project administration page for effort tracking which will make it easier to add admin configurable settings at a later date.
Estimating Effort…
Estimated Effort is record on the Add new task page and edited on the Edit Task Page.
Estimated Effort recording is role based. Only people with 'Can edit task' can enter Estimated effort.
History items are stored for when estimated effort changes.
Estimated Effort is by default entered in hours, At present there is no mechanism for recording estimates in minutes, is this required?
Effort Tracking…
Effort tracking can be performed in two ways:-
Only people with "Can Track Effort" role can manually add effort.
1. 'The Simple Way' - Manually input the amount of effort
a. Effort is added in HH:MM format, entering 6 will add 6 hours, entering 6:05 will add 6 hours and 5 minutes.
2. 'The Enhanced Way' - Person working on the task starts and stops a timer when commencing / ceasing work.
a. The system automatically calculates the amount of effort based on the start and end timestamps.
b. An individual can only start recording effort against a task if they are not already recording effort against the task.
c. An individual can track effort against multiple tasks simultaneously.
d. The system displays that the individual is currently tracking work against a task (and for how long)
e. Multiple individuals can track effort against the same task simultaneously.
f. The individual has the option to cancel tracking actions once commenced.
Displaying Estimated and Actual Effort…
Task view displays the estimated amount of time and the aggregated actual effort.
A new tab at the bottom of the task view displays the history of the effort tracked against the task. Only people with the role "Can view effort tracking" can access this tab.
Roadmaps…
The roadmap displays the estimated effort and the current actual effort for each version.
Data & Formatting…
New field added to task table to record the estimated effort.
New table added 'effort' to record the effort records of individuals.
All effort fields are recorded in seconds and then reformatted to X Day(s) XX:XX i.e. 5 Days 6:05 for display purposes. This is the simplest implementation as is just recording timestamps.
Things I still need to fix…
1. Validation on the manual input to check that it doesn’t contain illegal values i.e. someone is trying to record an actual effort of 'pineapple'.
2. Estimated Effort by adding a D,M or Y to the value will accept a valid input in Days, Months or Years, and then convert the value to days and hours for display purposes.
3. Refactor some of the PHP out of the templates as they shouldn’t be there, particularly in the roadmap screen.
If people are generally accepting the value of this feature request and the mechanism in which I am proposing the implementation then I will be working on the fix of these issues over the next week.
Possible Future Enhancements…?
1. Project Overview displays which tasks are currently being worked on and by who -- all the data is there so should be fairly straightforward.
2. Visual alert to user on every flyspray page to tell them that they are currently tracking effort against FS#...
3. Report on project showing who has been working on what - all the data is there so should be fairly straightforward.
4. Report on individual user showing their activity and effort - all the data is there so should be fairly straightforward.
5. Ability to record estimated effort for different individuals and then record effort against that estimate. (I think this is a step too far but is in the discussion thread).
6. Estimate roadmap completion date based on estimated effort - again I think this is a step too far as this will require Flyspray to understand the amount of resource and the availability of that resource in order to know when the burn rate of the effort will lead to an end date.
Thanks
Steve
You received this message because you are subscribed to the Google Groups "flyspray" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flyspray+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To post to this group, send email to flyspray-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
.