Why Does Software Cost So Much?
Summary: 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 bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Without having read the book, I would expect this question is best answered by reading any introductory (micro)economics book.
And that's getting fixed too. Every software shop in Silicon Valley is opening up development centers in India.
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.
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.
TyZone
Remove competition, prices rise. Duh...
Because Bill Gates's pockets are deep.
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.
do not read this line twice.
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?
-= Xafloc =-
alinuxbox.com
N
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.
Sig for sale or rent. One previous user. Inquire within.
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.....
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.
They stuck me in an institution, said it was the only solution, to...protect me from the enemy, myself
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.
TyZone
1) Marketing and advertising
2) Paying for management's perks (think: Bill Gate's massive house, and the Oracle guy's Americas' Cup challenge.
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.
"To confine our attention to terrestrial matters would be to limit the human spirit." -Stephen Hawking
amongst other things....
-1 for anyone who can't infer that the book is not primarily talking about bespoke software, not commercial software.
pooptruck
... Liberal Arts majors can't write software.
Hey, some of us work cheap. Yall don't. Sucks to be me I guess.
So close and yet so far from the world's perfect ID number
...when 50% of the programmers are devoted to fix incompatible issues, it just adds up to the cost.
.NET! My companion hacks in cobol.NET and I hack in C#.NET if I want - no worries, no problems!
Hurray for
I suck at life today.
pooptruck
Because of MS monopoly. Hardware is cheap because there is a lot of competition.
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!
.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.
Anyhow, point being it does not matter how much jboss rocks if those with the checkbook think webxxx is worth the
+++ UGUCAUCGUAUUUCU
Software is expensive because is hard to develop it.
There is not free food.
you can find the deposit hole right here. ;)
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.
Low cost software seems to be low quality.
I have tried lots of demo video editors, all were crap. Some would have cost several hundred dollars.
I saw a short demo of Magix Video Delux on TV, downloaded a demo and fell in love with it. Much better than the high priced editors.
I bought a copy for $50. That price would have made me think it was crap before I used the demo.
http://www.gnu.org
Your cost to produce something has nothing to do with what you can charge.
Of course, that has a limit if the overall supply of that something is significantly affected. But in most cases, the rule applies.
Microsoft told me it was because of piracy!
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.
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.
You see? You see? Your stupid minds! Stupid! Stupid!
Because to many developers spend their time surfing the web, discussing things that have little to do with the coding they should be doing.
As opposed to decades to turn out version 1.0 of Mozilla?
Mozilla with Gecko Layout Engine took three years to develop, not over 20 as you exaggerate.
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.
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
$29.95 retail, for a 250-page paperback.
Bah.
Interesting book -- and on the same subject, I have written a short essay about why so many IT projects (including software projects) fail:
Why IT Projects Fail
It will hopefully shed some light on the dangers of project management and its importance in IT projects.
Why must software developers suffer while all the other professions like Law, Medicine, etc. cost so much? Heck, why to car mechanics charge so much? Why do building contractors charge so much?
Why do movie tickets cost soo much?. Why does a bag of popcorn at movies cost soo muech? Why do high fashion stuff cost soo much?
The irony here is that all these other industries use open source and they just don't pay for software.
Trying to balance the "value for money" or "bang for the buck" equation doesn't work because of divide-by-zero problems.
There is no division by zero, as it costs at least fifty dollars per month for the bandwidth necessary to download a popular Linux distribution.
Will I retire or break 10K?
Where the hell did this come from?
First of all, capitalism is an economic system, not a political system. Freedoms of individuals can be (and sometimes are being) trampled in capitalistic societies just as badly as under other economic systems.
Your comment about serfdom is just ridiculous. How would the employees on company payroll be any better off? In fact, many of my friends who now work in the IT business are practically serfs. Keep working overtime even neglecting your family. If you don't, you get sacked during the next downsizing.
And if I had to be a serf, I'd rather be a serf to a democratic government (and capitalism does not imply democracy nor does democracy imply capitalism!) I can vote out of office and not to a oligarchy of greedy ruthless managers.
I have tried lots of demo video editors, all were crap.
Even GPL'd VirtualDub? No wait, that's not a demo, that's a full version as Free software.
Will I retire or break 10K?
Well, I'm sure what make some software cost high is because some people do not know how to budget software development cost accurately.
I'm sure you seen this before:
You want to add a cool feature to your application, but fear the high cost of developing it in-house. As a result, someone comes up with idea of outsourcing thorugh the use of third party SDK's or ActiveX controls.
Depending on the vendors, not only that there is developer licenses per seat involved, but there are runtime licenses and usage costs. On top of that you might need training on how to use the SDK effectively. Oh, and don't forget the technical support contract. Plus, the third party solution might have bugs in it and the vendor have to release periodic upgrades to their SDK... and charge you for that also.
By the time you are all done with the development and maintainance, you realize that you might need to charge more to cover the overhead. Now, just imagine if you had multiple third party SDK's... Oy Vay!
Just my $0.02...
Coderz 4 Life
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.
Seastead this.
aka Alias is still being sold and for a lot more than $2000. Autostudio must be like $10,000 at least. They aren't the same code base obvously. But the revenue is the same color.
Your point is right on though.
I doubt there are too many programmers at AW making less than $40/hr; Even if all their developers are in Toronto now. There are probably less than a 200 customers per developer per year, and there is a support team of sales, design and management that must be larger than the # of developers, and there is rent, expenses, etc. Plus they need to make at least some profit to avoid SGI sending in the dreaded cost cutters.
Development Costs, not the price tag, is what the addage is refering to. And there is a lot of development cost in Linux. Not only in real money (Red Hat does pay developers to contribute to the cause, as well as others), but in opportunity costs also. It may be the hobby to most of the developers, but they a) give up time to deveop, and b) give up the opportunity to make money in other endeavors. There are real costs associated with Linux.
And fast.... Hello???? As a clone of a product that existed already when Linus started, and it is just not getting really enterprise deployable after 10 years... That doesn't constitute fast.
If you had to chose to wait 10 years ot get a free clone, or start your office today for a small price, you are going to start your office today.
And Good, well, that is obviously subjective.
So linux is arguably Good, not cheap (development costs), and not fast (development time). Linux is a perfect example to support this addage, not refute it.
A manager went to the master programmer and showed him the requirements document for a new application. The manager asked the master: ``How long will it take to design this system if I assign five programmers to it?''
``It will take one year,'' said the master promptly.
``But we need this system immediately or even sooner! How long will it take if I assign ten programmers to it?''
The master programmer frowned. ``In that case, it will take two years.''
``And what if I assign a hundred programmers to it?''
The master programmer shrugged. ``Then the design will never be completed,'' he said.
---
A manager asked a programmer how long it would take him to finish the program on which he was working. ``It will be finished tomorrow,'' the programmer promptly replied.
``I think you are being unrealistic,'' said the manager, ``Truthfully, how long will it take?''
The programmer thought for a moment. ``I have some features that I wish to add. This will take at least two weeks,'' he finally said.
``Even that is too much to expect,'' insisted the manager, ``I will be satisfied if you simply tell me when the program is complete.''
The programmer agreed to this.
Several years later, the manager retired. On the way to his retirement luncheon, he discovered the programmer asleep at his terminal. He had been programming all night.
must... stay... awake...
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.
I'd like to see someone conglomerate a selection of slashdot posts and make a book out of that!
(Sarcasm.)
> 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....
We have to keep in mind that development costs can be figured in different manners. Working for a small development firm making a transition from consulting to software development, we recently did work on a product which development costs are figured at over $1Million USD. Of course our math needs to be based off of the loss in revenues from programmers working on the project as opposed to billable hours they would have received in the field (since all our employees are consultants AND programmers), so based on lost potential revenues, development costs are figured by averaging the going rates of the developers involved (factoring in differences in economy during the 2 year development cycle).
As our company moves further into the transition, and a greater percentage of revunue comes in from sales of the product versus consulting, the figure will come down and be based more on the salaries of the developers as opposed to consulting time lost. This is simply the difference between net costs (time and resources) versus lost revenue. Now, for a company that has a staff of pure developers, i.e. Microsoft, Sun, Oracle, etc. that is separate from the consulting branch, there is typically no loss in consulting time.
It's all a matter of whether factoring costs or costs plus lost revenues.
-- If you can't laugh at yourself, someone else will do it for you.
No one uses this phrase with shrink wrapped products, really.
Most people that use this are talking about custom, internal, projects. And those cost quite a bit. OSS doesn't even come into this equation.
I don't think Alan Cox is going to manage my project to develop the Account Management System for the bank down the street. I don't think I will hold my breath until Linus writes the CICS screens for the insurance companies claims entry systems. I don't think there will be multitudes of people standing in line to write the hospitals admitance data entry application.
And I don't see any consumer waiting on little johnny to get home from school, and decide he will work on the embedded software to run a dialysis machine, or write the software drivers for the modem in the ATM machine since they weren't provided by the manufacturor.
More money, by a very large amount, is spent on custom, in house development, than on shrinkwrapped MS office. OSS won't save anybody time or money in this part of the real world.
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.
Now convince companies that they shouldn't have to pay their developers to write in-house applications.
.. an allegorical thriller of software development...
Also check out Ed Yourdon's 'Death March'..
Fun project management reading!!
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.
I know alot goes into software - but look at hardware.
whats it take to design a processor? and they're cheap as chips!
while labor costs are certainly one of the larger components, planning, project support, infrastructure all cost. this is like saying that houses cost a lot due to the fact that brick layers are high priced labor. ok we'll use aluminum siding! 10-15% reduction... ooooh! savings! poor planning--scope creep, requirements, project management, approvals--are where the savings are at. but, the larger question, especially for americans, is why do we expect something to be cheap? this is not a criticism of open source, since those involved value their time immensely, but labor seems to be the scape goat in many circumstances.
The way I explain the behaviour you describe is that if I pay you $200 and the software doesn't quite work, you won't be very motivated to fix it and my lawyer's won't be motivated to threaten you. for $5000+, both you and the lawyers will pay more attention. So, 6 months down the line when I've integrated your software into my work and the latest service bomb from Microsoft porks it, I'll be glad to have a $5000 commitment from you.
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.
wake up folks, health coverage is expected to gobble up 50% of your check at this rate in twenty years.
Quality ain't cheap, but too much software doesn't emphasize it enough to justify the price.
- 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.Its called 'market'.
As long as the market will bear the cost, then the cost will remain high.
With enough competition or disgruntled ( enlightened ) customers, the price will drop to a reasonable level.
---- Booth was a patriot ----
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.
You can't handle the truth.
Reminds me of the time that I brought our so-called professional-services team in to do a small ocntent management system. I handed them a design for doing it in Zope with an estimate of one week's labor doubled to two weeks for fudge factor, and a price tag of $10K.
.bat files. They want six weeks time to build it, and they want to charge $40K.
:-)
Our structure at the time was to hand off and let them run with it. A month later, the customer blows up because the prof.svcs team has handed them a design based on their own home-grown network management system, (not designed to do content management) plus WinCVS, IIS FTP, and a handful of
So when the customer freaks, prof.svcs comes back the next day with one feature removed (web-GUI account management) and a $20K price tag. The customer now knows that the prof.svcs team is trying to milk them for cash, and refuses to do the deal.
End result: the customer is still stuck with manual content management, and our company didn't get a penny.
So, if you're going to try charging what the market will bear rather than cost + margin, you'd better make damn sure that you know the market
"Nothing was broken, and it's been fixed." -- Jon Carroll
the real reason software is so expensive is that all of us developers are spending our time reading slashdot instead of writing code.
For a moment I thought that I'd tripped into another forum discussing the recording industry and music 'piracy'. The same general theories seem to apply.
Bill Gates is a greedy, capitalist pig!! That's why software is so damn expensive!!
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.
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.
Healthcare article at Kuro5hin
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?"
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.
It costs a lot more than $500. It also costs your privacy and security. How much are those worth to you?
I remember back in the old days, when games were distributed on (several) floppy disks, that their $40-$50 price tag was "because of piracy". When the first games that required a CD came out, they weren't piratable. Consumer-grade CD burners weren't available. Utilities like "fakecd" or "no-cd-check" cracks didn't exist yet. Yet CD-based games cost the same.
Why didn't the price decrease? Because we had grown accustomed to paying $50 for a game, and would happily continue doing so.
Slashdot: come for the pedantry, stay for the condescension.
not everyone on the planet buys a copy. yet the distribution of even demonstration methods and the platform it is distributed on (for any medium) costs money. so to correct things like fluctuations and recessions sellers actually need to increase cost. to a point, their is always a breaking moment though where the balance of browse to purchase just isn't cost effective enough - and thats where companies go bankcrupt.
go by the simple formula - if browse to purchase ratio = low, raise cost = true. you got to make sure that price tag is just right to also incorporate things like paying the wages of your staff and office buildings and all that other crap you see in your office. software is no different to any other system. just people seem to believe it appears from no-where and is created by robots. for some odd reason... maybe they just don't want to face the grim reality ?
Google is my friend. From 1849, and still works:
... 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."
"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
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.
Kjella
Live today, because you never know what tomorrow brings
If not, why not? It's good for you, your company, and the econony...
* ISBN: 0767907698
The Price is set for what the customers expect!
... i.e. Amiga only!
... an A2500 to run it on!
A good example:
Scala, Lightwave, and Cinema4D were priced reasonably while in their original versions
When re-written for Windows (a MUCH larger market) etc, each doubled in price.
Then, compare XCad (Amiga) of 1989 to AutoCad (PC) in the same period!
For the price of AutoCad you could purchase XCad2000 PLUS
(David Bowman, EVA near HUGE Monolithic Win-PC in orbit around Jupiter) "My God - its full of Malware!"
Funny! heh