HubSpot: Gatekeepers and Gardeners

HubSpot tech blog published great article on job balancing and tech leads paradox of gatekeepers gardeners.

You might be a gatekeeper if:

  • your team regularly waits for you to review their PRs
  • your team waits to do the next thing assigned to them instead of taking initiative to find projects for themselves
  • you hesitate to go on vacation because you’re concerned your team will struggle in your absence

On the opposite.

A gardener might:

  • forego reviewing work, or let other members of the team take on the responsibility
  • let the team handle their own task management, trusting they understand the needs of the customer, business, and team
  • encourage members to build relationships on and off the team
  • let the team experience failure, trusting in their accountability to fix their problems and learn from their mistakes
  • have their team take on grungy work along with the “fun” work, because they understand the value of it

Great overview of these two roles people occasionally take once becoming managers/tech leads.

Definition of “done”

It’s been a long way for the definition to get to this blog post, so i’ll choose the one which favors the most, meanwhile its revision history:

An example Story definition of done would look like this.

  1. All story should have automated acceptance test.
  2. The story should have working code supported by unit test that provide around 60 – 70 percent coverage.
  3. The story should have well defined acceptance criteria.
  4. The code must have been written as a pair or should be code reviewed.
  5. Code must be completely checked in to the source control system and the build should pass with all the automated tests running.
  6. The product owner must accept the story.
Sprint Definition of done:
  1. Product owner should have defined a sprint goal.
  2. All stories completed for the spring must be accepted by the product owner
  3. All the automated acceptance tests should be running for the stories in the sprint.
  4. All code should have been pair programmed or must have gone thorough a code review process.
  5. If there is a database involved, the database scripts must have been automated and tested.
Release Definition of done
  1. Product is deployed to the test box and makes it to staging
  2. Product has a formal release date.
  3. There are deployment documents for the release
  4. Training manuals are available for users.
  5. All stories for the release are completed and accepted.
  6. The release does not have any level one bugs.

code-07