Think Like a Software Engineering Manager cover
welcome to this free extract from
an online version of the Manning book.
to read more
or

12 Engineering and operational excellence

 

This chapter covers

  • The importance of engineering and operational excellence
  • Tools to get you started
  • Engineering and operational excellence as a continuous process
  • How to navigate resistance and establish engineering best practices
It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change.
—Charles Darwin

As an engineering manager (EM) for a team of eight engineers, you have observed struggles in meeting customer expectations and delivering on time. The code deployment frequency—once every two weeks—is slow, causing delays in getting changes to production. Additionally, the code shipped by the team is often buggy, causing effects on customers. Over the past month, your team has experienced four critical problems affecting company revenue, which suggests potential problems with operational procedures, communication among team members, coding standards, and quality assurance (QA) testing. This situation is where engineering excellence and operational excellence—two distinct but connected concepts in the context of software development and management—come in.

12.1 Importance of engineering excellence and OE

12.2 Tools and tips to get you started

12.2.1 Raise the bar on code

12.2.2 Test coverage

12.2.3 Acknowledge and reduce technical debt

12.2.4 Manage deployments

12.2.5 Use logging, monitoring, and dashboarding

12.2.6 Improve on-call and production support

12.2.7 Reduce operational cost

12.2.8 Identify ambassador(s)

12.2.9 Employ DevOps and DevSecOps

12.2.10 Follow the away-team model

12.2.11 Improve accessibility

12.2.12 Learn from mistakes

12.3 Engineering excellence and OE as a continuous process

12.4 How to navigate resistance

12.5 Stop and think: Practice questions

Summary