Leaders: Use Mini-Projects to Delegate Better

Everyone who has ever held a leadership position has been there: you’re overwhelmed, and things are starting to slip through the cracks. Some well-meaning observer tells you, “You have to delegate!”

“But it would take just as long to hand this off!” you cry. “And what if they don’t do it right?” What does it take to make delegation not be more trouble than it’s worth?

Signs That It’s Time to Delegate

When a project team is starving for strategic capacity, the development team can suffer or find themselves in a holding pattern waiting for work to get defined. When the work is finally defined, it may be unclear or misunderstood. The tech lead struggles to define work or sinks many hours into research to define work to a “sprintable” level.

Alternatively, or even at the same time, your dev team may feel like they’re receiving marching orders that stifle their problem-solving ability or orders that don’t take full advantage of their domain knowledge. Symptoms of this (if the team doesn’t say as much directly) are that stories are frequently refactored to account for missed issues, acceptance criteria are updated mid-work, etc. Perhaps the dev team outgrew the need for detailed implementation hypotheses as they’ve leveled up or taken more ownership of their features.

You can address both of these issues with a spike story, or what I like to think of as a mini-project!

With this technique, you can skip sinking many hours into researching and defining sprint-length stories. Instead, with mini-projects, you can distill the knowledge unique to your leadership position into a set of parameters and allow your team to flex their consulting skills.

Example Mini-Projects

  • Our CI processes have become bloated and unreliable. Identify dead weight and problem steps, and recommend improvements.
  • The development team has avoided testing a particular area of the app due to clunky and unreliable test utilities. Design and build new ones that improve developer ergonomics.
  • We need to add payment processing to the app. Research potential providers and make a recommendation.
  • We’ve got a lot of feature flags that are starting to get entangled with each other and that are hard to manage and reason about. Make a plan to clean up old flags and improve our handling of them in the future.

Deep Dive into One Mini-Project

Let’s look at a real-life example of the last one and break down some of its anatomy:

  1. First, identify a North Star. How is the team’s time spent on this going to benefit the project? All work should serve that goal.
  2. If there are secondary goals or fitness functions to consider, list and roughly prioritize them.
  3. Give any technical context that you have on the subject that might inform the solution. This might include:
    • Conversations with clients about their needs and priorities
    • Knowledge of future feature work on the horizon
    • Knowledge of historical decisions and their reasoning/malleability
    • Integration requirements from other teams
    • Risks to mitigate
    • Prior experience with the subject
  4. Be creative with your user story subjects. Consider gearing them toward personas like future developers or a customer support specialist trying to help someone with your software.
  5. Describe a clear deliverable or definition of done. This could be a simple timebox, or it could be any combination of:
    • A request for comments for the team to react to
    • A written recommendation or other presentation for stakeholders
    • Proof of concept or draft PR showcasing a new pattern or proposed refactoring
    • An assortment of backlog items representing work to plan into a later sprint
    • and so on!
  6. Call out any resources available to the team, such as consulting time from another senior developer or other repos to check for inspiration.

Handing Things Off

Writing a mini-project doesn’t have to be time-consuming. The goal is to write just enough to let someone else run with it. Now that you’ve done so, how do you hand it off and delegate to your team?

Always start the conversation face-to-face when presenting your team with this type of nebulously-defined work, rather than just handing them a story number. This is the time to gauge how they’re feeling about the work and answer any big questions. And, most importantly, it’s time to express confidence in their ability to tackle the challenge.

Be sure to make it clear that with this responsibility comes the power and agency necessary to carry it out. Sometimes colleagues who normally pull clearly-defined tickets off a backlog can feel uneasy making big decisions if they feel it’s not their place.

And, most importantly, mean it. To delegate well means letting go of the finer points of the decision-making along with the worries and the time spent. Outline what matters most about the why, and let your team stretch their wings on the how. You’ll all grow for it.