I’ve had a few conversations recently with people who want to build a software product and were wondering what the true cost would be. Their general feel is that they could build a v1 app with about 6 months of dev work. This is quite plasable with the tools we have today – especially for building a web app. The natural next step, is to think that with 6 months of dev and 6 months of sales, then you have a nice little software company ready to make some killer profits.
This led me to try to think up some simple formula for estimating the cost of building a profitable company from a concept. Obviously there’s no silver bullet, but when people ask a software engineer to estimate the size of a job, they’ll take the answer and double or triple it. Why? Because the developer is likely to give their answer in terms of development effort only and its generally understood that development is just one part of the software development lifecycle and so you obviously need to account for all of the other work that needs to be done.
If your six months of development work becomes about 18 months (x 3) of work (and therefore cost) to actually build and deliver the software, then what would be a fair multiple for estimating the cost of taking that software to market?
There’s a big difference between building software and building a product. Building a product means building software that isn’t specific to one customer, but can be sold to numerous customers and supported. But building a product doesn’t mean you automatically have the infrastructure to sell and support the product, this requires being a company (or call it something else – but you at least need infrastructure) and just because you can sell and support the software doesn’t mean that you have the right market, the right product or the right business model in order to be profitable. The last thing you want is to have a product, a market and customers and then realise that you’re actually loosing money on every sale you make.
This is all fairly obvious – but its still interesting to look at the difference in cost to go from:
- Concept to software
- Software to product
- Product to company
- Company to profit
The software lifecycle is pretty well understood and there are plenty of successful variations. A simple lifecycle is the Unified Process, which contains four phases: inception, elaboration, construction and transition.
- Inception is simply identifying a problem, identifying a solution and deciding to go ahead and explore the solution.
- Elaboration is the ‘pre-development’ work, going into the necessary detail to understand the problem and understand the solution, gathering all requirements and use cases and then architecting and designing the software.
- Construction is the development and testing of the software and is usually broken into managable iterations
- Transition is the ‘post-development’ work, releasing the software to users, managing feedback of issues, providing support and training
The lifecycle of a software company can also be mapped to these four phases, keeping in mind that there is a lot of overlap and that the elaboration -> construction -> transition phases are ongoing and cyclical for a company developing and selling a software product.
From Concept to Software
There are about 7 roles needed to develop software and whether these are done by one person each, or one person does them all, they typically need to exist. The following tasks are also typically all needed and while there are a lot of other tasks involved, these are the main ones to simply build a piece of software.
Roles:
|
Tasks:
|


As the diagram indicates, the cost of developing a piece of software through all four phases is about 3 x the cost of the development alone. Note that you could cut back on the amount of design and/or testing – and just build the software, but it usually follows that you’ll then spend a lot more time and money fixing bugs and re-working parts of the software that don’t work correctly, which is more expensive than getting it right in the first place.
From Software to Product
The main differences between developing software and developing products are:
- The development of a product is ongoing so requires a roadmap to manage constantly changing priorities and features
- The development of a product requires more thought into the business processes that the software will provide or operate within
- Products must be more versatile and extensible as they are being designed and built for a larger target market
Therefore, there are a few additional roles and tasks in the cycle to build products:
Roles:
|
Tasks:
|


The cost of developing a product, based only on version 1 being built – ie the same amount of development as building our v1 software, would be about 4 x the cost of the development.
From Product to Company
Having a product does not mean the product is ready to take to market. Taking a product to market, requires additional roles and tasks:
Roles:
|
Tasks:
|


The cost of taking a product to market (still based only on version 1 being built), would be about 6 x the cost of the development.
From Company to Profit
To become profitable will take a lot of things, including the right people, the right timing, the right product and good execution. This can be done with the existing people, but there are some important tasks that need to be added:
Tasks:
- Identify profitable business model (Business Architect)
- Identify correct pricing (Marketing)
- Identify correct marketing message (Marketing)
- Know the vision and make it known to all involved (Project Sponsor)

The cost of taking a product to market profitably (still based only on version 1 being built), would be about 7 x the cost of the development.
The point of this isn’t to try to exhaustively define every role and task required to build software or a company, but just to illustrate, as below, that having a fixed amount of development work is one thing, but whether you turn that into a piece of software, a product, a company or profit is quite different:
Therefore – my magic number is seven. If you’ve got a concept that you think will take 6 months of dev work, the cost to take it to market successfully will be 3.5 man years of effort – and this doesn’t include any costs such as hardware, software, overheads, compliance, infrastructure, recruitment, cost of money or cost of raising money.
Make sure you know where the money is coming from before you start.
Note: The number seven is purely a magic number based on a fixed amount of development work, which obviously won’t be the case and some proportions (such as sales) will quickly change as the business grows, but the point is to provide a quick comparison for simply taking a concept to market not to provide a ten year business plan.


15 May 2007 at 8:50 am |
[...] Read theĀ full the article. [...]