Refactoring

Share this post

Monday 3-2-1 – Story points, measuring tech debt, tech requirements in job posts 💡

refactoring.fm
💡 Monday 3-2-1

Monday 3-2-1 – Story points, measuring tech debt, tech requirements in job posts 💡

Edition #5

Luca Rossi
Jul 4, 2022
8
Share this post

Monday 3-2-1 – Story points, measuring tech debt, tech requirements in job posts 💡

refactoring.fm

Hey, Luca here 👋 welcome to the Monday 3-2-1 ✨

Every Monday I send an email like this with 3 short ideas about:

  1. 🎽 Engineering Management

  2. 🔨 Technical Strategy

  3. 🎒 Hiring & Onboarding

I also send an original long-form article every Thursday, like the last one:

  • Feature Flags



Before we jump into this week’s ideas, I want to let you know that I am working on a survey about "The State of Engineering Careers”.

The goal of the survey is to better understand how engineers and managers think about their careers, in these uncertain times. How they want to grow; how they choose companies; what they care about the most.

I do this for two main reasons:

  • It is highly relevant to my job — I want to keep writing about things that matter to people.

  • I believe this is an important topic — so I will create a detailed write-up + commentary on the survey results.

You can find the survey below — it would be fantastic if you were able to answer it (it should take ~5 mins).

Take the 5-mins survey


1) 🎽 The 6-step process to assign story points

Since story points look arbitrary, many people struggle to assign them.

Here is my own process to get started, in 6 steps 👇

  1. 🐜 Start small — If you are starting from scratch, take a story that looks smallish and assign 2 points to it.

  2. ⚖️ Compare — measure other stories by comparing them to similar sized ones (or to the initial one). Don’t bother to be precise, just say "this looks twice as complex", or "this looks similar".

  3. ⚡ Be fast — do not spend more than a few minutes to size a story. Spending more than that brings diminishing returns.

  4. 📈 Use an exponential scale — (1, 2, 4, 8, 16), because relative sizing works better, and you don't really need more precision. In alternative, you can use Fibonacci's (1, 2, 3, 5, 8, 13)

  5. 🗒️ Keep stories small — if you have to go over 16, just assign a provisional "Epic" to it, and split it into multiple stories later. As a rule of thumb, you should be able to deliver any story within an iteration (e.g. two-weeks cycle).

  6. 🤝 Involve your team — if you have a small team (<10 devs), involve everyone in sizing stories (e.g. with planning poker). Otherwise, involve a few team representatives.

More on estimating projects:

Refactoring
How to Estimate Projects 🧮
A few weeks ago I wrote an article on how to avoid negotiating on estimates. I believe you can reduce conflicts by working in small batches and focusing on continuous delivery. When stakeholders realize they get some value every week, they naturally reduce their attention on estimates and deadlines…
Read more
a year ago · 18 likes · 3 comments · Luca Rossi

2) 🔨 Assess tech debt with the Riot scale

When it comes to assessing tech debt initiatives, I am a fan of the system used by Riot.

They use three main metrics:

  • 💣 Impact — business metrics impacted by the debt, or the value you unlock by repaying it. Crucial for the ROI equation.

  • 💸 Fix Cost — a rough estimate based on some feasible solution. For the sake of prioritization, there is no need for it to be accurate. Simple t-shirt sizing (e.g. S, M, L, XL) is fine.

  • 🦠 Contagion — this answers the question: “if this debt is allowed to continue to exist, how much will it spread?”. It’s a great angle because, in this regard, not all debt is created equal.

The contagion metric is particularly powerful because it informs on how impact and cost change over time. Bill Clark, former EM for League of Legends, explains this well:

If a piece of tech debt is well-contained, the cost to fix it later compared to now is basically identical. You can weigh how much impact it has today when determining when a fix makes sense.

If, on the other hand, a piece of tech debt is highly contagious, it will steadily become harder and harder to fix. What’s particularly gross about contagious tech debt is that its impact tends to increase as more and more systems become infected by the technical compromise at its core.

More on technical debt:

Refactoring
How to Manage Technical Debt 🦠
Hey 👋 this is Luca! Welcome to a ✨ weekly edition ✨ of Refactoring. Every week I write advice on how to build great engineering teams, backed by research, case studies, and my own experience. If you want to receive a full article like this every week, consider joining other 16K tech leaders and subscribe to Refactoring…
Read more
a year ago · 7 likes · Luca Rossi

3) 🎒 Keep tech requirements loose in job posts

I believe tech requirements in most job posts today are too prescriptive. I prefer to keep them loose, for two reasons:

  1. Brilliant people in tech come from various backgrounds you can't really anticipate. It doesn’t make sense to — e.g. — enforce a degree among requirements.

  2. Brilliant people learn what they don't know faster than most of us realize.

The best approach is just to describe our stack, architecture and challenges, and allow people to apply even if they don't match everything.

As an example, I love these bits from this Stripe job post 👇

More on writing job posts:

Refactoring
How to Write a Great Job Post 📋
In July this year I launched Refactoring Jobs to provide an effective way for readers to find high quality, remote engineering jobs. Since then, I reviewed hundreds of positions. I talked with tens of companies to understand what they were looking for, and to help them write a better job post…
Read more
a year ago · 11 likes · 3 comments · Luca Rossi

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!

Share

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.

p.s. 30-days money-back guarantee, no questions asked!

Share this post

Monday 3-2-1 – Story points, measuring tech debt, tech requirements in job posts 💡

refactoring.fm
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 Luca Rossi
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing