3 ms·
I'd like to add that modern agile IT environments are different than that of traditional engineering. We aim for fast MVPs, fast iterations, "failing fast", "m
by gombosg 5y ago
I'd like to add that modern agile IT environments are different than that of traditional engineering.
We aim for fast MVPs, fast iterations, "failing fast", "moving fast", "delivering value quickly", generally preferring speed over quality, agility over "waterfall" planning, continuous delivery over batched releases and, well, often accruing tech debt over shipping features later.
One can argue that "fail fast" should not be about code & feature quality but rather about determining proper scope, splitting features sensibly etc. But then we still have deadlines to meet and code quality suffers.
What I'm saying that this kind of fast-moving environment actively discourages traditional (like doctors & civil engineers) engineering practices.
You might have lots of (unit|integration|E2E) tests but the company may miss practices like proper security reviews and code won't be reviewed, tested and approved by multiple people like, say, bridge building plans are.
This problem mostly comes up not with your usual web app but when critical systems are affected (like in the aerospace industry or industrial systems). But through supply chain attacks, nearly any system can be vulnerable these days.
We should definitely have better regulation on how software is made.
- wongarsu 5y agoThe problem with the waterfall model is that it only works if you can determine the requirements up front and they stay fairly static. Sometimes that's true, but all too often its impossible. But iterative development and fail-fast are independent of quality. If a company skips security reviews and is fine with technical debt because "it works, just ship it", what makes you think they would do security reviews or care about better-than-minimum code quality when following a waterfall system