Complex Adaptive Systems, or Complexity Science, is about a lot morethan Information Systems, we human beings being a prime example of suchcomplexity. Wikipedia and other sources provide all the details youwant on this topic, but one view of it that has stuck with me over theyears is the difference between ‘complicated’ and ‘complex’.
Roughly speaking, a complicated system is what it sounds like, asystem that is not simple and not intuitively understandable; however,given time and effort, you could analyze and identify all its parts andpieces and describe the whole system. The key is that it is a fixedsystem.
In contrast, a complex system cannot be analyzed and described as above because it is changing over time;analyze it last week, and again next week, and you will get twodifferent descriptions. For decades, we have been fairly good atcreating complicated information systems, but complex was and is rare,if even considered. Instead, what we have in IT is the Change Request,the Backlog, the up-coming Maintenance Release.
The problem has been our creating of information systems based onthe needs of an organization at the time we asked. We were guilty ofhard-coding the business process and rules (while probably notrecognizing them as such) and delivered that code in working order, tobe told that the business wasn’t doing things that way anymore; orworse, the business would keep this to themselves and start creatingthe first of many ‘workarounds’ needed to get past the systemlimitations and get things done. In either case, the situation woulddeteriorate and then the change requests would start coming.
Now, hind-sight is wonderful, and decades of hard, well-intentionedIT work should not be scoffed at; this has been a difficult realizationto come to, common in many disciplines where complexity science hastussled with older paradigms; and the realization did come together inpieces over time as parts of the problem were recognized and newtechnologies & tools were developed to help. The now ubiquitousDatabase Management System came from realizing that lots of flat orindexed files processed in various batch jobs resulted in lousyinformation, and certainly weren’t going to work in on-linetransactions, and even then we had to work our way through competingdesigns like hierarchical systems before the relational systems we usetoday emerged.
However, when it comes to complexity, data needed by a business iscomparatively stable; it is how the data is used that changes more.Take a typical business process of handling a loan application; todaythe big loans go to Fred to process, but next week they go to Anne.That is the kind of change you cannot make to a hard-coded system fastenough to support the business. Beyond that, consider the rules thatdrive a process, such as loans over $100,000 need to be approved by aVP; and starting next week, it is changing to loans over $75,000.
This kind of complexity has finally led to some changes and newtools to help the business. First out of the block has been BusinessProcess Management tools (BPM), which originated when imaging systemschanged offices from moving paper around to moving units of work. Morerecently, Business Rule Management Systems are being implemented thatmove the changing of rules from the realm of the programmer to that ofthe business expert.
Will these tools be enough to move us from complicated,maintenance-heavy systems to truly flexible complex systems? There isno denying it will help; they will certainly solve a lot of oldproblems, so that we can move on to solving newer, better problems andwhat more can you ask for.