Systems Thinking
Software Intensive Systems
As humans, our neurons constantly "fire", adding texture and richness to our models of reality. This human tendency to model runs so deep some of us have taken to building models of how we model our reality— creating metamodels of our modeling! I am smitten by modeling; system, software and hardware modeling are threads that run the length of my career. I have flirted, then hunkered down with Requirements Models, Analysis Models, Use Case Models, Domain Models, Design Models, Process Models, Object Models, Information Models, Event Models, Deployment Models, System Block Diagrams, Schematics, Spice Models ... as well as Enterprise Architecture frameworks such as the Zachman Framework and TOGAF. Many technologists equate systems thinking and architecture with models and their organizing frameworks.
Human Systems
Another aspect of Systems Thinking of interest to me is the modeling of families and social groups. Virginia Satir, best known for her Family Therapy wizardry, is credited with original Process Models for describing human interactions and making change. Treating the family as a system, and then applying sound system thinking principles, Virginia and her global network has helped train and influence the practice of several generations of therapists. Her set of models and techniques apply equally well to information technology consultants and innovators trying to affect organizational change. I am also a fan of Milton Erickson, whose understanding of the hypnotic patterns of spoken language and non-verbal communication has sharpened my ability to listen and observe.
General Systems Thinking
It would not be far-fetched to consider Systems Thinking as a world-view, or philosophy transcending modeling. General Systems Thinking forms a body of ideas, heuristics and anecdotes that takes it's practitioners beyond knowledge into the realm of wisdom. My personal hero, teacher and friend, Gerald Weinberg, is the most prolific, and gifted Systems Thinker I have ever met. "Jerry" is also a direct student of Virginia Satir. Jerry's writings lay bare the fundamental concepts of system thinking, such as:
- what forces are at play to keep systems stable? why don't they change more often?
- what makes systems grow? or fail? or succeed?
- how do we reconcile the need for general systems laws, in the face of new discoveries?
how do general systems laws get amended and evolve over time to remain useful? - how do we apply our systems thinking to humans creating software?
If you are an IT professional (or engineer) and you are not familiar with Jerry's work, you seriously owe it to yourself to read his books on Systems Thinking. If you need a recommendation, please contact me.