Fog Creek Software
Discussion Board

How to finance application development?


This morning, we had a talk with my dad following a letter he sent to his customers to tell them that the price he's been charging has been much lower than his competitors, and too low to make it viable since he hired some people (until a couple of years, he's been working on his own.

That translated into price hikes of 100% or more, but since we started from very low to begin with, in the absolute, his prices remain very low, whether compared to his competitors, or other spendings his customers must support (salaries, necessities, other investments, etc.)

The question is : how to explain in simple terms that software development requires constant work (read : developers who need to get paid) since the computer environment itself keeps changing, and hence, the need for a business model that provides constant revenue for the software editor.

The problem, is that customers don't seem to understand the specifics of software development, and don't understand why they can buy a TV or a desk and use it as is for years, while they are asked by their software supplies to shell out money every year.

How do you explain to your customers that software is different from other investments/spendings? Besides books like "Peopleware", are there good sources of information that you would recommend?


Frederic Faure
Monday, December 23, 2002

Do you need a practical advice or the theoretical one?
If you want to help your dad, you`d better give Mr.All more info - what kind of software he sells, who are the customers, etc.
I had such situation and I think that the explanation depends on the audience.

Monday, December 23, 2002

Thx Slava. Actually, I'd be more interested in theoratical advices first, and some aimed at selling business apps to the medical profession, more specifically.

How did your company manage to explain to its customers why they had to pay maintenance and/or buy a new version every X years?


Frederic Faure
Monday, December 23, 2002

Well, in general, don`t just ask for money.
Give them new version with new features, AND (because you want them to pay more:) ask them politely about additional features they may want in future.
Regarding the maintenance - show them, that it`ll be a cost-saving idea:
-you`ll take care of installations, updates, etc
-you`ll help  their staff to better understand the program, and you`ll teach them how to use it (may be it`s time to have some learning courses for your clients? another way to take their $$:)
-you`ll see their needs clearer if you work closely with them, thus creating the better business-supporting software which results in their business success.

Note: have several maintenance plans, create custom plans on demand

About the new versions:
-add features!
-add usability
-and make the new version suit their new business environment better - it should work with new office/accounting/whatever software they use already, work with the new equipment, if any, and so on

Tell the clients about this, of course:)

Also, if you (or your dad) work with them for a long time, you should know their business and their business needs well, so offer them some custom programming/customization of the system you sell.
You`ll (possibly) have additional income and additional portions of code, optimized for this business, so you`ll (possibly) be able to add these portions to the next version. (the example given above definitely worked for us)

Lower your costs, don`t be shy to use this _damned_ :) outsourcing:), but do it the right way -see my post in "outsourcing overseas".
And so on:)

May be the advices above are too simple...but i don`t know your situation exactly, i don`t even know do you sell software for doctors or for medical companies:)

One practical example (before i`ll become too tired to write more:)  - we (the company i worked for) had several potential clients, companies that sell farmaceuticals. They need some sort of automation system, but each company had too small budget to pay for a full-scale development of the custom application. So we formed the consortium of all these companies and developed one system for them, using their development budgets.
Now the company can sell the completed software, and the consortium members will receive %% for each copy sold (and they have their own copies, too).

Monday, December 23, 2002

" The problem, is that customers don't seem to understand the specifics of software development, and don't understand why they can buy a TV or a desk and use it as is for years, while they are asked by their software supplies to shell out money every year."

Damn right they don't understand it! TV manufacturers require a constant revenue stream, but they don't try and make you pay twice over for the same thing.

If you're giving them a maintenance contract then they should understand. After all they pay for the office but still don't jibe about having to pay to have it cleaned.

If you're giving them an upgrade then they can choose to buy it, but you're not going to commit yourself to buy a new car when it's only on the drawing board.

But don't talk about your problems to the customer; he couldn't give a monkey's toss whether you go bankrupt or not, and he's quite right. Either offer him something he wants or don't bother.

Stephen Jones
Monday, December 23, 2002

It's all about value.  People pay money based on the value of the products and services that you offer.  If they don't value your offerings then there's no reason to pay you despite whatever problems you're having.  So saying th need to hire more people, purchase new equipment, training, etc. requires you to raise prices might not mean a whole lot to your clients since they probably won't really care much at all.  It's your problem and not theirs.  They only care about what's being exchanged:  their money for your products and services.  They must be able to make more money from using your products and services than from anyone else.

You shouldn't try to form your arguments about raising the fees based upon the need to do so due to rising development costs, etc.  Although, it can be a part of your argument, it shouldn't be the center.    The center of your argument should be on how your products/services still offer a significant value to your users.  The first step might be to make a list of your competitor's rates and show them that it's still much higher than your rates.  You can also differentiate your value offering based on additional things such as features, reliability, quick post-sales support, etc. 

