There is an aspect of software development that has had a surprising impact on my personal life – the idea of holding on to and appreciating the value of options.
Let’s say you’re mad at your brother, and you want to punch him in the face. In a given situation, maybe that’s the appropriate course of action, in fact. It’s certainly one option. Thinking about punching him in the face might even bring you some pleasure as you work through your anger and contemplate other options. As an option, punching your brother in the face has value.
So you go ahead and do it – now it’s not an option anymore. It’s reality. The option of punching your brother had intrinsic value, but the moment you exercise that option, you have eliminated its value. You have spent it. There may be value in the reality of punching your brother in the face, but there are clearly consequences as well. There were no consequences to the option, only value. (OK, I guess there’s consequences if you fixate on the option too much, but you get my point.)
This is a bit of an extreme example, but it holds true in many areas of life. Next time you are torn by indecision, appreciate the intrinsic value of the options you currently hold. Instead of acting rashly next time you feel emotional, take a moment to consider the cost of acting on your emotions, of taking options off the table. And when you do act, do so with the full understanding that you are choosing one course of action over another, so act with the confidence that you are being true to yourself and your beliefs. If you don’t have that confidence, then it is often better just to wait … to step back and evaluate your options. In most cases, waiting is the "default option", what you should do if you can’t decide what to do. Appreciate the value that patience affords. My brother certainly does (just kidding, Ed).
For more on the way options are thought of in software development, follow some of these links: http://search.live.com/results.aspx?q=agile+option&src=IE-SearchBox.