Earlier quoted context omitted.
I always interpreted it as a recognition of different economic models between what we're taught in school ("software bugs will kill people! Remember the Therac-25! Remember the Patriot missile failure! Even if your bugs don't kill people, bugs found late in the lifecycle are super expensive (based on a single paper from 1990 or something)") and that of most saas applications. The academic attitude is appropriate for…
I've tried to treat my unimportant app developer career as being a stepping stone to something more important. Even if it's OK to release crap today, where will I be in 10 years time if that's what I have been practicing? I'd rather try to release bug-free software now, even if it causes friction where I work.
The Fallacy of Move Fast and Break Things
71–80 of 99 posts
Re: The Fallacy of Move Fast and Break Things
#72Earlier quoted context omitted.
I more or less like FB as an application (and I have no idea whether I should like Zuckerberg or not). But MFABT is different as a formulation: it articulates broken things an imperative rather than a side effect that needs to be persevered through. There's also context to it that matters -- everything from the great documentation diaspora from a decade back where they blew away a developer wiki that represented year…
>But MFABT is different as a formulation: it articulates broken things an imperative rather than a side effect No, it only looks like a desirable "imperative" if you read it with a hyper-literal interpretation . MZ's aphorism is just using the rhetorical device of taking something undesirable and acknowledging it. Yes, the literal words might appear like an "imperative command" but the underlying meaning of the messa…
Re: The Fallacy of Move Fast and Break Things
#73Earlier quoted context omitted.
Thing is, they do, but not in the ways you would expect. Cadavers on medical schools. Wind tunnel modeling. Computer-aided designs. The main difference to those is that the software industry can indulge on testing its own assets with little to no cost, and especially if that does not impact your ability to generate revenue.
Right, because who cares if it's broken crap as long as it's generating revenue.
Just to make things clearer, I am a programmer myself, and have never been in a management position before. My overall impression is that I learn faster when I make mistakes and need to fix them. Expecting otherwise would contradict most of the experts on human learning.
Re: The Fallacy of Move Fast and Break Things
#74Earlier quoted context omitted.
I’d say that change duration is irrelevant to blast radius, because bug impact is independent of code size. Having said that - a smaller piece of code is easier to understand, so there is more potential to notice problems. However that depends on whether you do that diligence. And the dangerously false belief that the blast radius is going to be smaller because of change size rather than understanding works against y…
I don't know whether a smaller change means necessarily a lower probability of small blast radius, but the larger a code change is the higher the probability is of a high blast radius. Blast radius isn't necessarily going to be smaller because of change size, but the chance of it being smaller certainly does decrease in relative terms as it becomes smaller even if it never reaches zero and is still in absolute terms…
Re: The Fallacy of Move Fast and Break Things
#75Earlier quoted context omitted.
I’d say that change duration is irrelevant to blast radius, because bug impact is independent of code size. Having said that - a smaller piece of code is easier to understand, so there is more potential to notice problems. However that depends on whether you do that diligence. And the dangerously false belief that the blast radius is going to be smaller because of change size rather than understanding works against y…
If you assume that any and every change could have a disastrous effect, would you rather have to deal with one change at a time or many changes at a time?
It’s a red herring. Risk is lowered because the code is understood better not because the code is smaller.
The assumption that each change carries an equal risk of disaster isn’t valid, because risk depends on your understanding of the changes and the codebase.
Risk is equal only in the case where the developers know nothing about the change or the codebase. In this case, fire the VP of engineering or equivalent.
Making changes as a series of small increments can just as easily lead to less understanding of the overall impact of the changes than a larger design process. Then you get a nice big failure from a small change. It looks like most of the changes were harmless when in fact they were all just building towards the one that caused the failure.
Re: The Fallacy of Move Fast and Break Things
#76Earlier quoted context omitted.
Thing is, they do, but not in the ways you would expect. Cadavers on medical schools. Wind tunnel modeling. Computer-aided designs. The main difference to those is that the software industry can indulge on testing its own assets with little to no cost, and especially if that does not impact your ability to generate revenue.
There's a rather big difference between breaking things in a test & learning environment (all of the examples you provided) and breaking things in a production release.
Surgeons must act fast and be good at multitasking. I bet they are not in a forum discussing if those traits make them vulnerable to hasty decisions and to loss of concentration on the task at hand.
Re: The Fallacy of Move Fast and Break Things
#77Re: The Fallacy of Move Fast and Break Things
#78"Move fast and break things"--said no carpenter, ever. Imagine if doctors, engineers, plumbers, electricians, and all the other real world folks we depend on decided this was a good way to operate. Would you drive across a bridge knowing that was the motto of the people who designed and built it?
Re: The Fallacy of Move Fast and Break Things
#79It is not a motto, it is an anti-pattern. When you are still prototyping and have not found product-market fit, it might work. (And that quote comes from the early days of Facebook, when it was still morphing into its final form.) Once you have established yourself as a viable product, found your fit, and have paying customers, "break things" becomes a path to poor service.
Re: The Fallacy of Move Fast and Break Things
#80Earlier quoted context omitted.
"Measure twice, cut once" I think is the saying carpenters use.
And the version most pertinent to us developers: "Weeks of coding can save you hours of planning."