Remember when you handed clients the software they wanted and they walked out the door without a problem?
Yes, we do.
It is impossible to expect a software project will follow a linear path. Agile development principles were born out of the realization that change is inevitable.
Since then, agile has expanded to include many project management techniques. The Kanban board is one of the most viable options, especially if you are constantly overwhelmed by “stuff that keeps popping up”.
A Kanban board is basically a large to-do list. It separates items that you are currently working on and those that are being added to the backlog.
Kanban is an effective management tool because it limits the number of things your group can have “in progress” at any one time. This means that once your team has reached their limit of simultaneous tasks, no new work will take place until the clog is cleared.
It’s basically a system to manage workload.
If you focus only on the load and not on how long your team works, you will soon hit roadblocks.
These are three reasons why you should be tracking how much time your programmers spend on their tickets.
1. Time Tracking teaches you how to keep up with your team’s pace
The cycle time is the time spent by a developer on a ticket from the moment they draw it in the queue until it’s finished.
It is also an important metric that you should be very careful about.
It’s important to ensure your team isn’t overwhelmed, but if you don’t feel the need to clear your “in progress” field quickly, you’ll soon find yourself with a huge backlog and a frustrated client.
You can track your cycle time to get an accurate picture of the time it takes to complete each ticket. Programming can be unpredictable and unexpected problems can arise. This is why it’s important to start collecting data about the overall pace of your team.
You can’t improve what isn’t measured. This brings us to another important benefit of keeping an eye out for time.
2. Time tracking teaches you how to plan better
Software development is a complex business. There is no way to predict what might happen. How can you prepare for them?
Business intelligence is the ability to recognize the unexpected and plan for it. It’s a way to make informed decisions about vital aspects of your business.
It is quite different from “business guesswork”, which is the art and science of not giving a damn.
Imagine that you are negotiating a budget for a new client. Agile development encourages change. Your best bet is to negotiate a budget that is reasonable and has enough financial cushion. This can be based on your past projects, which may be very different.
You will now have data about your developers’ work. This data can be sorted into different categories, such as “prototyping,” bug fixes, code review, etc. You will have a wealth data record about the different types of problems that may arise and how long it might take for your team to solve them.
Your client will always perceive your work as being less expensive than it is. You will need to be prepared with facts when asking for their money.
3. Time Tracking teaches you how to scale
Scaling a software company, especially one that is smaller, is not as easy as bringing in more staff and leaving the money to your accountant. You’ll likely be responsible for balancing cash flow as projects progress and payments are delayed.
Developers are expensive and you can’t hire enough of them too soon.