This should convince them that staying with you is better than going to a competitor since they would save more.  If they still decide to go with someone else, then that's their loss....  Sometimes you've got to let go of some clients in order to make more money.  Of course, the prerequisite is that you can afford to lose some clients in the process, which is another matter altogether.

Monday, December 23, 2002

Software is a subscription business, period.

The "subscription" may be explicit (pay $$$ every year or stop using the code - a lease, in other words), or implicit (hey, we've got a new version every year with features you can't live without!), or something in between (optional yearly subscription fee to get fixes, new features, and support).  If your business model is not built with this in mind, in most cases eventually it will fail.

I know customers in the various vertical markets are pretty cheap - very wealthy and successful doctors, for example, bitch and moan all the time about the cost of their software.  I know a guy who is running a million bucks a year through his office, clearing almost half that before taxes for himself, pays $450 a year in software maintenance, and thinks he is getting hosed.  I don't know how you rationalize things like this with these kind of people - you just have to say "this is how it is, if you think we are too expensive, shop around".

The other thing I would suggest is, if you're going to sock your customers with a big fee hike, no matter how much it is deserved or how fair it is with respect to the service your software offers, make sure it is plenty big enough that you don't have to whack them again anytime soon.  That will really piss them off.

Good luck!

Sheldon "The Machine" Levine
Monday, December 23, 2002

"Software is a subscription business, period."

What you mean is you would like it to be.

And the customer would most definitely not like it to be.

The best analogy is cars. Cars will eventually wear out and need replacing; you're going to be able to make money off selling spare parts, or selling new cars, but it's the customer who decides how long to keep his car before changing.

So you've either got to make this year's model enough of an improvement for him to upgrade, or try and create new customers.

Stephen Jones
Monday, December 23, 2002

You don't explain anything to them.  All you'll get are a bunch of customers who will try to use your explanations as ammo to argue against your price hike.

If your clients derive real value from your work and respect you for the expert you are, they won't sweat a rate hike.  It's that simple.

I more then doubled the rates I charge my private clients not long ago.  I lost a couple, but frankly they were problem clients to begin with.  The good clients stuck around.  And I continue to bust my buns to make them feel I'm worth it, just like I always have.

Monday, December 23, 2002

"So you've either got to make this year's model enough of an improvement for him to upgrade, or try and create new customers. "

Since all cars wear out you either start paying more than new cars in continual maintenance, or chuck it and replace. In the end, even if the cars models would get worse every year you'd still sell new cars because it is simply the cheapest way to keep mobile.

Now when was the last time you wore out some bits?

The reason some people do not get the economics of this industry is that they keep trying to come up useless analogies.

Just me (Sir to you)
Tuesday, December 24, 2002

Thx much everyone for your contributions. Actually, the car analogy is also the least bad I came up with.

Fact is, bits don't rust, but for one thing, the development environment (Windows, technology) keeps changing, which requires occasionnal rewrites, but the business we're in (health care) is also under continual legal changes.

Combining the two, even customers who aren't interested in their computer infrastructure (which is most of them) would understand why they need to pay up every year if they want to keep using the software.

My dad also pointed a couple of times that our maintenance fee costs them less than 5% what their janitor costs them. An argument to be used wisely, but has the advantage of placing things in perspective.

Thx again

Frederic Faure
Tuesday, December 24, 2002

Dear Just me,
                      I don't think you get the point of the analogy. Sure bits don't rust but there are few programs that can be used ten years after they were written. Apart from anything else if the physical machine breaks down you are likely to find yourself buying a new machine with an OS that probably won't run the old software.

                    The point I'm trying to make is that much as a developer would like a subscription model the customer is not going to buy into it. After all if the software works why should he get a maintenance contract.

Stephen Jones
Tuesday, December 24, 2002

The continuous legal changes are pretty good ammo to use as to why you must continually change -- and charge to change -- your software.  Having been in the mortgage software industry for years, we're fully aware of having to charge maintenance fees, simply to cover the cost of the ever changing legal requirements, let alone business changes.  However, keep in mind that nobody outside this industry can ever imagine why it costs so much to develop software. 

Tuesday, December 24, 2002

As for the cost of developing software, it'd be cool if users were required to pass a license like for operating vehicles, which would include a two-hour introduction to development, with some hands-on experience with eg. VBA, just so they would have some experience with how abstract all this is, and how difficult it is to plan for any failure that might occur.

I'm not holding my breath...

Thx again for your contributions :-)

Frederic Faure
Wednesday, December 25, 2002

"...include a two-hour introduction to development..."

That's a neat idea.

Sounds like you've had some customers for many years. If they're geographically close to you, go rent out some space somewhere (are there still net-gamer places) and teach a class on developing software for two hours. As a perk of being a customer of yours for so many years.

Wednesday, December 25, 2002

*  Recent Topics

*  Fog Creek Home