Tuesday, December 25, 2007

A new engineering?

I just took a course exploring current work in engineering decentralized systems and found an interesting clash, mostly within myself, as to the best way to make such engineering tractable. I work for an educational non profit interested in helping people deal with complexity. How do we manage systems that are more complicated than one person can understand? Such systems exist, large corporations, governments, societies and living systems, and in cases where such systems are given a leader, we have to understand that this person has very litle clue what they are doing and can do.

NECSI, my employer, is interested in developing tools that help such people understand and predict the consequences of such interventions. We are also interested in the tools behind designing such unmanageable systems, for all their benefits, in a way that they accomplish tasks planned by their designers. You can see it as a new kind of engineering, and it involves a new kind of thinking, or a new language to think in. Much of my thinking in the course was from the angle, 'How do I think in the language of this system'?

This contrasts with the approach of the majority of my classmates, and that of the instructor. They were all engineers of one sort or another, and I found that the class worked towards understanding 'How do I conceptualize this in terms of the engineering process'? Essentially, 'How do I make the system work in a way that I'm used to thinking?'. This included simplifying the system and finding independent 'basis' behaviors that can act as predictable building blocks to be combined into novel systems.

So: think like the system, or make it think like you? My first stab at an answer was 'Do normal engineering for 'easy' problems and change your thinking for 'hard' ones'. My second stab is a little better, it defines easy problems (and hard) operationally as problems normal engineering can solve. My latest attempt at a heuristic is "Do normal engineering when you can (1. when the system has parts that can be black-boxed and 2. interventions have effects independant of each other that can be cleanly measured and 3. there is a well-defined goal) and in other cases use approaches better suited to complicated systems (What approaches? Well, the official contents of the complex systems toolkit are still up for grabs.).

The second stab will not be the last, I still have some questions about weaknesses built inherent in 'The Engineering Method'. I am trying to determine for myself whether short term thinking is built into traditional engineering approaches. If this were true, it would be because of something like the following: The metrics used to determine success are restricted to those things which are measurable, and short term effects are more measurable and almost inevitably play a larger role in influencing decisions made.

We see a lot of people from business and policy soming to courses at the Institute. At first, I disparagingly assumed that this was because they are more vulnerable to buzzwords, but I eventually changed my angle: The people 'in charge' of social bodies are the ones who see most clearly the need for methods of managing complexity and intervening in the systems that they only have the illusion of controlling. For now my take is that if such people could (can) use existing methods they would (should).

No comments: