Can knowing how one system works help you understand how other similar systems work? Do software, project and physical health have much in common?

This thread started as software health, and wandered through project health and personal health. What do they have in common?

Shiny and New!

First, when starting with a healthy (or new) system, generally no single event causes great problem. The problem comes as the effects of the events accumulate. The sum of the coding choices creates software difficult to understand and maintain. Projects get late one day at a time. New smokers don’t get rushed to the emergency room with coronary or respiratory problems. This means we deal with chronic, not acute problems.

Local Optimization

Second, we tend to make local decisions in a global environment. Last week I spent two days helping the oldest son move, and another in the mountains with friends. All good decisions for THAT day. But the overall result was only making it to the gym one time. In the long run, I may have been better off to figure out how to get to the gym a couple of times. Maybe adding this member to the class isn’t quite right, but it’s quicker than creating a new class, and it’s not THAT bad of a fit. And how about managers who would love to do process improvement, but they don’t have time on this project. This is optimizing the sub-systems and having abysmal overall system performance.

Third, systems compensate when trouble starts. Reporting doesn’t change because “I can make up the time,” or “A miracle will occur here.” Management ignores risks because “they’ve never happened before.” The body changes vascular constriction to increase (or decrease) blood pressure, or the heart beats faster to keep organs perfused. Eventually the system can no longer compensate, and collapses. When the system collapses, it leads to irreverseable shock. In general there are no great early indicators for shock since the system compensates for the problem. The best actions are to know what could cause the problem (shock), and start treating the problem before it manifests itself.

“The thought that disaster is unthinkable, leads to unthinkable disaster.” The Titantic Effect (Jerry Weinberg)

The discussion wouldn’t be complete without mentioning that denial of chronic problems creates emergencies. Perhaps this relates to the pain level. Someone with a compound fracture doesn’t need convincing a problem exists. But someone with “heart burn that makes my left arm tingle” may not see the need to do anything since “it went away last time.”