In mature cross-functional teams, there’s a concept known as a feature lead.

This role involves taking responsibility for the outcome of a specific feature, and it becomes especially valuable when a product team is working on multiple initiatives, each potentially comprising many features.

It’s generally expected that senior engineers or higher take on this role regularly. However, it’s also a great practice for mid-level engineers to show initiative and step up into these responsibilities.

In our team, which is fairly mature, almost every engineer takes on the role of feature lead for different tasks. This significantly reduces the load on the team lead and improves the quality of individual features.

Why should an engineer care about this?

For seniors, it’s part of the job description, but for less experienced engineers, it’s primarily about:

  • Growing beyond your current responsibilities (this involves collaborating with horizontal teams and gaining expertise outside your usual domain)
  • It’s a great point to bring up during your performance review as an argument for being promoted to the next level

There are also less obvious benefits, though these vary from person to person.

What does a feature lead do?

Ideally, the engineer picks up a feature at the very beginning and drives it all the way through to production. However, there are exceptions where leadership gets transferred during implementation (which isn’t a great practice).

Let’s break the process down into stages:

🌎 Discovery

  • Dive into the context: try to understand what we’re doing and why. What metrics matter for achieving the desired outcome?
  • Communicate with external teams to clarify context.

🚚 Handoff to development

  • Assist the team lead in creating the quarterly roadmap
  • Create the roadmap for your feature and decompose the work
  • Discuss open questions during grooming, facilitate the process, and document agreements
  • If needed: organize a 3 Amigos meeting
  • Analyze risks, model potential issues, and discuss feature metrics and monitoring

🛠 Development

  • Write up clear task descriptions and acceptance criteria, or delegate and oversee this before work begins
  • Actively participate in sprint planning and task selection according to the roadmap
  • Fully own the context during development, collaborate with external teams, and support your colleagues with any questions that arise
  • Align contract changes and document all artifacts resulting from discussions
  • Identify issues during implementation and suggest alternative approaches
  • Work with QA to ensure quality

🚀 Launch

  • If there’s an A/B experiment, set it up or ensure it gets set up properly
  • Notify stakeholders about the launch
  • Launch the feature
  • Support the launched feature: respond to bugs and help colleagues with any questions related to it

As an engineer who’s actively involved in feature leadership, I can say it’s a fantastic experience you should definitely go for if you get the chance.

Especially if the process scares you.

I was scared about it myself just a year ago. When you start thinking about how much responsibility there is, how you need serious expertise in various areas, and that you might fail and let the team down…

But if something really scares you, I recommend just starting to do it. You’ll quickly see yourself grow, and soon enough, you’ll get used to it, and it’ll become second nature.

Read the original post and join the discussion in Telegram: @time2code