I will be soon taking over management of a 10 member team. I will continue to code myself to another project and generally be available for the team for any issues surrounding processes or escalations. I will also be responsible for code review of some of the tasks.
For some context, the team does development work on task basis. We typically get a task from a Customer Relationship Manager for, let say, a report request. This will involve fair bit of coding in SQL and some wrapper code on top of it. The challenging part here to write the SQL, unit test, perform code review, and then send it for testing.
We have a turn around time of 15 days for every request. 15 days include, time for estimate (1 day always), coding (including peer code review and change cycle), and QA, patch to production on a daily build.
With this in mind, I would like to come up with a metric called "Efficiency" of the queue.
What typically happens is, when a task comes in from the CRM, it needs to be estimated for coding effort. Once the estimate is approved (1 day max) it moves to the coding / development step.
Now, developers in my team have the habit of picking tasks as they come and typically each one has 3-4 tasks in his/her queue. This sometimes leads to a situation where a task, though simple, sits in his / her queue in a wait state. At the same time, some of the other developers may have completed their tasks and might be waiting for another. By habit, the developer who originally picked the task doesn't let it go off his / her queue. It's not a bad thing, as we have always been able to adhere to the 15 day TAT.
However, I'm looking at ways to organizing this queue so that we avoid the unnecessary wait time and thereby increase the efficiency of the queue. This will also lead to a gradual reduction of the TAT from 15 days to say, 12 days.
How can I calculate the efficiency of the queue?
I can fetch reports around the start and end times of each stage like: Estimate, code, code review, QA, recode (if any bugs, or customer is not happy, or change or requirements).
It would be good to handle this efficiency calculation with as much less human intervention as possible, as it would have less confusion and it will also be transparent process to anyone in management to understand the metric.
Any thoughts or suggestions from anyone of you here?
Thanks in advance.