On Drafting an Engineering Strategy
paperplanes.de
paperplanes.de
Too often, I've been in the situation where a new leader will step into a role and immediately start throwing out commandments with little context as it relates to the business. An Ivory tower is built with the help of minions, assigned unwillingly or willingly bought in to the Grand Plan. Not seeing the immediate business value of the project, most teams avoid it or do the minimum work necessary to satisfy the requirements. Literally every time this happens, after about a year the Ivory tower remains up but is depopulated, a forgotten relic of a distant past that nobody really wants to think about. The leaders move on to the next role, and when new engineers ask senior engineers why the Ivory tower exists they smile and say: "buy me a beer; t'is a long tale"
Look at this for example: "Migrate core functionality pieces (including authentication, user data, shopping cart) to a micro services architecture that’s running independently of our main application"
To me it looks like the kind of stupid generic tehnical decisions that are imposed on teams. We have all lived that: some useless director that has no idea of the real technical stack or constraints of the system wants to feel useful and define a 'bullshit' strategy, so what it does is imposing the last trendy thing he heard at a conference without really knowing what it means.
Or, maybe there should be no engineering strategy, at least not an explicit one written down?
In terms of roadmapping, I like to use the phrase “futures, not features” to remind folks of the proper content for them.
In companies where engineering strategy is done well, the person defining the strategy (a director or VP usually) knows the technology as well as or better than any of the people working for him - that is why he or she is in that position. And because of that, he or she probably has buy-in from rest of the people in the engineering organization.
This piece of advice is good, but I don't see it applied. If you take the book's advice as useful (and I do), good strategy starts with diagnosis of a problem. The problem statements are much more important than the solution statements.
IMO, it is not a bullshit job.
But it’s not a pointless business exercise. It creates firewalls between parts of the product which allows teams to operate and scale independently.
It’s one way to create the conditions to grow from a 50 engineer org to a 500 engineer org, if that’s your business goal.
Whether that’s a good business goal is another question, but it’s not a technical question.
What is your experience interpreting a business strategy and devising a technical strategy to enable it?