January 7, 2018

effective engineers

Software engineers need to embrace feedback loops more.

While I don’t know when the science of continuous improvement originated, I know that it has been around for at least 60+ years, as Demings published his Plan, Do, Check, Act cycle in the early 1950s.

By 2018 one might expect that feedback loops are well understood and widely adopted. Yet many companies and software development teams are still not practicing continuous delivery or a selection of extreme programming practices*. Worse yet, some teams choose to ignore feedback cycles because the ones that exist are slow and error prone (slow CI with flacky tests anyone?).

Anecdotal evidence shows me that missing feedback loops often have catastrophic results.

Thus I will ask you: please make 2018 the year were you start to setup feedback loops or improve the ones which already exist.

For Software engineer this includes:

  • improve development feedback cycles:
    • improve your local tooling setup
      • format & lint on save
      • language specific autocompletion
      • proper syntax highlighting
    • improving your continuous integration system
      • have a healthy mixture of unit-, integration- and acceptance tests.
      • speed up test runs
      • fix flacky tests
    • get into the habit of red, green, refactor - at least for bugs
    • adopt hypothesis driven development practices
  • improve operations feedback cycles:
    • measure and optimize MTTD, MTBF & MTTR
    • setup SLOs, measure SLAs
    • automate your infrastructure
      • setup infrastructure as code
      • automate the deployment process
    • automate recurring tasks
      • certificate renewal
      • backups

Learning about and improving upon feedback loops will help you improve your craft, advance your career, and have bigger impact at work.

* there are many more feedback cycles - feel free to search the literature for more or add your own favorite feedback cycle in the comments.

© Raphael Randschau 2010 - 2022 | Impressum