Table of contents

Leading on delivering stories

The developers role

You should take responsibility for:

  • figuring out how to deliver a user story in the most appropriate way
  • considering and balancing short and long term impacts of implementation choices
  • ensuring that code produced is of the appropriate quality (which will be different for a prototype vs a live production service)
  • ensuring that your knowledge is shared amongst your team so that silos don’t form

Junior level

At junior level, you will be given support to work on user stories. You will normally work in a pair with a more experienced developer. You may be asked to take the lead on well defined stories - see an example.

A well defined story will:

  • have clear acceptance criteria, so that you know when you’re done
  • have a clear statement of which files, classes, tests, and microservices will need to change, and in what way

Mid level

At mid level, we expect you to:

  • lead on more complex stories
  • support juniors and new starters in your team through pairing and providing guidance on delivering stories
  • decide which stories to prioritise over others
  • identify blockers, and the steps taken to try and unblock them

Senior level

At senior level you will lead on larger pieces of work which may involve multiple stories or tasks. This doesn’t mean you have to do everything yourself, but you should have end to end responsibility for delivering the work.

This could involve:

  • working with the tech lead and the rest of the team to agree scope and identify risks to delivery early on
  • creating well defined stories for other developers to pick up or suggesting an approach to take
  • helping to resolve blockers
  • making sure code gets code reviewed quickly
  • doing a timeboxed investigation (spike) into a problem area

As a tech lead (any level)

If you are a tech lead, you will work closely with the product manager and delivery manager to make sure that work is ready for other developers to pick up; for example, by working with the team to break down stories into smaller tasks.

You’ll be responsible for ensuring that the development work is aligned with the team’s goals, while maintaining technical standards. This may involve:

  • Working with PM/DM to get tech debt prioritised
  • Advising team members on technical implementation
  • Working with Tech Archs and other stakeholders (e.g. sec-ops & SRE) to make sure proposed solutions are appropriate

As a tech lead, you shouldn’t try to do everything yourself, even if it’s easier. This is not sustainable in the long term and takes learning opportunities away from other developers on the team.

The tech lead can also be a tie-breaker - if your team is having trouble making a decision, make the call.

External resources

  • The Verify team manual has a useful section on the role of the tech lead (which the above section is based on).
This page was last reviewed on 27 December 2018. It needs to be reviewed again on 27 March 2019 .
This page was set to be reviewed before 27 March 2019. This might mean the content is out of date.