The staggering impact of IT systems gone wrong
spectrum.ieee.org
spectrum.ieee.org
: D
Proper infrastructure engineers (or "site reliability engineers" as google now calls them) are key for helping architect highly available systems like this; Yet the trend seems to be forcing software engineers follow tutorials from google on setting up key pieces of infrastructure nowadays.
Edit: it's ettiquite to say why you're going to downvote someone, if what I said wasn't relevant please let me know.
Our own company learned the truth about requiring an operations team the easy way - they hired some and their reliability went up. Outages started being handled before it impacted customers.
It's been fun watching the volume of "Oh Shit" emails dropping precipitously.
Identifying scope and purpose, and it's impact and documenting the design are just some of the things an platform operations team is -supposed- to take care of.
The largest problems of development have nothing to do with administering anything (edit: for example, bad design often results from bad design decisions that are neither prevented nor fixed by seeing that the required documents have been written.) The idea that Winslow Taylor's principles can solve these problems is a fallacy - a commonly held one, but a fallacy nonetheless.
- corruption : "let's milk the customer for all they have"
- personal ambition : "let's choose what's best for my career instead of what's best for the project"
Unless we radically change the way we do things the IEEE will need bigger and bigger green circles on their charts.
"Never attribute to malice that which is adequately explained by stupidity" and never use the stupidity explination to overlook the fundamental complexity of a software project.
What you have here is a lot of non IT professionals, without siginificant IT experience, attempting the most complex IT projects ever considered, without the pressures of ship-or-sink, investors looking for progress reports, or even the benefit of working with their own employees (usually multiple groups of contractors work on these big projects). Also, they're not trying to build a MVP and iterate. They're trying to build Rome in a few years.
When you think about the hurdles these projects face, of course they fail. The government trying to do a huge software project is like a kid seeing a master level parkour video on Youtube and not understanding the lifetime of practice that went into the sport. They're just going to jump off the roof and break their ankle.
Of course in a sample size this large corruption is an issue. However, with zero corruption and only the best intentions, we'd see substantially the same results.
Someone needs to call out DoD for what it really is in the US - federal Public Works program that's approved by neoconservatives.
It seems like this boils down to "People should not hold strong opinions on things they don't understand."
I've seen so much time and money wasted on nonsense endeavors just because clueless people insisted things had to be done a certain way without consulting they people they pay to make sure their stuff runs right.
Contracting out at the top level (ie, including all the project management) is just a way to guarantee a money sink, because either you have a huge inflexible spec built into the contract or you have an area of vagueness where responsibility can be dodged.