In my previous post I talked about Neil Davidson’s book about software pricing. One of the principals in one of the final chapters was trying to convey how much your software cost to make, or how much of an investment you’ve put into it. Which I took to heart and tried to analyze one of my newest projects to see how much it cost me to develop it. I failed.
There are a couple of reasons I don’t believe that I was successful on trying to get my cost out of my project. I first tried looking for a software product that I could use to do this for me, by analyzing my codebase and letting me plug in additional numbers, there weren’t any.
Failing to find a white software knight I turned to the OSS community to look for solutions, as I know Ohloh has something that estimates cost for OSS projects called OhCount, it wouldn’t work for me being a MS developer, and there weren’t any other OSS tools that would work against my codebase, or that worked at all on my box.
Most tools I found were metric or analysis tools for your codebase, these are Lines of Code tools. This sounds great but not all code is equal. For example my XAML code is harder for me to write then C# code, so it’s actually more expensive for me to write XAML then C#, as it takes more time and resources.
One of the key software project cost estimation formula are is the COCOMO/COCOMO II cost model, which if applied correctly I think can get you into the ballpark of your software projects cost.
Cost estimation in software projects is a huge area and a major problem and you will never be 100% accurate. There will always be cost that you miss, or items that you over-estimate and if you have more then one person working on your project then using a straight LoC formula won’t take into account that developers strengths and weaknesses in relation to the code they are working on.
My software project isn’t finished and here are my basic COCOMO metrics:
|COCOMO Cost Drivers||1/2: VL, 1/2: VH|
|Effort||7.24 Person Months|
|SLOC Cost (@ 125.00/hr)||$144,800.00|
I’ve only been working on the project for about 2 1/2 months and then only few a few hours here and there, but in a way I think it could line up. To get a true cost I would have to factor in resource usage (power, bandwidth, computing resources, etc) and many other hidden costs that are difficult to determine and quantify.
All lines of code, even from the same developer are not even and thus fixing a cost per LoC is inexact to say the least. But without anything better, it’s a decent starting place. So at a minimum try and get your software projects cost to help you plan how much to see it for and when you will break even in that expense, and you might also be able to use it to help market your product as well.