Hacker News new | past | comments | ask | show | jobs | submit login

Yes but aren't we past this "software development is a production process" misunderstanding by now? We have solved the production problem: I can churn out thousands of identical binaries per day through my build system. The production side of things are solved. Other disciplines look at us enviously for it.

That's not where the troubles come in. The problems we face are generally those of design.




Our production is done by absolute, complete idiots - computer programs. Compilers can't think and can't fix design mistakes for us.

Contrast that with high-complexity engineering projects, e.g. fighter planes or Apollo project, where it usually turns out the official design specs tell at best half of the story, and most of the knowledge was contained in the heads of the builders, encoded in the shape and adjustments to tooling they used to build those vehicles. Which of course creates a problem today, now that both the tooling and the builders are long gone - but it demonstrates clearly how a build process made of people can fix a lot of errors in the design.


Insightful perspective! Thanks.


Are you sure? Pretty much every book and methodology over the past two decades has focused on how software engineering needs to "grow up" and be more like other production industries. A cornerstone in the latest fad, "new agile" with books like the Phoenix Project, is how the software delivery process should learn from lean production industries.


Yes, we've seen this before. It was called the "software factory" back in the 1980's and 1990's. It was snake oil then and it's snake oil now.


This is very popular with managers and funders who desperately want the predictability. Those pressures aren't going to go away. Doesn't mean it can be made to fit in that box, though.


> The production side of things are solved. Other disciplines look at us enviously for it.

Actually,software's production process is a mess that's designed to mitigate the colossal mess that's the typical engineering culture observed in software development. I mean, the only reason that a procedure needed to be devised to deliver automatically and immediately any fix to a software system is the fact that there was a need to repeatedly and systematically fix the product that was being delivered to production. That shit doesn't fly in engineering fields.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: