Why Documentation Is the Phase of Your Product Nobody Sees (Until It’s Missing)

Picture a factory where every machine is perfectly calibrated and every operator is an expert, and yet, every time someone new joins, it takes them three weeks to figure out what each lever does. Nobody would call that factory efficient. And yet that’s exactly how a huge number of software and hardware projects run: the product is excellent, the team is brilliant, and the knowledge lives only inside the heads of the people who built it.

Documentation isn’t a cosmetic add-on to development. It’s a production phase, just as real as testing or quality control, except that, unlike those phases, it doesn’t fail loudly. A bug breaks the application in public. The absence of documentation breaks things in private: in the new hire who takes twice as long to become productive, in the customer who abandons a product because they never understood how to use it, in the engineer who inherits a system and has to do code archaeology just to understand a decision made two years ago that nobody remembers anymore.

The Cost Nobody Sees Being Paid

Here’s...

Heuristics: smart shortcuts in a world of uncertainty

An outfielder (baseball catcher) runs backwards to catch a high ball. We could describe what he is doing as a ballistics problem: initial velocity, launch angle, air resistance, crosswind, and a quick integration to predict where it will land. Except he does none of that. What he does is fix his eyes on the ball and move so that the angle of his gaze stays constant. That is all. If the angle rises, he backs up; if it drops, he moves in. He never works out where the ball is going to land, and he does not even need to know: he gets there anyway.

That is a heuristic, and it is worth understanding why it is not a botched version of the proper calculation. A heuristic is a procedure that reaches a reasonably good solution with limited information, limited time and limited resources. An exact algorithm promises the best possible answer once it has walked the entire space of solutions. A heuristic gives up that promise and takes something that is worth more in the real world: it arrives on time. It is a calculated bet. This will probably work...

Newsletter