Tackling Complexity
Brian Farish
#BigID | IT Consulting | Information Management | Data Architecture | Data Modeling | Data Management/Governance | Thoughts -> Words -> Design -> Technology
The first question that pops into my head when I get tossed a new challenge, be it new job, new project, inherited project, etc... is "Where do I start?".
There are some well-known approaches and frameworks to help organize your thoughts when dealing with Information Technology (IT) challenges: the Zachman Framework, TOGAF, etc... but after you've identified the major components of the complexity, it's helpful to have core principles and a pattern of execution to guide you in moving forward.
An acronym that I use to guide me is SPEC: Simplify, Plan, Execute and Correct (or Control).
Simplify
" Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
- Albert Einstein
This is really a guiding principle more than an execution step in a process. Every decision and action should be assessed as to whether it is going to simplify things going forward or not and if not, there needs to be a compelling business reason for introducing the added complexity. I'll leave the definition of "compelling" up to you because that would be a separate post topic in and of itself. But basically, fewer moving parts mean fewer points of failure.
Plan
Planning involves:
- defining the scope of your authority and responsibility
- determining what the desired state is
- assessing the current state
- identifying the differences between the "as is" state and the "to be" state
- setting SMART (Specific, Measurable, Actionable, Realistic and Time-bound) goals to eliminate the differences and then ...
- tracking progress toward those goals.
Milestones help ensure that progress is being made incrementally and help to avoid "surprises".
Execute
The previously mentioned milestones aid immensely in tracking and proving execution. Milestones should be significant yet granular enough to avoid "big bang" collapses if one is missed or slips a bit. Well defined milestones allow the manager/executive to worry less about "where" the work gets done and "when" the work gets done as long as the work gets done. The freedom and sense of professional pride that this imparts should not be overlooked. Obviously if milestones slip or are missed then the freedoms that were associated with responsible execution should be curtailed accordingly until acceptable patterns of delivery have been re-confirmed.
Correct
Unforeseen circumstances will be encountered. Have contingencies planned and as "opportunities" arise, make course corrections needed to continue moving toward an end-state that will be better than the original state (not just "different").
"No battle plan ever survives contact with the enemy.”
- Helmuth von Moltke the Elder
If you focus on keeping things simple, making things (truly) better and adding value, odds are you will succeed.
Be HUGE.
Helping Customers get at Metadata and Data Models for SAP, Salesforce, JD Edwards, PeopleSoft, EBiz, MS Dynamics and Siebel
9 年Excellent post, Brian
Section Head - Software Engineering | Cloud Computing | Cloud Native
9 年Yes, totally true if things be more complex with time in any IT challenge then ,we know that there is intelligent fool, keeping things simple is the key to success in IT. very nice article :)
As per usual Brian excellent thoughts. It maps to successful Agile or Traditional approaches to project management.