Normally, we work in the context of a team, where we all collectively want to be fast and stay fast, and produce results that work.
In order to become fast, we have to learn the tools and techniques which allow us to practice fastness and we need to measure whether a technique or tool actually lets us be sustainably fast as a group.
But it's important.
Today I was thinking about all the work we do and the practices we use.
In hopes that it will be useful to stir up conversation and debate, I have tried to sum up our practices in a small set of imperatives:
- Write useful code only.
- Don't write defects.
- Don't write code that invites others to create defects.
- Don't write code which hides or obfuscates defects (yours or other people's).
- Don't cultivate habits which may result in code which contains, hides, or obfuscates defects.
- Don't take your advantage at another programmer's expense: don't make messes for teammates to clean up, or take a personal speed-up with slows down the team, or take chances that may result in other departments working harder as a result of your "shortcut".
And there you have it.
Your comments are precious, including disagreements.