Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Programming Books Media Book Reviews IT Technology

Why Does Software Cost So Much? 265

David Kennedy writes with a review of Tom DeMarco's older Dorset House title, Why does software cost so much? (sub-title: And Other Puzzles of the Information Age.) Sounds like something to put in the same section of your library as Frederick Brooks Jr.'s The Mythical Man Month .
Why Does Software Cost So Much? And other Puzzles of The Information Age
author Tom DeMarco
pages 230
publisher Dorset House
rating 7
reviewer David Kennedy
ISBN 093263334X
summary An older collection of essays, some good, some bad, from one of the most respected names in the software management field.


An older collection of essays, some good, some bad, from one of the most respected names in the software management field. An interesting read, not least because of the amusement to be gained from how things have, and haven't, changed. Worth reading if you have the time, but not as essential as some of his other titles.

Check your sources.

Tom DeMarco is an established industry figure who occupies that rarest of market niches - he's a management consultant/guru who has the respect of technical people. He's the co-author (with Tom Lister) of the classic "Peopleware" (which I suggest you rush out and read), and it's on the strength of that title that I read his work. I normally lack even the slightest interest in management titles, on the basis that Sturgeon's Law seems to be especially strict in that genre. For example, both my copies of "The 7 Habits of Highly Effective People" and "The Monk Who Sold His Ferrari" ended up in the bin. (If it helps, I have a library of about 5K books [mainly novels], and have only ever thrown out 4.)

What's this book about?

This is a 1995 title, and as such is interesting for historical value. The blurb states:
"Drawing together several essays published previously, plus ten all-new papers never seen beyond his circle of colleagues, Tom DeMarco tackles a multitude of tough subjects and wrestles fresh insight out of them. Here's a compact, compelling edition of this acclaimed consultant's views of managing the software process."

What you get is 230 pages of essays or opinion pieces. There are 24 pieces, ranging from a couple of pages to a couple of dozen pages. A smattering of titles:

  • Why does software cost so much?
  • Management-aided software engineering
  • Lean and mean
  • If we did only one thing to improve...
  • Software development: State of the art vs State of the practice
  • Software productivity: The Covert Agenda

As the titles suggest, the focus is on software projects specifically, although much of the discussion re managing the effort could apply to many technical disciplines. All pieces which refer to surveys don't use numbers pulled from a hat, they use numbers pulled from the bibliography at the back.

Target audience

It's a mix. Most of the pieces seem aimed at management, from team leader to project manager, but the discussion will be of interest to most programmers, especially those suffering from the Bad Management Blues, or who are thinking of taking a step sideways into a team lead role.

What's good?

Quite a lot. This isn't a long book, and it's not going to revolutionize your life, but it makes for a decent couple of hours reading. The author can certainly write, with a chatty style obviously honed by a career based on presentations. All the pieces are easily digested, and usually contain a nugget of something interesting.

There are a few nice points in here re how and why you should manage your software project, but for me, the interesting thing about this older title is that it's a very different world he's talking about! For example, one piece, from 1989, talks about the difference between programmers working on identical tasks. They show nice charts and I was amazed to see PASCAL and BASIC in there. I expected to see COBOL of course, but the small size of the C wedge was shocking. Of course, there was no wedge for C++, let alone Java or Perl.

