May 16, 2007 Uncategorized

Causality

I have been reading a bunch of books recently and just found Peter M. Senge.  He is a champoin of Systems Thinking.   I have finsihed the Dance of Change and am about halfway through The Fifth Discipline.  There is a passage in The Fifth Discipline that just screamed agile at me:

Many feedback processes contain “delays”, interruptions in the flow of influence which make the consequences of actions occur gradually. Delays are interruptions between actions and their consequences. Delays can make you badly overshoot your mark, or they can have a positive effect if you recognize them and work with them. Delays exist everywhere in business systems. We invest now, to reap a benefit in the distant future; we hire a person today but it may be months before he or she is fully productive. But delays are often unappreciated and can lead to instability or even breakdown, especially when they are long. Adjusting the shower temperature, for instance, is far more difficult when there is a ten-second delay before the water temperature adjusts, then when the delay takes only a second or two. During the ten seconds after you turn up the heat, the water remains cold. You receive no response to your action; so you perceive that your act has had no effect. You respond by continuing to turn up the heat. When the hot water finally arrives, it is too hot and you turn back; and after another delay, it’s frigid again. Each cycle of adjustments in the balancing loop compensates somewhat for the cycle before (see figure 4).

 


Figure 4: A balancing feedback including a delay and its consequences

This is the type of mental model I have for TDD and CI, well all of agile really.  I wish patterns had a heaping dose of Systems Thinking.  Organizational Patterns of Agile Software Development and Software Configuration Management Patterns: Effective Teamwork, Practical Integration both could have benifted greatly from Peter Senge’s perspective.  Peter talks about the need for a new language to discuss and truly understand systemic structures.

Language has a subtle, yet powerful effect on the way we view the world. English, like most other Western languages, is linear—its basic sentence construction, noun-verb-noun, translates into a worldview of “x causes y.” This linearity predisposes us to focus on one-way relationships rather than circular or mutually causative ones, where x influences y, and y in turn influences x. Unfortunately, many of the most vexing problems confronting managers and corporations today are caused by a web of tightly interconnected circular relationships. To enhance our understanding and communication of such problems, we need a language more naturally suited to the task.

I am sure that I will be a much more effective communicator of agile once I have mastered Systems Thinking.  I can’t what to be able to successfuly convey how the combination of individual agile practices have a greater effect than their sum.  I can’t even do that for my rational self, my intuision tells me that it is so.  It also tells me that the answer to CI’s PendingHead lies in Systems Thinking.

4,412 Total Views

2 to “Causality”

  1. Brad Appleton says...

    Hi Jay!
    Actually many in the software patterns community were well versed in the works of Peter Senge and much from them did include a systems thinking perspective. And there were many discussions about Patterns & Senge and Learning Organizations on the Original Wiki-web back in the late 90s.

    The move from “Patterns” to “Pattern Languages” is one of taking a broader systems thinking perspective. And James Coplien, author of one of the books you cited, was in fact one of the main people in the patterns community pushing for the systems thinking aspect of patterns & pattern languages (and for people to focus more on pattern languages than on individual patterns).

  2. jflowers says...

    Hmm,
    I wonder if that is why I picked on you and them… :-) I am not saying that I had any knowledge of what you said. I am saying that I think that you guys did hint at the systems thinking stuff. I don’t think that it has gone far enough. I am very hungry for more. Do you know of some good resources: books, articles, forums, people to pester? I don’t remember it, systems thinking, being spoken to directly. Did I miss it? I can’t find a soft copy of James Coplien’s book at the moment. Do you know?

    Thanks Brad!

    Hope you and your sister are doing well. :-)

Leave a comment

*

here