|
|
|
|
|
by mynegation
1351 days ago
|
|
After 20+ years in the field: main reason is unclear requirements. Software malleability is taken for granted so much that the under specification and fluidity of requirements became a norm and canonicalized in “agile”. That’s not necessarily a bad thing, it does allow for quick advancement of what is possible but high failure rate is the price we pay. Second: unlike traditional engineering, there are not too many university or college programs that take rigorous approach to building software at scale. Till today, software is a free-for-all industry. That allowed us to grow very fast, but - again - high failure rate is the price we pay. Third - lack of formal standards and by that I mean not just APIs or protocol specs but formal requirements on things like performance, fault-tolerance, lifespan etc. |
|
So this gives programmers a carte blanche to create crap, effectively.