Live data from Hacker News

Software Development Has Diseconomies of Scale

allankelly.blogspot.com

31–40 of 89 posts

Re: Software Development Has Diseconomies of Scale

#31
"Much of our market economy operates on the assumption that when you buy/spend more you get more per unit of spending."

Supply and Demand says the opposite. The supply curve slopes upward, meaning that a higher per-unit price is required when the aggregate supply is higher.

Economies of scale apply in some situations, but people generally place way too much weight on them.

Re: Software Development Has Diseconomies of Scale

#32
post #27

Bootloaders are small, but very important software. k/q is small but a very useful interpreter. There are so many examples, but it appears that to "the market" the most valued software development is large scale. The sentiment is create and contribute to large projects or go home. Stupid, but true. "Do one thing well" is more than just a UNIX philosophy. It is an essential truth. Most programs are lucky if they can d…

While some small, simple programs are great, big economic contribution is mainly in large software: manufacturing control, ERP, air-traffic control, power-plant control etc.. Small software is great, but the big economic impact belongs to big software.

There is no reason why 'big software' can not be made up out of small software pieces inter-operating. In fact those are the strongest and most maintainable systems.

Re: Software Development Has Diseconomies of Scale

#33
post #10

Software has economies of scale in distribution. In fact the economies of scale of software are the key point of how software businesses are causing disruption. A single software program can be replicated infinitely at zero cost and allow anybody who has 1 liter of milk to have 1000 liters of milk at no additional cost. So in the author's example, software would be the same price for both 1 and 2 liters. Complexity i…

Perfect, bug-free software has economies of scale.

There is no such thing as perfect, bug-free software.

Once you start getting into any sort of maintenance, bug-fixing, feature creep- you lose all of the economies of scale of perfect software and replace that with the expenses the author discusses in the article.

Re: Software Development Has Diseconomies of Scale

#34

Earlier quoted context omitted.

> Software should be more like civil engineering, where it's normal to unleash a big team on a big infrastructure project and still have some hope that costs and deadlines stay under control. Since when do giant infrastructure projects meet their budget and calendar goals?

There are examples of it happening. The Gotthard base tunnel, the largest in the world, opened ahead of schedule and under budget.

There are examples of it with software, too. It doesn't seem to be the norm in either domain, however, so I'm not sure that there is a good case to be made that they should be similar in this regard but are not.

Re: Software Development Has Diseconomies of Scale

#36
post #19
post #13

Earlier quoted context omitted.

> How many so-called "engineers" are afraid to write small, trivial programs lest they be laughed at? Very few. Engineers love simple and reliable stuff. You might be thinking CS graduates.

KISS has been a cherished principle for most of the past century and for good reason.

Indeed, the history of the development of very large software systems has been littered with disasters. Don't people read The Mythical Man-Month any more?

http://www.amazon.com/Mythical-Man-Month-Software-Engineerin...

Re: Software Development Has Diseconomies of Scale

#38
From a "Computer Science" perspective: "Economies of scale" is another word for "sublinear growth". Software is, fundamentally, a graph. And the number of edges in a connected graph grows quadratically.

Pretty much any strategy to improve making software at scale, whether code organization or organizational design, is finding ways to limit the complexity of the graph to a constant multiplier of the number of nodes, and keeping that constant small, rather than allowing things to grow quadratically.

Re: Software Development Has Diseconomies of Scale

#39
post #27

Earlier quoted context omitted.

While some small, simple programs are great, big economic contribution is mainly in large software: manufacturing control, ERP, air-traffic control, power-plant control etc.. Small software is great, but the big economic impact belongs to big software.

There is no reason why 'big software' can not be made up out of small software pieces inter-operating. In fact those are the strongest and most maintainable systems.

As soon as you've got a few hundred small pieces interoperating, you're not talking about something small any more.

Re: Software Development Has Diseconomies of Scale

#40

It's not a brilliant article. Software is not like milk. That analogy is facile and stupid. Software should be more like civil engineering, where it's normal to unleash a big team on a big infrastructure project and still have some hope that costs and deadlines stay under control. Or maybe like movie making where there's a cast of thousands, the time is huge, and the costs are epic, but some projects stay under contr…

The Software industry is what Construction would be like if architects were allowed to dream up whatever contrieved designes they would fancy that week, without those pesky engineers telling them that: No, no matter how much they wanted, steel and concrete and stone do not behave that way and Nature does not feel any obligation to comply with the customer's requirements.
Post reply on HN