Michael Bolton, Developsense
Eliminating variation makes sense in manufacturing, where the goal is to make zillions of compatible widgets based on the same pattern. Yet software development isn’t much like manufacturing; it’s more like design. Which activities of design can be standardized? Which ones can’t? What aspects of software development are based on explicit or explicable knowledge? What knowledge do we need in order to apply a standard successfully? What can we learn from other disciplines like art and music? What parts of architecture are standardized, and what parts are not? How can we have “industry standards” without a clear notion of which industry we’re talking about?
It’s harmful variation we want to eliminate, but systematic observational errors and compulsive standardization can make it simple to throw out the baby with the bathwater. In many places where people claim we need standards, at most we need guidance. In many places where people claim we need scripts, at most we need checklists. When we reduce deviation, we reduce opportunities for exploration, discovery, investigation, and *positive* deviation from overly simplified norms.