Discover more from Refactoring
Monday 3-2-1 — Iron triangle, tech strategies, time-to-offer 💡
1) 🎽 The Iron Triangle of Planning
Consider the Iron Triangle of Planning, proposed by Martin Barnes in 1969.
It is based on the assumption that Scope = Time * Resources, and supposedly you can change one dimension to impact the others.
However, trading between these constraints is not always possible.
In particular, resources (or budgets) do not often have an immediate impact on the other two.
In fact, you can't usually say "I want to pay twice as much so you can deliver the app in half of the time", because:
In most projects this is straight impossible — 9 girls cannot make a baby in 1 month.
Resources are not responsive — new people on the project need onboarding, coordination, etc.
To deliver a project faster, your best bet is to act on one of the two other dimensions: 1) reducing the scope, or 2) increasing the time for delivery.
2) 🔨 The Three Pillars of Tech Strategy
A good technical strategy is a superpower. You can design a good one by reflecting on three elements:
🏢 Your Company
What can engineering do to support your company's mission?
What should you invest in to create a core asset for your company, generating a hard-to-copy competitive advantage?
Example: Zoom built a competitive advantage by investing in proprietary streaming tech.
📱 Your Product
How can engineering support your product strategy to deliver a superior experience that drives the company's mission forward?
What kind of products can be enabled by a strong technical strategy?
Example: Uber built additional product lines (Eats, Freight) by leveraging their fleet management tech.
👕 Your Team
How can you leverage your engineering team's strengths to create something that benefits your company long term?
Example: Airbnb failed the React Native transition because (among other things) their mobile team skills were too invested in native tech.
More about designing technical strategies 👇
3) 🎒 Keep your time-to-offer within two weeks
When hiring, you should strive to keep your time-to-offer within two weeks. That is the time that goes from the initial application to the final job offer.
If this seems brutal to you, consider this:
Top candidates are gone in 10 days — that is the time it takes for the top 10% of talent to get a good offer.
In hot markets, companies are even faster — Yurii Mykytyn, Director of Engineering, shares his experience with the Eastern European market:
Before the war, Eastern Europe and Ukraine in particular was a boiling hiring market. Salaries almost doubled over the course of two years and bigger software companies were settings KPI's for themselves like an offer in 24h.
Such things as a home assignment or multitude of interviews were not an option, because during the same time, the candidate could get offers from 5 companies with zero effort.
So in general, our recruitment process looks like:
– 15 min screening
– 1.5h tech + team interview
– 1h final culture interview+offer.
SLA would be 7 working days from pre-screen to final decision (hire/no hire) per candidate.
I wrote more about good hiring processes in a previous article 👇
And that’s it for today — I wish you a great week! 🚀 If you liked the article, consider doing any of these:
1) ❤️ Share it — Refactoring lives thanks to word of mouth. Share the article with your team or with someone to whom it might be useful!
2) ✉️ Subscribe to the newsletter — if you aren’t already, consider becoming a paid subscriber. That also gives you access to the community and the curated library. You can try it for free for 7 days: