How often do you truly appreciate what you are currently doing? Whether you are cooking a meal or developing software you are probably assuming that there is a long line of meals or projects coming and you will have plenty of chances to do better tomorrow. I think we naturally make the assumption that there will always be plenty. That’s why it can hit people so deeply when faced with loss or scarce resources. I guess it’s the American way – assume it will last forever and be surprised when it runs out.
this is your last x…
Sometimes it can be beneficial to pretend that what you are doing right now will be the last time you do it. The Japanese have a certain mindfulness about their daily life that seems to account for this. If you think it will be the last project you work on you might be more motivated and more willing to take bigger risks for bigger rewards. Or you could be more willing to make sure the product is rock solid before you are finished when you think you won’t be supporting it. Scarcity, whether artificial or actual, has a way of making you appreciate what you have and of fully using the resources at hand. Ask the Native Americans if they wasted anything. Ask people who went through the Great Depression if they threw much in the trash. When you are not sure if you will get another you become much more of a steward over what you have. Sure it’s easy to think that there will always be another project and it’s tempting to get lulled into the “do a quick job here because there is another project that we need to do right after it” mentality.
don’t create waste
In the end rushing through projects creates waste. You created poor code because you didn’t take the time to distill the domain to it’s useful pieces. You didn’t spend the effort to clarify the confused sections of code. You just made it work enough to move on to the next project. And I suppose, much like the American way of life, until there is feedback that tells you that you cannot continue to continually waste then you won’t stop. Finding ways to measure the waste created by half-assing is a great way to prevent it from accumulating. We need a reasonable canary in the development coal mine before you end up trying to revive your own Lake Erie (http://www.youtube.com/watch?v=QtNH0E4XSdQ).
I’m sure i could have just posted “Quality not quantity” or “haste makes waste” or some other mindless platitude but it doesn’t have the same effect. Both sayings make sense and have survived due to the continued pressure for faster and cheaper. The only reason people still try to make each item meaningful is because they have realized the joy of focusing on a single task and doing what it takes to do it well. Either that or they understand that “If a job is worth doing, it’s worth doing well”.
In many cases you don’t appreciate what you have until you think about a life without it. Pretend this is the last project you will develop. Are you proud of it? Does it meet your standards?