Recently at XKCD:

This is almost a perfect example of why so many computer geeks are progressives – they have faith in the ability of systems to adjust how people behave rather than adjusting those systems to how people work.

Of course reality is never that black and white.

If I’m starting up a steam turbine, or a computer, there may be leeway here and there, but certain things have to happen before certain other things. Period. In this case, people have to adapt to the system or they cannot take advantage of it.

That said, if you have a clunky design, what do you do? You start redesigning it, making it easier to manipulate – you start adapting the system to human needs, to simplify it, reducing error. Even if you can’t make changes – as a nuke in the engineroom we spent countless hours rehearsing and evaluating, brainstorming, on exactly how to make the human workflow more effective, faster, more efficient, and less error-prone given the system limits we were working with, and the capabilities, personalities, strengths, and weaknesses of the people at the watch stations. In five years, no underway had quite the same startup procedure.

It’s also why good teams can stand head to head with ersatz all star teams of nominally better players. They know each other, and where they will be.

Organically developed languages and procedures are messy – and over time, it’s sometimes necessary to cut back the clutter and lay in a systemic foundation – but in starting over, or in working with what is in front of us, we should not be so arrogant as to think that we adapt the people to the system – and should focus on how to make the system, especially the workflow and set of decisions that need to be made, work for the people.