A focus on getting over the water instead of building a bridge unlocks the next high leverage activity for engineers: Shaping the roadmap.
Jane, Joe, and Alice talk to their product manager Bob. He's got this grand idea for a new feature that's going to make the company lots of money and drive team OKRs through the roof.
But Alice spots a problem: "Hey Bob this looks like a lot. Isn't it gonna take like 3 months to build?"
"Yeah! And then our metrics go whoosh"
"Okay but what if they don't?"
"What do you mean of course they will. This feature is exactly what our users want. We've tested prototypes with a focus group, design is excited, and execs all nodded in agreement. This is the way"
"Right. But we have to show improved metrics this quarter don't we?"
"Yes."
"So if a quarter is 3 months and this feature takes 3 months to build, how will we show an improvement in our OKRs? The changes won't take effect until next quarter. Plus we won't know if we're making progress until we're done. Not to mention all the testing it's going to take if we ship this all at once. There's a lot of moving pieces ..."
"Oh and don't forget the code we're touching is a mess. We have no idea what we'll find", Jane adds.
High risk, high impact. Bob has the right idea, but engineering can't get there in one big step. A better roadmap will make all the difference.
How roadmaps go wrong
Product managers have a tough job. In their mind is a grand vision of what the product could be. Before them is an ugly child that pooped its pants.
Getting the product from that poopy child to a suave adult is your job. You're responsible for making it happen. Product is accountable for how it impacts metrics. Together you own the outcome.
A bad vision will fail to materialize in your metrics. Users don't use the feature, it's got unintended consequences, or it just doesn't land with your userbase. You never know what's going to happen until you try. If I had a dime for every person who said "Wow Swiz this is a great product idea!" but who didn't hit the buy button I'd be a rich man.
A bad implementation can cause the metrics to not materialize. You took too long and users don't care anymore. Or it's buggy and hard to use. Or you took 3 months to ship a big thing only to find out your core assumption was wrong and users wanted a different thing entirely. Or worse: you missed a hidden dependency and now you've got a bunch of upset users whose workflows you broke.
Part of a fruitful product/engineering partnership is enabling your product manager, and yourself, to run experiments and validate assumptions early. The lesson from Writing software is like kicking a can is that as you ship, you'll learn more, and your vision will change.
The smaller your steps, the more accurate you'll be.
Cheers,
~Swizec
Continue reading about A better roadmap solves many issues
Semantically similar articles hand-picked by GPT-4
- "Yes caviar is great, here's a ham sandwich"
- You can't side-quest a product
- Working with product
- Get us over the water, not build us a bridge
- Can I get your opinion
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️