Nirvana is never reached. That is true in technology decision making because designing and implementing technical architecture is a balance of art and science. I have developed a list of seven key considerations where business and IT need to align in order to achieve this delicate balance of art and science.
- Have a roadmap or end-vision in mind: Roadmap is often a cliché that is a paper exercise for many. We need to change that mindset by making the roadmap an active discussion in daily decision making. Even when making tactical decisions, technologists and business folks need to understand what the implications are of their decision making. This approach requires discipline, and any process shortcuts is like having a “cheat day” in the quest to lose weight by being on a diet plan. You know the end-goal, you are just delayed in reaching that.
- Impact of Change: One key consideration is understanding how the non-functional and functional roadmaps impact each other. The non-functional roadmap is typically the technology architecture roadmap, while the functional one is tied to end-user capability/features. The need to make tactical decisions requires scrutiny of how one roadmap may impact the other. For example, the non-functional roadmap may drive an application to move to the cloud. This could have a profound impact on how a user might access the data within the application because there is no local drive in the cloud. In this example, a non-functional roadmap change has a profound impact on the functionality of the application.
- Focus on the Data: This requires development of a data flow diagram and architecture drawing to visualize how data flows between various components. When making a tactical decision, try to understand what it will do the data flow, what additional data elements you may or may not need and how will you align to strategic architecture when the time is right. Remaining focused on the data and the data flows is one of the most important considerations for making short- or long-term decisions. [As they say, in crime you follow the money.] In software engineering, you follow the data.
- Software Engineering 101 (i.e., Abstraction): Abstraction may take many forms but, typically, it is a software component that sits between two other components. A good architect and engineer will always keep their options open when analyzing complexity, a vendor platform, two highly coupled components, disparate systems and the list goes on. So regardless the future, anyone of them can be swapped at any time. This provides for flexibility and the balance that is needed for balance a tactical vs a strategic decision.
- Focus on inputs and outputs (i.e., Interfaces): Interfaces are how the components talk to one another. A tactical interface between two components may be a file transfer protocol (FTP) and the strategic version may be a ReSTFul API. In this case, understanding the nuances between the technology, data requirements and frequency of the data transfer is key. Having a clear understanding of the data parameters will allow for replacing a tactical solution with a strategic one.
- Communicate Communicate Communicate: This is not a core competency of many technicians, architects, or developers. However, simple communication regarding what is contemplated for a tactical decision vs a strategic one is answer to a lot of unnecessary anxiety. For example, in the FTP to API example, an architect/developer might want to educate everyone on what to expect in terms of system processing, frequency of when the output data might be available and how errors encountered might be addressed.
- Iterate to the final stage: This goes back to the notion of having a roadmap and then seeking to deliver small values as opportunity arises. Iterating to a final solution and communicating effectively can align everyone on what to expect and when. Iterating slowly allows teams to keep the timeline and scope in check.
This is the basic framework that can be used to guide the architectural decision making when balancing between tactical and strategic imperatives. However, this is only a framework. There are many other factors that go into making decisions that I did not explicitly cover here because they may depend on your specific situation such as financial appetite, timeframes, type of industry, impact of the decision and nature of the decision. My goal with the seven considerations is to encourage you to appreciate the discipline that having a framework provides making tactical decisions may or may not align to the strategic outcome. I encourage you to fine-tune and adapt this framework to drive your decisions, and you will be on the path to a technology Nirvana.
Dr. Alok Mehta is the Chief Information Officer (Life and Health) at Kemper Corporation, one of the nation’s leading specialty insurance companies.