Andorian development principles and practices

A work-in-progress collection of development principles and practices that I find myself saying repeatedly.

  1. Done = released to the user
  2. Commit changes (/ merge PRs) daily
  3. Write *** tests:
    • (almost) every commit should have tests
    • when fixing a bug, first write a failing test
    • the less obvious the code, the more tests are needed
  4. Aim to write code that is obviously correct
  5. Avoid code duplication: extract methods, classes, libraries, …
  6. Understand the technology you are using:
    • Learn it, e.g. read the manual
    • Ask a team member for help
  7. Really, write *** tests:
  8. Solve problems effectively:
    • Define the problem you are solving
    • Determine whether it’s the right problem to solve or a consequence of the real problem
    • Identify possible solutions, and compare their benefits, drawbacks and issues
    • If it’s a significant problem, document why you solved the problem the way you did
  9. Leave the code better than you found it.
  10. Break a large task into a carefully ordered sequence of subtasks that deliver value incrementally
  11. Don’t break the build: run tests before pushing changes. And if you do break the build, fix it quickly.

To be continued…

Copyright © 2021 Chris Richardson • All rights reserved • Supported by Kong.