Skip to content

Building a Technical Vision

A technical vision is a plan to reveal long-term technical goals for a team, organization, or company. The technical vision outlines goals like high availability of services, reducing toil for the team/s, large-scale changes to make further changes easier. A goal should specify a concrete outcome, time boundary, and relevant action. The outcome would translate into key results. The time boundary establishes the time to reach the goal. The action hints at implementation. Goals may range from the migration of database/s to improving communication between teams. Besides, setting these goals is a collaborative task.

Technical vision should have the backing of engineers, managers, and stakeholders. To get everyone’s buy-in, parties should contribute to the technical vision. Technical vision isn’t a one-time event. It’s an evolutionary process. I believe it has 3 phases: analysis, alignment, and execution. At the end of the phase, we return to the start. Then, we do it again.

building a technical vision
Technical Vision Cycle

Analysis

Each cycle of technical vision starts with the current reality. We need to understand the history behind the decisions that took us to the present circumstances. Most engineering organizations and teams make these decisions based on the facts they had at the time. Nevertheless, technology and business change. Assumptions that were valid 2 years ago might not be the case anymore. To position ourselves for the future, we need to analyze the technology and how it serves stakeholders from multiple angles. We need to identify gaps between the technology and future direction. The analysis would dive into many areas such as incidents, scalability, data processing, quality, self-service, development process, and communication. Each of these pillars would influence the technical vision and become goal/s to achieve.

Alignment

Once we have gone through the archelogy of technical direction, we can start forming the goals and vision for the future. Technical vision isn’t just about preparing the company or organization for future growth from a technical perspective. Building a technical roadmap might require downsizing before growing again. The technical vision should address not only growing pains but also house cleaning. The vision would attack many concerns and come up with actionable and applicable goals. A good goal is simple enough so that it captures essentials. Yet, it gives room for implementation. Here are a couple of examples of goals.

  • [Company-wide] We will improve the reliability of our services to handle spikes and estimated growth of 5x by the end of 2025. We will deliver 99.99% uptime across all customer-facing services.
  • [Team-wide] We will enable a self-service machine learning pipeline to reduce the friction of experiments. We will cut down the time from idea inception to model deployment to 2 weeks.
  • [Organization-wide] We will redefine ownership boundaries for services to enable tracking and resolving problems in the payment organization. 100% of services will have metadata by the end of 2022.
  • [Company-wide] We will migrate all of our on-premise infrastructures to one or two cloud providers to cut down operation costs by 2025.

Coming up with exciting goals is a refresher. Nevertheless, stakeholders shouldn’t hear them in announcement meetings. Stakeholders should be part of the process to come up with these goals and align their vision with ours. There’s also no way to get everything right at once. Therefore, the technical vision should be a live document. We should realign and socialize it as we see fit. After the initial announcement, the company or organization should work towards implementing the vision.

Execution

When the technical vision is ready to implement, an organization can go into execution mode. The vision becomes part of planning both long and short term. Teams spend time aligning their strategic goals with technology goals. Teams implement a step of the framework considering current, future, and transitional stages. After executing step/steps, teams can then measure and reflect how far they are from the target. For instance, implementing auto-scaling might improve availability from 99.95 to 99.97. Evaluation might not come positive. Sometimes we might not observe expected results. Therefore, we might need to find other solutions.

The fast feedback loop in execution is a crucial factor to improve technical vision and prepare for the next cycle. There are many things we won’t get right. The question is though how fast we can learn. We need to incorporate these learnings to help us to drive the future direction. Moreover, there are times when our work will get disrupted due to changes in the environment or organization. Leaders in an organization should do their best to plan for succession. Otherwise, transitions between leaders would become eventful.

Conclusion

Technical vision is a tool to analyze, align and execute long-term technical goals in teams or organizations. In the analysis stage, we go through our technical stack and find out things that we don’t do right or we can improve. In the alignment stage, we discuss our technical goals with stakeholders. Then, we communicate these goals with the wider organization. At the last stage, we bring these goals into our plans and apply methods to achieve these goals. We evaluate the outcome. We then collate learnings to improve both current and future technical vision. Technical vision is a cycle. It never ends as long as the company exists.

References

Blog Post: Writing our 3-year technical vision

Blog Post: Defining a Tech Strategy

Oh hi there 👋 It’s nice to meet you.

Sign up to receive awesome content in your inbox, every month.

We don’t spam!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.