Most software teams use some kind of project management tool, Redmine or Trac for example. Maintaining the validity of tickets/issues is a major pain, particularly in relation to time tracking and ensuring that activity logs are made routinely and spent time versus estimated time are kept in sync.

Typically someone on the team, “the project manager” ends up having to constantly re-enforce the need for people to log time and keep fields correct, this I think is a waste of ones life! Ideally the whole team would just take an interest and do this work, or use a system, e.g. Kanban where the process/tool itself tracks this information without the need for human input. If this isn’t possible, I propose an auto-build/integration server for the process itself…

I’m currently writing a script to integrate into Jenkins and track a Redmine project through its REST API. The script continuously monitors the state of the project and causes “build” failures when a violation occurs, e-mailing the team and if possible the person who caused the problem. Ideally to drive change through making the problem visible, once the project has settled we can turn it off, although it might be useful for checking other non-code aspects of the project, so we will see.