Just came back from watching the movie "Kung Fu Panda" and few sayings from the master Oogway really stuck me. One of them was 'There are no accidents". I cannot stop but wonder how that applies to enterprise architecture, working with it on a regular basis.
What I see in organizations and enterprises in the governance is designed to do one of the 2 things
1. Make the desired architecture easy to follow
The architecture that you want to create in easy to follow, little approvals are required to the right things. e.g. If you are trying to move into SOA, that has adequate resources to review, approve and guide and your legacy applications are hard to add on to.
2. Make the desired architecture hard to follow
The architecture that is known and is legacy has processes that have worked for decades and is easy to follow and institutionalized. The new architecture takes forever to get approvals and any help or resources for.
So why do organizations fall in the trap ?
What I see in my experience is organizations still live in legacy and make new technology hard to adapt due to number of reasons, including
1. These legacy systems, no matter how legacy they are provide a customer utility. They run payroll, collect taxes and run business. It is hard to compete with something that runs business. They get a higher priority.
2. Change is hard. It is difficult to think how to create new models and systems and the change, when you can still find comfort in old systems that are not under any threat of obsolete technology.
3. We can control what we know so we steer towards known; new technologies present an unknown territory that not too many people want to bet on. People want to wait and see before risking their credibility.
4. We all fall for high expectation and Wishful thinking, we want the new world to be perfectly planned before we begin. We want to learn from the past and want to create new systems to be perfect and fall into analysis paralysis. Things look bigger than they are and we want to tackle everything.
How to avoid it?
1. Create customer utility. Make sure that new systems that we implement create customer utility, improve effectiveness and are not lost in technology. It will be hard to change the customer and organization mind set without creating value.
2. Make change easier, gear organization for a path of least resistance. Make things that you want, easy to be approved and things you want to stop, harder.
3. Create an environment of trust where pragmatic risk taking is viewed positively. Reward effort and results, equally or more than status quo.
4. Create realistic plans and move forward in an iterative way. Break efforts into manageable parts that can be implemented to move organization forward.
An organization by design needs to be wired for change. Remember, there are no accidents.