Monday, January 21, 2008

The Law of Conservation of Complexity

“Complexity can neither be created nor destroyed. It can only be transformed.”

I realize that this is not quite a true to form version of the Law of Conservation of Mass. I did not take any physics in school, so I am making this up as I go along, not really trying to adhere to a set of laws, but rather to find a catchy title that people could remember.

A comment by John Kangaraj led me down this line of thought.

“Great post, and I fully agree. The problem (as I see it!) however is this: Cost savings can be obtained by increasing efficiency (i.e. do more with less) and efficiency can be achieved by automation. What better tool than IT to help automation? So as organizations move to automate, they simplify users' tasks and shift this complexity to IT. As a result, IT is saddled with developing, implementing and maintaining systems of ever increasing complexity and inter-connectivity, handled by people that don't understand everything nor have a clue how it all fits together... (i.e. even if they want to, there is no sheet of paper large enough to draw all the elements of the big picture). Unless we have a paradigm shift (I hate that word, but have to use it!), this mess is going to get worse. “

When systems are designed and developed, there is a tremendous opportunity to make the system less complex than the one that it is replacing. This is done by applying knowledge, essentially transforming that knowledge into anti-complexity (simplicity). Unfortunately, as John points out, many organizations and teams lack knowledge, so complexity is added by the transformation, if you will, of anti-knowledge (ignorance). When dealing with a complex system, especially one that is actually and needfully complex, adding knowledge will enable you to perceive the system as less complex. The complexity has been transformed, this time into knowledge.

What can we do?

  1. Learn more about the systems we work with and DOCUMENT them. Sharing knowledge is the most efficient way to decrease the perceived complexity of a system. This is especially critical in the areas of system/part interaction. Some years ago, I did a great deal of research into UNDO, a system I initially considered to be very complex. I found that as I acquired knowledge about the system, UNDO become less complex. I had not actually changed the system, I simply understood it better.

  2. Look for ways to make the system less complex through the application of knowledge. Ask “Why?” and “Is this essential?”. This will help you identify and remove needless complexity. As Mogens Norgaard points out, the more complex a system, the higher the chance of a normal accident or, as we call them in the IT world, crashes and bugs.

  3. Understand there is not a direct relationship between lines of code and complexity. Some of the most complex code I have ever seen (and written) is some of the smallest. Creating and referencing a view in an Oracle system may appear to decrease the complexity, but it actually increases it as it masks the actual operations that are being performed. Using the actual base objects in the application code will make the system less complex, even if it means more lines of code.

Wednesday, January 09, 2008

I've been tagged!

Thanks to Lisa, I've been tagged to reveal 8 things about myself. I figure I'd better get this posted before someone else tags all those folks I know (I think there are 9...)

  1. I have a potbellied pig as a pet. Her name is Aggie and she's about 14 years old. I adopted her in 1996 after she was abandoned at a pig sanctuary. She's in great health, quite the character and currently pouting (she wants dinner, but it is not her feeding time). We used to have MC around, but he passed away 2 years ago.
  2. My top speed on a bicycle is approximately Mach 23. Okay...so it was probably computer error. My actual top recorded speed that is real is 47.3 miles per hour coming down from the top of Freemont Pass here in Colorado.
  3. That top speed was recorded while I was riding in the Courage Classic to support The Children's Hospital of Denver. This is a fantastic event for a great hospital. I became involved to help support some friends and we rode in memory of their daughter, who was a client of the hospital and passed away in 2006. The treatment she received from the staff of the hospital and the facility were just amazing.
  4. One of the reasons I ride in the Courage Classic is also to repay the doctors, nurses and staff at The Children's Hospital in Detroit. I was born with a heart defect and was not expected to live. Specifically, it was a ventricular septal defect, which means I had a hole between the two ventricles of my heart. Although they were starting to perform surgical repairs, our doctors decided not to and to let the heart heal on its own. This was in 1964, so heart surgery was still something fairly new.
  5. I love the mountains and have been to Nepal twice. The first time I had a minor case of cerebral edema, which we treated immediately. The only lasting effect was that I would forget words (mid sentence!) for about 6 months. The second time, no cerebral edema, but I had "food issues" (I basically stopped eating for 3 weeks) and was not strong enough to safely climb Imja Tse. I plan on going back in 2009 to finish the climb.
  6. In 2000, I was stupid and nearly died on Mt. Massive, the second highest mountain in Colorado. I did learn that I had a strong will (which was both good and bad) and that I could self rescue. It gave me a lot of confidence to be out in the mountains.
  7. I have been active in music and theatre. My first stage role was at Samuel Adams (I think my mother still has my costume!) in a school play about 1776.
  8. One of my most prized possessions is an autograph of Carl Yastrzemski, a very well known baseball player. I actually met him, though I was unimpressed because he did not play for my team, the Detroit Tigers. I have also been in the dugout of the Pittsburgh Pirates (and have the photos to prove it).
I've done my part...now it is up to Mogens, Sue, Curtis, Alex, Tanel, Jonathan, Bill and Kevin.

Thursday, January 03, 2008

Miracle "Nose" Oracle Installs

At UKOUG, Mogens Norgaard talked about how a certain IT company required an outrageous amount of billable time to install Oracle. To demonstrate how 'easy' an install really is. And here is the proof!

Unconventional Oracle Install


On another note, he also had some very interesting thoughts about systems.

Followers

Blog Archive

About Me