Saturday, June 24, 2006

The cost of enterprise software

I work for a consultingware ISV. That means we tend to sell to large companies. We have base products that we customize to the customer's requirements to do the deal. Pretty standard stuff.

One thing I've noticed is that the overheads of what we do are very high. The amount spent on travel and lodging for each sale is a lot. Also for each sale made, an ISV also spends on deals that they bid on but don't win.

The costs of research and development are part of the equation. Having programmers who create the base products and their costs such as office space. Also not every product developed is for sale. Sometimes products can be started and then killed before completion, leaving behind sunk costs. Some products make it to market but then don't sell as well as hoped, and do not cover their development costs.

Then there's general overhead costs such as finance and administration, legal, SOX compliance, costs of being a public company, etc.

So when the ISV quotes you a price in say the hundreds of thousands for some software, you have to realize what that price is paying for. It is paying for the software itself, then all of the other overheads the ISV absorbs to get that software to market. And then the ISV of course wants to make a net profit. So the gross margins need to be very high of course to cover the costs of doing business as an ISV.

The consultingware ISV is also at a disadvantage compared to mass market shrink wrap software like say Quicken. The consultingware ISV can only sell their products to a small market. For example there are only around 100 big telcos in the world. So a product catering to ILECs has a limited market to sell into. That means they have far fewer potential sales they can make to cover off their development costs. The shrinkwrap software company can amortize their development costs over millions of unit sales.


So I was thinking, from the customer's perspective, why buy enterprise software if it is expensive and the GUI may not be especially slick, and it is basically not a lot more than some big CRUD database application. Why not just get the IT people to clip something together for far less. Now I'm not a salesman so I don't have the stock answer to that question.

However the consultingware ISV offering does have some good points. Our software tends to be stable, and it scales well to enterprise level number of users. The internal IT people tend to be good at putting together quick small departmental level stuff quickly but are not as successful at larger scale, more complex integrated developments.

Plus there is far less risk and potential liability going with the consultingware ISV. If the ISV salesman can demo something that works and does 70% of what you want, with a quoted price and schedule to do a customization to get it to a good enough 90% then that is a low risk for the customer. The IT department might say they can do something at least as good for half the cost in 6 monts, however those are just estimates which you may not be confident in.

The nice thing about purchasing software is that the software vendor continues to be responsible for the maintenance of the source code. That motivates the vendor to create clean maintainable code for their own sake.

With internal IT projects, they might not have the same level of discipline in throwing something together faster and cheaper than the consultingware ISV quote. You could be left with an undocumented, unmaintainable, unstable code base with the original developers long gone and nobody capable of taking it over. It is very desirable to avoid that type of situation, even if it means spending more up front to purchase the software.