In the world of software development, estimates usually don’t hit the mark. This article discusses the need to manage software development projects from a financial perspective and not just with estimates and progress tracking.
Author: Harvey Kandola, CEO, Countersoft, http://www.countersoft.com
The plain truth is that most of us exchange our time and labor for money. Keeping visibility of this exchange is especially important for those of us who do project work – charge the client X in return for delivering Y. Welcome to the world of projects where too many non-profit-making projects can simply kill the business.
In the world of software development, estimates usually don’t hit the mark – scope creeps, specs change, and sh*t happens. Clients change their minds and the provider has to live with the implications – cost, resource or otherwise. How many times have you heard “it’s OK if we lose money this time because we’ll make more revenue later”? Optimism does not always pay off.
Bespoke project work typically goes something like this: estimate development effort, bake in some contingency and put in a discount to entice the client. When the project post-mortem uncovers a poor “actual cost to income ratio” it can be convenient to point the finger at work estimates and jump on the Developers and Project Managers looking for explanations.
The solution is to focus less on work estimates and more on financials because it’s the money that keeps us going. Estimation techniques are usually employed pre-project to help you cost and schedule. Sure, Agile methodologies can help, but we tend to track project progress by work completed which can still leave you seriously out of pocket.
Three key ingredients are required to manage projects from a profitability perspective (and not just estimates and progress):
* Work Estimates
* Actual Progress
* Employee Rate Cards
Armed with this information you can start to compare your current project cost with the actual income you receive for the project. This is the real data that your business needs to analyze.
When it comes to projects and profitability tracking there is a fundamental problem with the tools typically deployed by development teams – namely the reliance on the humble “Issue Tracker”. Work items are typically created and managed within the tool along with time logs. And that’s where the problem exists. Development are working against estimates and recording time logs but the tool they typically use does not support the notion of MONEY.
When did you see an Issue Tracker that showed you the current profitability status of work items or of a given project iteration?
This disconnect between development work progress and project income has painful symptoms:
* Development struggles to understand how their efforts relate to project profitability and thus are not fully aware of all the facts when making decisions.
* Educating clients on scope change implications is hard when you cannot readily see the projects’ current financial position.
* Management cannot see which projects are bleeding profitability away and so don’t know where to intervene early and they struggle to refine the business model.
What we all need to see is simple: the detail of how much money has been burned (value of time spent), and how much is left (remaining profit potential).
For smaller development operations having the ability to actually invoice individual items from right within the Issue Tracker brings even greater benefits of efficiency, accuracy, speed and direct cost/effort correlation.
Bringing financials into your development environment helps you track projects work from a profitability standpoint whilst educating all involved about the simple truth – profit from your projects is essential.