Quality manifesto with iterative software development

Photo by Nik on Unsplash

Quality manifesto with iterative software development

  1. Velocity builds ownership

  2. Automation builds trust

  3. Observability minimizes impact

These statements are the backbone for iterative development of quality software.

Velocity, or iteration speed, defines how long it takes for a fix or feature to be released.

  • Developers are empowered to immediately see and check their work in a real environment.

  • Fixing a bug yields immediate results, or no result at all if the bug is not yet fixed.

It also aids in the creative process:

  • Verifying partial solutions to complex problems is made possible.

  • Migration paths of breaking changes have a turn around of days instead of weeks or months.

Automating a software release process is a must. Humans make errors. Preventing them from happening a second time is key. Automation builds in various ways:

  • Process consistency frees up time and head space.

  • An automated test suite ensures working of core-processes.

  • Small units of change only impose the risk of the change. Big units of change multiply the risks of the changes within.

Observability is a must.

  • The impact of new changes can be assessed. Be it unexpected degrading performance or an uptick in performance after a fix is applied.

  • Newly reported issues can be picked up immediately. And will be resolved more quickly when they (1) relate to recent development and (2) are discoverable through the observability systems.