3 ms·
> The only thing really "special" about software, and it applies to all engineering, is you cannot pretend something is working when it isn't. If your airplane
by romaniitedomum 5y ago
> The only thing really "special" about software, and it applies to all engineering, is you cannot pretend something is working when it isn't. If your airplane design doesn't fly, pretending it did doesn't work.
The prevalence of Agile and Scrum in our industry suggests we're exactly as prone to magical thinking as other groups are. Maybe more so than some, in fact, because many people in the IT field seem to believe that studying some mathematics and logic immunizes them against unscientific thought.
A few years ago I saw a fascinating documentary about orangutans in Borneo. Local women used to come down to the river to wash clothes, and there were a few orangutans who saw them beating the cloth against rocks. So one or two of the more enterprising orangutans started copying them, picking up the clothes and beating them against rocks. Clearly the apes thought, if these ape-like things are doing it, there must be a good reason, and we should do it too.
In my three decades in the IT industry I see the same thing over and over. Groups and teams do things because that's what Google does, that's what Netflix does, that's what Microsoft does, that's what this blog post by this person says. No-one asks, what's the real reason that those companies do those things, and are we sure it even applies to us. So our industry is full of companies whose teams just cargo-cult whatever it is that other companies are doing, endlessly beating the wet clothes against the rocks believing that one day they'll be rewarded for it.
- kristjansson 5y agoWhile I do appreciate the cross-species cargo-cult metaphor, I don't think Agile, Scrum and their ilk qualify as engineering in that sense. The program either compiles and does what it says on the tin, or it doesn't. The bridge either stands up, or falls down. Agile et al. are systems for managing humans, who aren't known for responding to inputs as reliably as gears, girders, or compilers.
- Supermancho 5y agoI can design a car that runs on water. It will only go downhill but it works. The bridge either stands up or falls down is an exercise in underspecification rather than a demonstration of an absolute metric.