DEV Community

Cover image for An Engineering Management Philosophy (i.e. How We Got Sh*t Done)
Anna Wijetunga
Anna Wijetunga

Posted on

An Engineering Management Philosophy (i.e. How We Got Sh*t Done)

You know when something just works? And you don't want to mess with a good thing? Yup, been there. I'm there right now.

My engineering team moved off our tried-and-true engineering management practices in order to practice Scrum. I'm not mad about scrum but I am mourning the loss of the good times, and even if no one else gives a hoot, I wanted to share what made our system shine :).

An Engineering Management Philosophy

Humans are bad at estimating.

  • Estimates are inherently unreliable and should be treated with caution. You know I'm right!
  • Self-reported data cannot be trusted.
  • Validate and cross-check self-reported metrics.

Small user stories are key.

  • Encapsulate one definition of “done” in acceptance criteria.
  • Small scope limits risk and focuses engineers.
  • Break work down to enable each team (BA, QA, Dev) to build a stable, quality product.
  • Small changes allow for faster, more confident progress.

Author acceptance criteria on every ticket.

  • Look for "and" in the title to avoid combining tasks.
  • Use Tech Discovery and Tech Notes to limit scope early.
  • Utilize investigation tickets for unclear bugs.
  • Avoid promoting tickets that are actually multiple tasks.

Work categories.

  • Roadmap, Testing, Escalated, DevOps, Tech Debt.
  • Allocate weekly capacity percentages to each category.
  • Adapt percentages to meet stakeholder needs.
  • Predictably manage expectations outside engineering.

Ticket velocity.

  • Measure on an 8-week average.
  • Plan capacity to include pairing, training, learning, PR reviews.

Stakeholder meetings.

  • Align priorities every Friday.
  • Engineering provides capacity, stakeholders bring priorities.
  • Strategically choose tickets for “the plan”.

Mid-week escalations.

  • Allow off-plan blocker tickets.
  • Escalations should be discussions, not dictations.
  • Minimize disruptions through automated testing and technical debt reduction.
  • Proactively prevent issues before integration.

Sprint planning and accountability.

  • Capture prioritized tickets for upcoming sprint/week.
  • Hold accountable to commitments.
  • Capture and review off-plan solved tickets.
  • Use retrospectives to prevent future off-plan tickets.

Metrics and discipline.

  • Measure 8-week velocity per work category.
  • Visualize trends and coach teams to align with targets.
  • Deliver with precision against target percentages.
  • Resist stakeholder pressure to over-promote tickets.
  • Remove impediments to stay on plan.
  • Track metrics and maintain discipline.

The golden rule

Plan the work, work the plan.

Sigh. That felt great. Thanks for letting me get that all down on the page and relive the good times of high performance and rarely missing a delivery date.

In other news! THANK YOU for reading this far! If any of this piques your interest, contact me so we can talk shop. I'd love nothing more than to hear your engineering management philosophy and your take on mine.

Top comments (0)