Skip to main content

Software development "commandments"

· 2 min read


  1. Thou shalt deliver business relevant software every two weeks.
  2. Thou shalt focus on the business value. Thou shalt have no other priority before it.
  3. Thou shalt proclaim to thy team mates and thy customers daily what thou dost toil to produce.
  4. Thou shalt commit to the customer what thou shalt deliver in two weeks. Thy customer shall choose what shall be delivered first and what shall be delivered second. Thou shalt deliver unto the customer what thou hast promised. Nor shalt thou withhold from thy customer what thou canst deliver.
  5. Thou shalt not commit to the customer or thy manager that which thou knowest cannot be done. No customer shall ask of thee to place 10 pounds within a 5 pound sack, nor shalt thou agree to such an abomination.
  6. Thou shalt write the unit test before the code
  7. Thou shalt not optimize locally. The essence of engineering is compromise. Blessed is the engineer that compromises locally in order to optimize the system as a whole.
  8. Thou shalt not solve a problem before it exists, nor shalt thou optimize a process that is not yet in production.
  9. Thou shalt not make any graven framework.
  10. Thou shalt not be half-assed. Thy code shall be clean. Thou shalt not leave unused and unwanted code to litter thy repositories.
  11. Thou shalt be kind to the stranger among thee. He shall be able to read thy documentation, navigate thy repositories and run thy builds as his own.
  12. Thou shalt know what was in production on any given hour of any given day, yeah down to the very line of code and configuration file thou shalt knowest.
  13. Thou shalt not proclaim a process that is not documented. Verily, thou shalt write down all thy processes. Blessed is the engineer that documents his process in automated scripts.
  14. Thou shalt strive to make thyself obsolete. The technology problems of the earth are many, and the competent engineers are few. Solve the problem before thee quickly and thou shalt be given greater problems to solve, and all the reward that goes with it.