As with any older title, there are technological fossils like this to be marveled over in several essays, but it's quite interesting how the author pronouncements are generally, well, reasonable and right. He's not Nostradamus, and doesn't predict specifics, but there is a nice discussion on language uptake (he rails against FORTRAN and COBOL in a world of Modula-2, Oberon and SmallTalk! I suspect more people now now use the either of the former languages than all the latter languages put together). In this essay, he talks about how some of the third generation languages are wonderful, but suffer from inadequate or confusing libraries. He suggests that only wide and deep libraries really make people change languages in the real world. I know (from reading his new title, "Slack", review coming) that he's much further from the code now, but I wonder what he makes of Perl or Java? (Certainly the thing that lured me from C++ to Java was the libraries. Well, I missed the STL which makes the Collections API look like a child's homework.)

Other essays talk about the Microsoft anti-trust trial, or the fate of IBM. In both cases he seems to be more-or-less on the money, simply by being slightly cynical and not making any mad assumptions. Of course, by the same token, nothing he predicts is particularly startling, but still, of interest when reading.

There are a quite a few pages devoted to things which don't relate to technology specifically, and hence, don't appear dated now. These generally concern scheduling, or people management, and generally are as good as people expect this author to be. When he's good, he's very good. I want to work with a manager like him someday, just to see what it's like! However, even in these people-skills sections, I can't help but wonder what he'd revise in the light of the whole dot-con debacle.

What's bad?

Well, this is a fix-up title, and some of the essays are, to be frank, crap. I doubt any but his most ardently completist fans want to read an essay on his experiences trying to work with desktop video for example. A couple of the essays just struck me as, well, rather pointless. Sometimes funny, but pointless. These tended to be the "Not previously published" ones, and I think there's a reason for that.

Alternate titles

Oh, sure. There's a shelf full of titles like this in your nearest bookshop. I don't generally like any of them though, so I'll just recommend his earlier Peopleware and his latest, Slack.

You can purchase Why Does Software Cost So Much? from Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

This discussion has been archived. No new comments can be posted.

Why Does Software Cost So Much?

Comments Filter:
  • Without having read the book, I would expect this question is best answered by reading any introductory (micro)economics book.
  • Duh! Labor costs! (Score:3, Insightful)

    by Ars-Fartsica ( 166957 ) on Thursday September 26, 2002 @10:49AM (#4336303)
    And that's getting fixed too. Every software shop in Silicon Valley is opening up development centers in India.
    • Every software shop in Silicon Valley is opening up development centers in India.

      Does anyone have any information on this? I've been hearing rumblings about this for a while now. What's the justification? Are there any stats on this? Is this really a concern, or is it like the 'brain drain' Canadians have been hearing about for years?
      • Re:Duh! Labor costs! (Score:2, Informative)

        by mgs1000 ( 583340 ) labor/story/0,10801,74458,00.html
      • Re:Duh! Labor costs! (Score:2, Interesting)

        by RevDobbs ( 313888 )

        As an example, there's a small, general "technology" company is S. E. Michigan that faxes large technical drawings to India, where the cheap but educated labor produces electronic copies in various CAD packages. The involved telecom & foreign labor costs are a fraction of what it would cost to have the drawings produced state-side.

        And we've all read the articles on how technical support centers are largely out-sorced abroad.

        • Anecdotes are no match for statistics, I know, but I've heard from reliable sources that Yahoo! transferred a major portion of their customer support to an Indian call center. The company discovered after that fact that the overseas contractors were not trained, not experienced, not equipped, and not able to do the job--all things they had been promised when they signed the contract. After two months of horror, they pulled out and moved the support back in-house. I'll bet they're not the only company discovering that outsourcing isn't the silver bullet that will make you profitable. My company, meanwhile, handles everything about the core business in-house. From development, to hosting, to IT, to customer support; it's all done in-house at great expense. And yet we're incredibly profitable (plus we have great customer satisfaction--something outsourced support centers aren't known for delivering).
    • Re:Duh! Labor costs! (Score:4, Interesting)

      by neuroticia ( 557805 ) <.moc.oohay. .ta. .aicitoruen.> on Thursday September 26, 2002 @11:10AM (#4336494) Journal
      Software actually doesn't cost a whole lot at all. Think about it. Most companies have only one flagship product. Let's look at Alias|Wavefront, the makers of 3d Giant- Maya. Maya has a base price of $2,000.

      3D graphics is a niche market--this means low numbers of sales. Couple that with the fact that there is apparently a number of working cracks and keygens spread out across the internet, and you're looking at seriously low sales.

      Now, at the surface, $2,000 is a lot of money. It's 10 of those Walmart-Lindows computers... It's one mid-to-high range PC.

      Look at it from A|W's point of view, though. $2,000--if you're paying one programmer a paltry sum of $10/hour (which we all know the best programmers won't accept), that's only 200 man-hours. Now, you need a staff of programmers, accountants, secretaries.. You need to pay your IT people, your connectivity bills, rent on offices, advertising costs, etc.

      Cost-of-development far outweighs cost-of-software. The golden days of companies becoming rich off of software is over, even heavyweights like Microsoft are cutting back.

      Yeah, software is still expensive for a consumer... But think of how expensive it is to *develop* that software.

      • "Couple that with the fact that there is apparently a number of working cracks and keygens spread out across the internet, and you're looking at seriously low sales."

        I doubt the cracks and keygens seriously cut into A/W's bottom line. The big reason they have such a high price point is because they sell mainly to businesses, which can afford to drop $2000 a box for software. They price it there in part because that's the best price point for their target audience.

        The average Joe can't and/or won't pay $2000 for a piece of software, so when he pirates it, he doesn't harm A/W in the least --- he may actually help them by gaining experience with the software that might translate into a job down the road in which he might use a licensed copy. Businesses, on the other hand, generally can't afford to engage in rampant piracy since they're much more vulnerable to litigation than individuals. That's even more true when most of A/W's customers are high-profile entertainment companies rather than small backwater businesses, and they can't really get away with piracy.

        So, I can't really believe piracy has a very significant effect on software shops like A/W.

    • by spiedrazer ( 555388 ) on Thursday September 26, 2002 @11:46AM (#4336787) Homepage
      Not really, like the top post says, it's supply and demand, or more demand in this case. Just make a couple comparisons.

      You can buy a brand new Korean made car for $7995, and an American one for just over 10K right now. That's thousands of technical components that need to be designed to fit together, manufactured by hundreds of suppliers, assembled in a multi million dollar facility, and shipped to your local dealer.

      I'm currently looking at an open file add-on to my backup software, and it's going to cost around 20K for a 25 server license. Which costs more to produce?

      All companies set prices as high as they can get away with and still sell their product. If no-one will buy it at the lowest price the company can afford, they won't be successful, but if they can get much more than their manufacturing costs they won't sell for less.

      I just bought a 'bowling ball' mattress for $700.00 that the manufacturer basically designed 20-30 years ago and I'm sure now costs them about $60.00 to produce, but the market sustains $700.00 so that's what I payed. It's good to be in a high margin industry.

      Software is no different. I know that R&D & support costs are high, but not as high as designing and building a new car model every two or three years.

    • I'm hoping this was tongue in cheek. for anyone who doesn't take this as a joke (hopefully it was one) this post's for you:

      You condider this a fix? this is one of the horrors of the modern age. Rather than places like India, Indonesia, Mexico, etc getting decent working conditions and wages, we want them to become our little slave labor camps (oh but they aren't slaves, we pay them wages... sorry, let's call it indentured servitude). All so that the top parasites can get higher and higher profit margins. And this has the additional benefit of giving said parasites leverage over workers in the US and Europe to remove their fair wages. It's particularly bad in the blue collar circle, and now it's hitting the IT industry too! Some Fix!

      And let's not even talk about the horrors engaged in by my government (the good old u s of a) to make sure none of them uppity little 3rd worlders try to institute any kind of worker reforms!

      Why is software so expensive? Is it TOO expensive? I don't know that it is. Why is some software too expensive? Monoplies, and excessive profit margins. Bill and his billions ought to indicate that there is a problem aside from just paying excessive wages. And to my mind excessive wages only start at management level. The people producing the work seldom get paid enough, let alone too much.

      Wish I hadn't used all my moderator points.

  • My OS is free, and so is the software I use on it. As in beer _and_ speech.

  • by Anonymous Coward
    We live in a world where work is no longer necessary, at least not in the sense of 100% employment. As technologies replace countless jobs, not only in number but in description, capitalism needs to find new ways to keep the old myth of employment going.

    By creating an endless cycle of upgrades and software bloat, jobs are created, money changes hands and capitalism can gasp one more breath before hopefully dying.

    If software were built like hardware, and people weren't brainwashed into computer addiction, software would be small, fast and efficient. The implication is that it wouldn't take thousands of programmers years to churn out buggy code.
    • Re:It's simple. (Score:3, Interesting)

      by JWW ( 79176 )
      What exactly is going to pay my bills if I don't have a job?

      While you seem to despise capitalism. What I picture when I read your post is everyone on the government payroll getting assistance. What I also picture is absolutley no personal freedom whatsoever, everyone would be serfs to the government king. Thanks, but no I think I pass on capitalism dying right now.

      Society is not advanced enough to get past capitalism without reverting to a fuedal lord type of system. Now, when you have near limitless energy generation, coupled with replication devices for everyone, you can have the Star Trek utopia you are probably hoping for.
  • Cost of software (Score:5, Insightful)

    by TyZone ( 555958 ) on Thursday September 26, 2002 @10:56AM (#4336363) Homepage
    I've heard it said that there are three adjectives to choose from in software development:

    Good, cheap, fast. Pick *two*.

    There's always terrific pressure from Marketing to make the product RIGHT NOW, if not sooner!

    Someone always insists that it has to actually *work*, too.

    Okay, that's fast and good. It isn't going to be cheap.

    • >I've heard it said that there are three
      >adjectives to choose from in software

      >Good, cheap, fast. Pick *two*.

      >There's always terrific pressure from Marketing
      >to make the product RIGHT NOW, if not sooner!

      Yep. After all, they make money on the bugfixes disguised as upgrades.

      >Someone always insists that it has to actually
      >*work*, too.

      It has to have Just Enough(tm) functionality to pass muster.

      >Okay, that's fast and good. It isn't going to be

      Only, much Open Source Software, Linux is a good example, tend to break this assumption; much to the disgult of Big Bill.

      Only things MS has going for them are uneducated users and market momentum; but, times are a changing.
      • >There's always terrific pressure from Marketing to make the product RIGHT NOW, if not sooner!

        Yep. After all, they make money on the bugfixes disguised as upgrades.

        That's a bit cynical (I should know -- I'm a cynic), but it probably actually *does* happen some portion of the time.

        >Okay, that's fast and good. It isn't going to be cheap.

        Only, much Open Source Software, Linux is a good example, tend to break this assumption; much to the disgult of Big Bill.

        Good point! However, if there were a company someplace paying for the development of Linux (just the kernel) and they had to pay typical hourly rates for the time that all of the people involve have dedicated to the project, I'd bet that the cost (of making it) would be far larger than anyone would expect.

        I haven't actually tried to do the math, but I suspect that if a company were paying to develop the Linux kernel, they could not sell it. The price they'd have to charge in order to just *break even* would probably be huge.

        And that's not even considering all the work that's been done outside the kernel as open source and/or under the GPL.

        Getting Linux free for the downloading is a *terrific* deal. Trying to balance the "value for money" or "bang for the buck" equation doesn't work because of divide-by-zero problems.

      • um, I think many would argue that many open source projects sacrifice FAST. Time to market is slow, because most developers are working part time, and they emphasize GOOD (quality) independent of time to market. Linus, for instance rarely sets release dates in advance, from what I read, for the kernel. Just says "when it is ready". Such a luxury does not exist in the commercial world.
    • Good, cheap, fast. Pick *two*.


      Most of my experience is that's full of bugs released well after the original planned release date...

      Shouldn't I at least get cheap?

    • From experience, I can tell you that it's not likely to be "good" either when marketing starts jumping up and down. When marketing starts screaming, it becomes a battle between engineering and marketing over whether it's "good" or "fast." Cheap usually loses out either way.
  • Remove competition, prices rise. Duh...
    • Remove competition, prices rise. Duh...

      Are you trying to say that Microsoft is the only software company out there, or that all software companies are monopolies?
      • Microsoft is a monopoly. The courts have ruled it to be one, not me.
        • Microsoft is a monopoly. The courts have ruled it to be one, not me.

          Read my previous message again. I never said I didn't think Microoft isn't a monoopoly. I was asking whether you thought Microsoft is the only software company out there. Or if Microsoft is not the only company, then you must believe that ALL software companies are monopolies. Both are blatantly false (ever heard of HP? Oracle? LucasArts? IdSoftware?) So, which one is it?

  • by liquidsin ( 398151 ) on Thursday September 26, 2002 @10:58AM (#4336388) Homepage
    This is an easy one. Software costs so much because people are willing to pay for it. It's basic economics. Would MS Office cost $500 per license if nobody was paying it? Of course not. Office is MS's number one product, because people want it and are willing to pay for it.
    • by mach-5 ( 73873 )
      I beg to differ...people are not willing to pay for software...CORPORATIONS are! I think even for small businesses, the price tag on software is way to much to justify the expense...but they purchase it anyway rather than go with something open source. Why?
      • If it were too much to justify the expense, they'd use open source (or paper and pencil). It's not like Open Source is still a secret.
        I use it in my tiny retail business because it IS worth the big price tag. I need software that works out of the box. No tweaking, no configuring. I need software that requires no more than 5 minutes of training. I need software that is backed up by a company that I can call, and that other people are going to support and write add-ons for that I can easily find.

        We don't buy software because someone has a gun to our heads! We buy it because it has value. It's that simple.
    • And they're only willing to pay for it because IP laws are so strict. In this case, "reverse engineering" prohibitions keep Microsoft Office alive. (Those restrictions got much stronger very recently, but have always been a factor in discouraging a company from looking too closely at Microsoft's formats).

      If "reverse engineering" was more permitted, then Microsoft's monopoly wouldn't be as powerful as it is (or at least their dirty tricks would've come to light years earlier).

      In actuality, Microsoft is a government-created monopoly. The best we can hope for from the DOJ case is to treat one specific symptom of the disease- instead of readjusting the laws that caused the problem to develop in the first place.

    • by tc ( 93768 )
      Of course, if you'd read the review (yeah, I know, it's a bit much to expect posters to read the article they are commenting on), you might have noticed that the question is about why software costs so much to produce.

      Software costs so much to make because the skilled workers needed to produce it can charge a high price for their time and effort. So the question boils down to why all that time and effort is needed, and why such highly skilled people are needed to do it. Sounds like this book might offer some insight into that question.

    • The whole free market house of cards is supposedly built on, at its basic, fundamental assumption, that the consumer is aware of the choices. I think it can easily be argued that in this day and age of centralized media conglomerations in bed with content-creators, that the consumer is less and less aware of the choices. The market is just flooded with 500 choices of the same thing rebranded with different names by different subsidiaries. So be careful when you toe that free market line. Do you really think MS software would be as dominant if it wasn't for scads of marketing and anti-competitive OEM deals? I don't.

    • There's one thing that complicates this issue a bit when it comes to something like Office or 'doze...the absence of practical alternatives. The question then becomes, "How much can the market afford not to pay for it?" When this happens, buying the software is merely the lesser of two evils.
  • Many argue that the reason software costs are the way they are is to make up for the revinue lost do to Software Piracy. In order to make up for the money lost do to those who run as much "acquired" software as possible.

    Conversly, those that run "acquired" software, say that they do so because they cannot afford the cost of the software.

    Given that, which happened first, and caused the other?

    • by ProfessorPuke ( 318074 ) on Thursday September 26, 2002 @11:12AM (#4336504)
      Its true that software "piracy" leads to higher prices, but for an entirely different reason than the reason given by the software industry CEOs.

      Really, the effect of "piracy" (aka widespread copyright infringement) is to retard the developement of Free Software/Open Source solutions. People everywhere have an instinctive feeling that if a product has no physical form, and the per-unit cost of duplication is zero, they should be able to reproduce it at will. If not for extensive copyright laws, they could do so, without having to renogitate the publisher's permission each time.

      Since those laws are often ignored, many people get away with behaving like that, even though its illegal. (Home consumers do this all the time. Corporate folks do it on a smaller basis, and try not to leave machines permantently running such code, but often pass through transitional periods of |installed copies| > |paid licenses|.)

      If it were harder to "pirate", then the user base would satisfy their need for free copies with "Free" software, and we'd all be better off.

    • by Christopher Thomas ( 11717 ) on Thursday September 26, 2002 @11:28AM (#4336631)
      Many argue that the reason software costs are the way they are is to make up for the revinue lost do to Software Piracy. In order to make up for the money lost do to those who run as much "acquired" software as possible.

      Conversly, those that run "acquired" software, say that they do so because they cannot afford the cost of the software.

      Given that, which happened first, and caused the other?

      The correct answer is probably "neither". I strongly believe that the (relatively) high cost of software stems from two factors:

      • Firstly, software costs a lot to develop, with very uncertain return.

        Any product worth putting on the shelves will take anywhere from 1 to 20 man-years to develop (minimum). Multiply this by a developer's annual salary (and add salaries for marketing, finance, and administration), and you start to see where the costs come in. The number of people who buy your product is very subject to market whims. Try to increase it through aggressive marketing, and you just up the stakes (marketing costs money too).

        So, if you've paid to develop a product, you generally end up charging what the market will bear to be as sure as possible of recouping your expenses. If you're trying to amortize over several projects (i.e. use your successful projects to finance your unsuccessful experiments), it's even worse.

      • Secondly, a company that beats the odds and has a successful product has no incentive to reduce the price.

        If a product is pulling in money left and right, a company would be very stupid to cut the revenue stream by lowering the sale price. Make a lower-end offering, sure. Lower the price of the old version when the new version comes out, sure (if they're confident they won't compete with themselves). But companies are intrinsically selfish (they're _supposed_ to maximize revenue). A for-profit company won't just start giving away its product once development costs have been recouped.

      In conclusion, I think that high prices would exist with or without software piracy. Software piracy is just another marketing angle to spin to justify the price.
    • Many argue that the reason software costs are the way they are is to make up for the revinue lost do to Software Piracy. are answering the wrong question. Its "Why does software cost so much to create?", not "Why does software cost so much to buy off the shelf at Babbages?".

      We are talking about a book on Program Management here, not a book on Marketing and Economics.
  • by ites ( 600337 ) on Thursday September 26, 2002 @11:00AM (#4336406) Journal
    You have different costs and goals for:
    - commodity products
    - new inventions (R&D)
    - business process automation
    - technical process automation
    and so on.
    Most software is actually surprisingly cheap, because, like table salt, we have managed to produce it on an industrial scale.
    But anything that falls outside the 'box' - and this includes the R&D that can give a business its 'edge' is costly.
    It is like 'chemicals'. Sodium chloride is cheap. Anything made by a solitary lab scientist somewhere is horribly costly.
    This book was written in 1995, when we were finishing the mass automation of most normal business processes.
    Buying the same software today is really cheap unless you go for SAP & Co.
    There is a significant gap (people selling salt as if it were gold) that is only possible because software is so hard to understand, compare, and measure.
    With time, this gap will close and commodity software will go for commodity prices.
  • by XiC ( 207670 )
    Coding is just like creating art.
    Some art is cheap, some artist give their art away for free (i.e. on subways :).

    THAT is why (some) software is expensive.....
    • Coding is just like creating art.

      A bit. But its a really bad analogy in general, because a work of art can be bad, but never wrong. Software can easily be both, neither, or one of each.

      The best analogy I've seen is Brook's analogy to building great Cathedrals. Typically lots of different people have to work together to build it (perhaps over several "generations"). Its important that its astheticly appealing, well structured, and that the roof stays on in a storm.
  • Well, lemme see.....added features, requiring more programmers, who need to work longer hours, which racks up overtime.....

    Those seem to be just a few. Remember, in this market, demand drives the cost. If we decide we cannot afford the software, we will either stop using it for a cheaper alternative (see: linux as an OS and mozilla as a browser as examples), or pirate it (see: every user of Windows I know). If Microsoft does succeed in making it so we cannot pirate the software, I believe users will turn to the easier to use linux OS's and even lindows. This movement away from Microsoft will cause the prices of Windows, Office and such to go down.

    So, until we start not purchasing software at said prices, the prices will remain high.
    • Well, lemme see.....added features, requiring more programmers, who need to work longer hours, which racks up overtime.....

      I don't know about you, but last time I checked, salaried programmers like myself do not get paid for overtime. If you know of any, please make sure to pass the opportunity my way ;-)
      • Oh yeah, forgot about that small detail. I remember during the dot com boom, you could work oodles of hours and get OT. are lucky to be working.
  • by TyZone ( 555958 ) on Thursday September 26, 2002 @11:06AM (#4336450) Homepage
    The article seems to be about

    Why software costs so much (to make).

    Many of us are responding to the question

    Why software costs so much (to buy).

    My opinion (FWIW):

    Answer to question #1: good, cheap, fast...pick two.

    Answer to question #2: a company that's interested primarily in making a profit will spend some effort finding out how high a price the market will bear, and then charge that price. It'll be uncomfortably high, but not *too* uncomfortable for their target market. People will buy it at that price.

    • The article seems to be about... [w]hy software costs so much (to make)...many of us are responding to the question...[w]why software costs so much (to buy).

      Yep. Really show the level of the poster , doesn't it? Kids are obsessed with how much it costs them to buy a copy of Windows, people with experience realise that they're talking about why software costs millions to develop....


    • The article seems to be about Why software costs so much (to make). Many of us are responding to the question Why software costs so much (to buy).
      EXACTLY. I was just about to post the same thing.

      I disagree with your answer to question #1, but I'm too lazy to argue about it right now. Suffice it to say I don't believe we have yet discovered the "right" way to do software, and we still spend 90%+ of our time on stupid things that could have been avoided.

  • by Anonymous Coward
    1) Marketing and advertising
    2) Paying for management's perks (think: Bill Gate's massive house, and the Oracle guy's Americas' Cup challenge.
    • 1) Marketing and advertising

      Yes, this makes up a significant part of the cost of making software.

      2) Paying for management's perks (think: Bill Gate's massive house, and the Oracle guy's Americas' Cup challenge.

      Absolutely. This one is also part of the answer to other questions:

      Why are companies so expensive to run?

      Why is there *too much* management in some companies?

      Why do good developers ever even *want* to go into management?

      What methods do companies use to try to attract good managers? (ignoring the question of whether this *works* and whether the managers who are attracted are actually *good*)

    • There is also the "interesting" practice of paying the Board of Directors and other highest-ups a big bonus so the company doesn't show any increased profit, or can even show a loss, so they have a "reason" to raise prices or reduce quality of product or service. (I dunno about elsewhere, but I know for a fact this goes on in the insurance industry all the time.)

    • Bill Gates' house? His stock, which in no way affects MS's earnings, covered that cost. Same with Ellison's boat. Now if you want to talk about management perks, look at Jeff Immelt at GE, whose family flew to France on a private jet for about $400 in net income. However, this is largely written off against earnings (for the company) and, as a result, it actually is just found money (the company would have paid the extra cost of the plane flight in taxes).

      Marketing and advertising is certainly a component, but management perks do not pass through as directly as you imply.
  • by mraymer ( 516227 )
    ...there were a few [] free [] software [] options available.

    And for those who can spare a few pennies for a distro, there is always CheapBytes. []

    But the author does have an interesting point. Kind of like the question: Why did someone pay me $1010 USD for the Eaglehorn bow a week after the Diablo II xpack was released? ;)

    This is all just proof positive that the real wealth resides in the human mind, not in a few flipping bits.

    • Kind of like the question: Why did someone pay me $1010 USD for the Eaglehorn bow a week after the Diablo II xpack was released? ;)

      Dang! A better question would be: What am I doing here, rather than sitting at home with Diablo II and a hex editor.

      Ebay, here I come...
  • -1 for anyone who can't infer that the book is not primarily talking about bespoke software, not commercial software.
    • by smileyy ( 11535 )
      Correct that to: -1 for anyone who can't infer that the book is primarily talking about bespoke software, not retail commercial software.

      I suck at life today.

  • Because (Score:4, Funny)

    by aengblom ( 123492 ) on Thursday September 26, 2002 @11:13AM (#4336522) Homepage
    ... Liberal Arts majors can't write software.

    Hey, some of us work cheap. Yall don't. Sucks to be me I guess.
  • by (H)elix1 ( 231155 ) <> on Thursday September 26, 2002 @11:16AM (#4336537) Homepage Journal
    Most shops out there look at the price tag of software and equate that to "worth". Here is a personal example. I wrote some bioinformatics software in the early 90's that I used in my research. When others were looking for the same thing, I added the creature comfort features that I did not need, plus documentation. I _could_ give it away (under the radar), but for shops who had to buy software, no one would touch it if it was free. I stuck a $200 price tag, no nibbles - feedback was they were expecting shareware grade product at that price. Had a custom box made, charged $5,000 - and sold several!

    Anyhow, point being it does not matter how much jboss rocks if those with the checkbook think webxxx is worth the .2-1M. Sometimes you have to charge a punitive amount to make them feel like they are getting something. They are not evil, just missing the point.
    • This example just points out how much purchasing managers don't understand what they are buying. It fairly common and show how people who look at price tag as a way of determining value are too stupid or too lazy actually do the work necessary to figure this stuff out.

    • Likewise a friend of mine in web development once had an industrial group turn down his presentation because they didnt think the quoted price was high enough.
  • The reason (Score:2, Insightful)

    by ivanandre ( 265129 )
    Software is expensive because is hard to develop it.

    There is not free food.

  • I know why mine does (Score:5, Interesting)

    by r_j_prahad ( 309298 ) <r_j_prahad@ho[ ] ['tma' in gap]> on Thursday September 26, 2002 @11:18AM (#4336561)
    I am a developer. In fact, I being the only developer on this project. I have two project managers that I report to, and the clients. Doing the daily status reports, the weekly status report, the monthly status report, the half-day meetings several times each week, the countless hours I spend backing out stupid ideas the client came up with that my two managers were too brain-dead to say no to,....

    Well, you are getting the idea. The actual coding going into this effort is going to be worth about $10000 but our accounting says the client is going to have to pay $125000 for us to not lose money. That is being one hell of an overhead, folks. All that money to train managers, wasted.
    • Ouch. I do hope you're keeping your resume updated. I can tell you where your company is heading.

      Where I work the ratio for the IT dept is 1 manager: 6 supervisors: 2 to 4 developers/admins per supervisor

      It's awesome. I only have to report to one person and I spend only a fraction of my time (maybe 10%) in meetings, and they are always relevant and productive. Plus my supervisor trusts my judgement, asks me questions, promotes me, and sticks up for me.

      Sounds like you are being overmanaged and micromanaged - two of the biggest killers of productivity out there.
    • One project, one developer, two managers. What's wrong with this picture?!

      But the trend toward topheavy management is everywhere in business today, and has been for a couple decades now. I think it has a great deal to do with why most products now follow Andy Rooney's Observation: "Everything is smaller, more expensive, and not as good as it used to be."

    • The actual coding going into this effort is going to be worth about $10000 but our accounting says the client is going to have to pay $125000 for us to not lose money. That is being one hell of an overhead, folks. All that money to train managers, wasted.

      Don't forget $$$ spent on marketing/sales weasels and MBAs!

  • Software costs so much because it becomes more valuable to society the more people that use it. It becomes a platform on which everyone can stardardize, and as a result the company that owns it *cough* can start charging well above the actual average cost of the piece of software without having to worry about competition.
  • by Junior J. Junior III ( 192702 ) on Thursday September 26, 2002 @11:31AM (#4336656) Homepage
    Why do companies develop TWO versions of a program (one lite/crappy, a la MS Works and one high end/professional version a la MS Office) and then sell the high end for several hundred dollars and the lite version for under $100?

    You'd think that the cost of developing two separate versions would outweigh the benefits of having the "professional" version available to everyone, at reduced price to reflect the economies of scale that come in to selling to a broader market.

    Spending EXTRA money to develop a crappy version of your software that you can sell to millions of people for cheap, just to protect the giant inflated prices of the high end stuff that you might only sell a few thousand licenses of, just doesn't make any sense.

    Why not just sell the full version to EVERYONE and reap the benefits of economies of scale? Customers get better product, cheaper, you get more customers and more revenue. Everyone wins.
    • > Why not just sell the full version to EVERYONE and reap the benefits of economies of scale?

      Well, you're obviously no businessman. The answer is obvious: If people pay for both versions, you make more money.

      It's your standard bait-and-switch. Most customers don't know what they want initially. So they buy the one with the cheapest bottom line. When they find that this doesn't do the job, they buy the more expensive one. And you've made two sales rather than one.

      (What, me cynical? Nah ... ;-)

    • In my experience, the reason for multiple versions of a program is usually the result of marketing/manager ignorance.

      Managers/suits, are notorious for wanting something for nothing. I have been in businesses that use peer-to-peer networking, call one box a "server", (basically a file share that everyone saves files on) and the manager can claim "costs were saved", because we didn't spend X number of dollars for a good server, switches (cheapy no-name hub) etc. They usually don't even have a backup solution either

      You can recommend to the client to buy the good stuff, but you will be wasting your time. Costs are important to the suit, so buying the lightweight, cheapy version of a hardware/software provides this warm accounting fuzzy.

      On the software side, I've seen businesses use Access databases on the "server" with Access frontends on the client boxs all using linked tables. Since Access "backends" can't use stored procedures/triggers etc, the savings cost in productivity alone will be eaten up by waiting for all records in a table to load on the client box to run a query. Access "backends" are also notoriously prone to corruption as well (simply due to them being a huge BLOB object). Try to explain why this is bad, and they just don't get it, or more commonly dont want to. Again its the immediate bottom line (I want to look good for "saving" costs), forget total cost of ownership.

      In todays world, I think a prerequisite for an MBA degree should include at least some technical type of courses.
    • Gramma likes to use Print Shop. If I gave her Photoshop and InDesign, and said, "Make a Birthday card!", she'd be, "Uh, What?"

      Lots of features aren't always a good idea, no matter how much they cost.

      • Bad analogy. Print Shop and Photoshop aren't developed by the same company. Adobe makes plenty of low-end photoshop or image editor apps, but why? The added costs of developing and supporting yet another product have got to be tremendous.

        If they just lowered the cost of Photoshop full to ~$75-150, they could get get tremendous boosts in their market without spending ANY more money on development.
    • Simple. There are two distinct markets for that kind of software: consumers/hobbyists, and businesses/professionals.

      The cheap version has most of the functionality of the real thing, but is lacking a few (painstakingly chosen) key features that keep it out of the professional world (a good example: Photoshop Cheap-O leaves out CMYK separation, which is virtually a requirement if professional printing is to be involved).

      This is known as "tension" in the marketing world . . . at some level of professionalism, at least one of the key features will be required (and some customers may even end up buying both).

    • Google is my friend. From 1849, and still works:

      "It is not because of the few thousand francs which would have to be spent to put a roof over the third-class carriage or to upholster the third-class seats that some company or other has open carriages with wooden benches ... What the company is trying to do is prevent the passengers who can pay the second-class fare from traveling third class; it hits the poor, not because it wants to hurt them, but to frighten the rich ... And it is again for the same reason that the companies, having proved almost cruel to the third-class passengers and mean to the second-class ones, become lavish in dealing with first-class customers. Having refused the poor what is necessary, they give the rich what is superfluous."

      The truth is that price discrimination by providing "crippled" versions of your product is very profitable, and very cheap (as long as you don't have to actually make replacements, but rather just disable features, it's a simple IFDEF in software...). It's really tough to hit the right price points and feature levels though, as you must choose the "right" offer, or should I say designated offer freely, unlike say a student's fare or a senior fare on a bus. More customers? No, you get a smaller marked share if there's competition with more/less features that hit those better. More revenue? No. Price discrimination is always better than no discrimination. If it wasn't so, you could simply choose not to discriminate. I'm about to finish a MSc in Industrial Economics, and trust me, you and the moderators are way off.

  • by jc42 ( 318812 ) on Thursday September 26, 2002 @11:34AM (#4336678) Homepage Journal
    A lot of the replies here make it obvious that people haven't bothered to read DeMarco's title essay in this book. If you had, you wouldn't be trying to explain it all for the readers.

    His basic thesis is that software is in fact very cheap, compared to the alternatives. The complaint that software is expensive is really just a negotiating tool to try to get the price even lower. His description of how this works is pretty funny.

    Part of the story is why software is always late. He explains that this is also a management tool to get the most work out of programmers, and programmers train their managers to set the schedule so that it can't be met.

    Since reading his essay years ago, I've noticed exactly the process he describes over and over.

  • The primary source of software development cost is team stupidity. The worst thing you can do when you want to lower software development is throw more people at the problem -- the larger the team the more stupid it is in aggregate. What happens when you drive wages of top-notch programmers down to $15 to $20 per hour is that not only do you get larger teams of programmers, hence dramatic rises in stupiduty, but the pool of smart programmers -- via which you could recover from the already fatal strategic mistake of increasing team size -- disappears.

    I love the fact that companies that are throwing huge numbers of lobbyists at keeping programs like H1B ramped up, despite the huge tech downturn, are getting exactly what they want: Lots of cheap programming.

  • by smagoun ( 546733 ) on Thursday September 26, 2002 @11:52AM (#4336855) Homepage
    Ever buy a car, or even look at the price tag of a car? It's *at least* $10,000 USD, these days more like $25-30k for one with a few bells + whistles. Show me a piece of consumer software that costs anywhere near that much.

    Now, some people will argue that a car is much more complex than a piece of software, and it certainly has a higher raw material cost. I'd agree with the latter, but not the former. Software is immensely complex, and software engineering usually doesn't have the benefit of tolerances. A door panel on a car can be 1/4" too small and the car will still work. You can't really do that in software; the software will break if everything isn't exactly right. That type of precision takes a hell of a lot of time/effort/etc. How much does GM spend to develop a new car? Billions. And they're still more expensive than an operating system, which is at least as complex. Given the amount of stuff that went into it, Windows XP is a bargain at only $99 or whatever (usability considerations aside). And then there's Linux....

    One-off software is significantly more expensive than consumer software, but even there it's cheap when compared to the rest of the world. Want a custom car? What does that cost? (Hint: a lot, for any kind of quality). Or how about a custom dump truck for your mining operation? A custom or low-volume piece of software can run $10k-$1M or more, depending on what it is. Even those prices are on par for custom vehicles. While those numbers represent a lot of money to me, that's not a lot in the grand scheme of things. Software is damn cheap, especially when you consider the benefits it can provide (like the spreadsheet....VisiCalc + its followers literally changed the world).

    I don't think software costs a lot. That said, I'm sure it can be made more cheaply + reliably given better tools. The same thing is true for every industry.

    • People tend to forget how much software cost back in the 70's and 80's.

      Even considering something like Borland's Enterprise products (pretty hefty price compared to a single universal MSDN subscription), that price is a minor percentage of what you typically pay a competent developer.

      Even the cost of MS Office (or one of the commercial alternatives) is relatively small compared to what you pay a good admin assistant.

      Just my $0.07 US (adjusted for inflation) worth.
    • Cars are also designed to last a LONG time (never mind that the yuppie set thinks they need a new one every couple years). And just because a car gets old doesn't mean it necessarily can't keep up with the "flow of traffic". Whereas last year's software might leave your business in the dust.

      • I don't see how last years software can leave your business in the dust. Let's say I still have Windows 98, what difference does it make? Sure it lacks some features, but those are features that I can live without. Same thing with a car
        • I think the point was (by now I can't remember what I had in mind :) that unlike cars, software is not designed with a long future in mind. It's typically designed to be good enough for a couple years' worth of useful life. And that's to some degree practical reality, since things change so rapidly in the computer field.

          Conversely, cars are designed to last 20 years or longer (I drive a 24 year old truck) and they don't go obsolete as such -- frex my old truck can still travel on all the same roads as the very latest and greatest. Whereas my old DOS/Win3.1 machine simply can't do all the things my Win95 machine can. (See, I'm a reactionary reprobate too :)

    • You don't much about industry, do you?

      If there was a 1/4" gap on a door panel, water would flow.

      When you buy a car, probaly about 15% of it is raw materials. about 35% of it is employee health insurance.

      I don't have an auto industry example, but here's one from the steel industry:

      Korean steel companies require about 16-25 workers to do the job of 2 workers for US Steel. It costs them about 2.5x more to produce a given quanity of steel than a good US mill.

      Why are American steel companies bankrupt then? Health care costs for pensioners accound for $0.35 for every dollar of revenue.

      The Software industry has no unions, few retirees. Software is cheap because they lack the overhead of industrial companies. Plus additional copies of software cost nearly nothing make.
      • Gimme a're pulling the straw man routine. The 1/4" was an example; the car will still work just fine, and the weather stripping will keep out the water. The door won't look right, that's all. Trust me on this, my car has this exact defect but has managed to stay dry.

        You make some good points about cost - American industry is saddled by an absurd health care system, etc. There are a zillion different factors that determine the cost of everything (like advertising! ha! you don't know much about industry if you didn't mention advertising!) that I deliberately overlooked because, well, this is slashdot, not a graduate thesis. I think we're both in agreement that software is comparatively cheap.

    • People expect much higher quality from a car than from software. When software has a bug, you just issue a patch. When a car has a "bug", you issue a VERY EXPENSIVE recall program.

      Quality ain't cheap, but too much software doesn't emphasize it enough to justify the price.

    • You missed two important cost factors that GM has to deal with the MS doesn't:

      1) Government regulations, from crash worthiness to emissions to safety devices.

      2) Liability. If GM sells you a POS that explodes on impact, they will have to pay you (even if the explosion only occurs when NBC tapes dynamite to the fuel tank). If MS sells you a POS, YOU have to buy the new, fixed version.

  • by blair1q ( 305137 ) on Thursday September 26, 2002 @12:14PM (#4337075) Journal
    Software tests are the other half. And both are only half of the effort put into them.

    Software costs a lot because people think it's easy to put an idea down in a piece of code. But the code you end up with is a reflection of the sculpting of the code you started with. And you have to write at least an equivalent amount of just-as-well-sculpted code in order to test that the original code works.

    So one piece of running software costs twice as much to write from scratch as you'd think just from looking at the spec, and another twice as much to test properly. Three times if you need exhaustive testing under load.

    Add 1 more unit if you want it documented properly. 2 more if you want the tests documented.

    And then, if you're going to certify it for flight or safety, add another two to five units for the reviews of the software, the tests, the documentation, and of the reviews themselves.

    Nominally, figure 2x for working code, 4X for tested code, 5X for tested, documented code, and 7X-10X for certified code (that will still have bugs but most of them will be documented and approved).

    And then modulate it by the quality of your managers. Your wizards may do in a day what your lusers will take a month to get right. Wizards don't come cheap, for a reason. The great management smoke-in of 2000-2001 resulted in a lot of lusers being hired for Wizard pay. The backlash is occurring now. Bad managers estimate poorly and either overpay or underschedule. Managers that do the opposite are good by definition. And there's no way to prove managers except by trial and error.

    $100 for a "line of code" in a cockpit system isn't unusual, and isn't unreasonable, considering how many uses you can get out of it, and the price of failure.
  • Grady (the OOD guru) gave a talk called "The Limits of Software" [] in Palo Alto a couple weeks ago. He said software is hard because:
    • Distributed systems are fundamentally hard
    • Design is fundamentally hard
    • Difficulty organizing large teams
    • Use of bad or ad-hoc development processes
    • Conflicts between developer and management objectives
    My take is that for any easy problem, the software is written once, standardized, and doesn't need to be changed. You only need to write new software to deal with the problems or environments you didn't anticipate before, which is inherently unpredictable.
  • Knuth: Certainly errors in software are more dif-ficult to fix than errors in books. In fact, my mainconclusion after spending ten years of my life work-ing on the TEX project is that software is hard. It'sharder than anything else I've ever had to do. WhileI was working on the TEX program, I was unable to do full-time teaching. Although I love teaching, I had to take a year off from it because there was justtoo much to keep in my head at one time. Writing abook is a little more difficult than writing a techni-cal paper, but writing software is a lot more difficultthan writing a book

    There you go. Software is hard (I know it, you know it) and given the benefits that custom software often provides to the clients, I would not say that it is expensive.
  • by Lussarn ( 105276 ) on Thursday September 26, 2002 @01:26PM (#4337657)
    Half a year ago I bought a Mandrake distro only because it's too cheap to Linux (the companies don't make enough cash).

    Have never installed it. I don't like Mandrake Linux, but they have a great distro for newbies I hear and I thought they could use some money.

    I think others should do the same or similiar. Possibly by supporting single open source projects or buy a distro.

    Redhat for example ships with DVD and credit card rescue CD which is also added value from downloading. Support your distro.
  • by pmz ( 462998 ) on Thursday September 26, 2002 @01:37PM (#4337763) Homepage
    Software is complex, and nearly everyone is in denial about it. Many people think it is some sort of magic, where just adopting the right buzzwords will make something everything they dreamed for. Everyday, someone breaks out of this fantasy after learning a very very hard lesson, but, sadly, for each of these people there are three more who are just beginning the process.

    The software industry is also infantile when compared to ship building, chemical rocketry, airplanes, electronics, book publishing, and house building. These industries have already learned all the hard lessons, and there is a culture in place that guides young and old.

    The software culture is more like the fashion industry than engineering, right now. Everything is in flux, established procedures are never established for long, what broke the last system is quickly forgotten, and youth rules the roost.

    In time, this will change. Software Engineers won't be laughed at for their vagueness of title. Newness of technology will actually be considered before risking a whole project on it. One day, people will be conservative (but smart and creative) when creating such complex systems.

    And, in time, people will come to understand what software really costs. Million-dollar contracts won't be alwarded for ten-million dollars worth of work. People won't want their Golden 6-speed Lexus delivered this afternoon for the price of a Chevy Cavalier. One day, they will learn.
  • I'd like to point out that the book doesn't actually answer the question posed in its title (Why does software cost so much?).

    The essay from which the book takes its title from isn't about the costs of developing software, it's about the real reason why people (generally management types) ask the question. The answer DeMarco gives, IIRC, is that it's generally asked as a rhetorical bargaining device.

    DeMarco suggests that the correct answer to "why does software cost so much?" is "compared to what?"

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (3) Ha, ha, I can't believe they're actually going to adopt this sucker.