Saturday, December 20, 2008

How many bones are in your software?

How many bones are in the human body? Well, it turns out that it depends. You see, there are 206 bones in adults and up to 350 for infants. During the very early years, the architected for rapid growth and flexibility. As a child matures, some of the bones fuse together (like the skull and hip) to provide protection and stability required for the long haul – and the overall bone count drops to the 206 bones that most adults have.

Software solutions are not all that different. Early days, when a particular architecture or solution is first seeing the light of day – communication, authentication, workflow, information management, etc. have to be configured, optimized, and integrated to reconcile system capabilities with environmental constraints and operational requirements. As the solution stack matures, many of the underlying components, for all practical purposes, fuse.

When considering a prospective solution/architecture – make sure it has the flexibility to account for the rapid change that you know has to come as solutions are rolled out AND the adaptability to harden itself to optimize for stability and security – too many moving parts (which may be perfect as requirements are identified) will become a liability as protection and stability become overriding requirements for “the long haul."

Best of breed always looks most attractive “on paper” and perhaps even in early phases of deployment. Over time, there is a lot to be said for tightly integrated ecosystems that come “pre-certified” for interoperability.

Does that mean that we can look for “terrible two’s” and “adolescent rebellion” analogs in application development lifecycle management?

You bet.