(2021-12-30) GeePawHill MMMSS - The Pin-making Floptimization

GeePawHill: MMMSS - The Pin-Making Floptimization. Today we’ll take up the pin-making floptimization.

In this floptimization, we notice three things: that there are separable activities, each of which takes an input and makes from it a different output, that the activities benefit from specialization, that the activities can be seen as "stations" in a process flow.

we arrange them into a directed graph, at its simplest, a straight line from one activity to another. We assign individual workers to each activity

Why "pin-making"? Because one of the earliest strong formulations of this idea comes from Adam Smith. https://en.wikipedia.org/wiki/Division_of_labour#Henri-Louis_Duhamel_du_Monceau

In Smith’s pin factory... He identifies up to 18 distinct "stations" in this process

Seems reasonable. So what makes us call it a floptimization? It flops because a shorter step that’s longer than our optimal stride length doesn’t help much

Of all possible steps, the overwhelming majority of them are much longer than optimal.

And when we apply pin-making to a too-long step, but it doesn’t make the step short enough to be inside our optimal stride-length, well, we’re right back in shortest-distance thinking. We just spent a whole long article explaining why that doesn’t work.

So then, what if we only apply the pin-making strategy when a step is of "the right size", a little longer than optimal?

in theory that will work, because theory doesn’t charge us for preparation or control or communication.

Notice, tho, the first critique assumes pin-making actually works to shorten most steps. "Regardless of step-length, pin-making will take nearly any step, make it more efficient, and effectively shorten its duration."

Is that actually even true? Welcome to the second objection.

There are three factors that make Smith’s pin-making a reliable optimization:
The artifact is all that has to move between stations.
The specialists reliably and significantly out-perform non-specialists.
The production system is a directed acyclic graph.
Well. Whoops. In fact, in the software development trade, none of these three factors actually holds

And the third factor in Smith’s pin factory: there are no cycles between stations.

In softare development, of course, cycles are absolutely an everyday thing. (iterative)

resolving one validator involves not just the developer, but multiple other validator-specialists as well.

each trip back to the developer invalidates previous testing and requires those stations to re-process it.

Further, at larger scale, the nature of the modern distribution system is such that the whole project proceeds in a series of cycles, from inception to market, then market to enhancement to market to enhancement. Each enhancment puts the same artifact back in the flow.


Edited:    |       |    Search Twitter for discussion