When making an engineering decision, however small, it never exists in a vacuum. There is often a neglect of the outcomes of other areas of a complex system that change had dependencies with. Intercom wrote this piece in 2023 that really stuck with me. It’s way more expressed in hardware, where there is an irreversibility of mistakes.
Fast iteration cycle time demands rapid changes otherwise learning velocity dips. However, making quick changes without being cognisant of outcomes past the immediate incurs an ever growing debt that attacks iteration speed far quicker than if that decision wasn’t made at all. You essentially start investing a large chunk of resource into patching issues that have arisen from ignorant design choices vs moving the core R&D forward, much in the same way that Geoffrey West in his book, Scale, describes the relationship of resource expenditure between maintenance vs growth in organisations, cities and living beings.
The pernicious element of making design choices disguised as small updates, is that they likely unlock some immediate benefit and thus are justified. They’re justified because the debt accued to make that decisions isn’t paid off in one large chunk, and thus the true value isn’t represented. Small design choices debt payment schedule is more like drag in an aircraft, where it slowly adds more weight and decreases thrust. Subtle at first, but fairly deadly over time.
Let’s increase the height of the anode exhaust lines on the electrolyser for better piping management? We’ll have a change a few pipe bends. Is this just on the main line or on every stack? What about the fittings attached to the original pipes? Those will likely have to change too. What about the vapour separator integration at the end of the pipe, does that also need to lengthen to line up with this new pipe? Ok, but the vapour separator flanges have purge lines and measuring lines attached, do they need to increase too? Perhaps we can just shift the whole vapour separator down a few inches to cater for more pipework at the top? Ok, but aren’t the pumps attached to the bottom of the vapour separators? Will have the change electrolyte pipe supports, and perhaps position of the Heat exhanger? If we shift that, the glands that allow coolant in and out of the shipping container housing will have to follow suit. A little less room on the drip trays where the pumps sit means we’ll need to cut down the pipes prior to the electrolyses a little. We’ll have to get rid of the ball valves for flow control as other elements are safety critical - are we ok with that?
Let’s increase the porosity of our extrudate to increase carbonation performance. A larger void and thinner walls via few more holes in the die should work. But what about the coefficient in the die? Can we support that pressure? Is this now too high a pressure for aluminium housing? Ok, we’ll have to mill a solid piece of steel. Does the increase pressure do anything to the macro-porosity that we’re trying to save? If we increase pressure, we’ll generate more heat. Wo we need to add to chamber cooling now? Can we get away with ambient convection? We’ll likely have to go to liquid. Chiller?Individual or shared with other sub-systems? Cooling duty is likely different as production profile is very different, so its own system is likely the only way. What about the handling of the extrudate post extruding? Drying will need to increase as there is increased surface area, or do we allow a little moisture and increased failure cases? If that operating envelope is bigger, does anything in the controls need to change? Ok, going to need some more controls. What about the electronics too? If the packers need greater feed-rate for the larger extruder, do we need bigger motors and a larger VFD?
The cascade impact is very real, and has exponentially worse outcomes the more of these decisions are made, and how far-reaching the dependencies are. The product becomes messy, integrates together poorly, and likely just doesn’t really work. The impact is considerably worse in hardware, where moving atoms is slow and costly. Fundamentally, there is greater surface area of risk. A single material or component has so many failure cases compared to a line of code that can be rolled back.
The systems where this principle is most expressed likely have 4 tenets:
This is essentially becomes a death wish if not managed effectively. Interestingly, this is likely a reason so many companies never hit escape velocity, but since it’s salience and understanding isn’t apparent it’s never really diagnosed and instead just put down as “spent too much on R&D”.
My general thinking on how to try and combat this:
As at its core, this enables higher leverage with each decision, which should in turn dramatically increase engineering velocity.