Tactics and Strategy

Strategy without tactics is the slowest route to victory. Tactics without strategy is the noise before defeat. — Sun Tzu

Say No to Incrementalism

Engineering organizations often suffer from incrementalism: Take your current state, and ponder what can be improved in the next sprint/quarter or cycle. This results in paralysis and lack of focus on the bigger picture on where the technology organization needs to evolve to. Everything is thought about in terms of small steps.

A better way is to think strategically. My preferred way of working is to work backwards from the target state. Working backwards means choosing to ignore problems in the current state and instead ask “if we were starting over, how would we build this?” Ignoring the problems in the current state helps define a clear target state we want to get to. Once this picture is clear, we map out what the steps are to get to this target state, and very deliberately plan out a quarter by quarter investment plan to get us to this target state. The process we follow is captured in this diagram:

Target State (Strategy) + Execution (Tactics)

The thinking starts on the right hand side — the target state. A target state is drawn with an explicit intent to ignore the problems in the current state. The team understands the domain, and the questions we ask is:

Knowing what we know now, if we had to start over, how should we build this?

Durability and scalability are not of huge importance in a starup. However, once established, you need to rethink for a different set of non-functional characteristics. How do we ensure that a team of 100 (or 1000, or 10,000) can move fast? How do we release continuously? How do we secure the system? These may have been of lesser importance. I like to think about in terms of the rule of 3: Every time key factors — employee count, lines of code, number of deployable units, you decide — triple, what is in place starts to break and you need to rethink what scaling means.

The outcome of the target state exercise is a picture that defines the target state. Once this is defined, then, and only then do we look at the current state. This avoids the problem of being biased by the problems in the current state.

Start with the Strategy, then define the tactics

We start with a strategy: Get to this target state. This is aided by tactics. Both are essential. The tactics are the financial investments in tech modernization, the quarterly plans for features and modernization, prioritization, the hiring plan and the definition of sprints. Note how deep the tactics go: It involves finance (How much money should we invest in this quarter to get to target state?), the product team (how should we prioritize building new features to paying down tech debt?), the Talent team (how and how many do we hire? How do we keep engagement high?) and process (Root Cause Analysis, defining the Agile Process, Incident management, on call program..)

Each sprint helps us move towards the target state. However, the target state itself is not static. Every six months, the target state is reviewed to reflect the evolution of our understanding of the problem domain, the understanding in how technology around us has changed — and changes taught to us by our experiments in the real world.

Learn from the best, ↑Table Of Contents

--

--

--

What are the concerns of a technical leader? What should you be doing and avoiding? There is no script for this and every job is unique. This blog is an accumulation of my experiences and advice

Recommended from Medium

Lego bricks, pinheads and 10X developers

Never be afraid to change technology

First Side Project Experience: 3 Mistakes that I am Grateful for

From Thousands to Hundreds: Exploring Memory Limitations in Retro Consoles

Introducing Grindbase bot

Python Code to Find Total Number of Magic Squares of Order 3 and 4

Why do software architects learn the business language?

Taken from https://www.javatpoint.com/software-engineering-v-model

How to Install PuTTY on Mac

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Siddharth Ram

Siddharth Ram

@_siddharth_ram; CTO @Inflection

More from Medium

Customer Centricity

A man wandering in the forest with tall trees

Chapter 5 — Societies & Circles: not just another Product and Engineering matrix structure

Winter☃️ is coming to your company, also: when everything is important — The AMAZING CTO 12.1

INT3: On how to handle unplanned feature requests