Flyspray - The bug killer!

  • Status Closed
  • Percent Complete
  • Task Type Feature Request
  • Category Backend/Core
  • Assigned To No-one
  • Operating System All
  • Severity Low
  • Priority Very Low
  • Reported Version 1.0 devel (github master)
  • Due in Version 2.0
  • Due Date Undecided
  • Votes 3
  • Private
Attached to Project: Flyspray - The bug killer!
Opened by Jean-Louis LESIEUR - 09.10.2009
Last edited by Psychokiller1888 - 07.03.2015

FS#1609 - Time & Estimate tracking in flyspray

For a business use it seems to be important to have a time tracking function in Flyspray to track the current work and the remaining work of a task.

Closed by  Psychokiller1888
07.03.2015 11:20
Reason for closing:  Implemented in devel

I also appreciate to have the possibility track times.
With that information you could generate a report in that you can see how much work for each developer is todo and you can see when will be the first date you could release the new version of your product.


Record the estimated level of effort (man-hours) needed to complete a task.

Motivation: Without this feature, tracking time/effort must be maintained externally, which significantly reduces Flyspray’s effectiveness as a project planning tool.

Note: There are other similar feature requests (see Related Tasks), but this approach is designed to be as simple as possible, and may form the basis for implementing the related feature requests.


Add a field to to record Effort (total man-hours to complete) for each task
On the Roadmap, show the sum of all Effort for each version (total and remaining, based on Open/Closed status)
Minimally, Effort is specified in hours. As an enhancement, consider allowing simple syntax for specifying the time in hours/days/weeks (e.g., a 1-week task is specified as 1w in the Effort field).

For this feature, Effort represents the total time for the task (as if implemented by a single developer). See related tasks for per-developer breakdown.

Also see discussion topic:


 FS#1672  - Require ability to track estimated hours of work to resolve a feature or bug

I would like to be able to track an estimate on the development hours required for a particular bug or feature request. This requires a new field to track “resource hours”. There will be the need to track hours per person the task has been assigned to. Example, if a feature requires some back end work and some work on the GUI, I should be able to add 2 hours to the database guy who this was assigned to and 1 hour to the GUI guy.

From this, I would like to be able to generate a report that:

- summarizes the development hours required for a new version (filtered on “features”). Ideally, sortable by priority.
- summarizes the development hours assigned to developers by version

This helps with resource leveling. If I have x hours of development available in a particular cycle, a list of prioritized features will show me what I can reasonbly expect to accomplish in that cycle.


 FS#1641  - Estimated completion dates and dependencies

Flyspray is a great tool for business project management. Adding the following features may make it even more useful, allowing a user to predict project completion dates based on estimated individual task times and task inter-dependencies:

The proposed additions would be:
Add fields for “Estimation completion time” (in man-days/man-hours). Allow the “due date” to be inferred from this and the task dependencies within a project.
Add understanding of working week (and user-specified holidays). May need to be defined per-user, if people are taking individual leave, but should also allow for global scope (e.g. public holidays) etc.
Provide a Gantt-chart type view of each project, showing predicted project end-dates based on currently opened tasks and task times/dependencies.

I am not sure whether this is too far removed from the vision that you guys have for the tool, but it would certainly be useful!

My ideas about the effort tracking are (see

Essential things

  • fields: original estimate (write once), current estimate (overwrite-able), time spent – all in hours, all edits logged in task history
  • automatic summing for "all in current task list" so that I can e.g. see total effort for a release/iteration (via Due in version filter)
  • in Roadmap, show "thermometer" for effort spent on closed tasks vs total effort estimated for the given Version

Nice to have:

  • summing can include "depends on" tasks – so that the "transitive closure" of all the work required to finish a given task(s) is visible
  • for Due in Version, percentage + count of tasks that have no effort estimate
  • for all team members: table "how many hrs / week I can allocate for this project" ⇒ total weekly time budget, needed for burndown

As per google group discussion...

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.

In have described in some detail how it all works below…
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:-

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.
	b. Only people with "Can Track Effort" role can manually add effort.
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.

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.


Available keyboard shortcuts


Task Details

Task Editing