In 1996 a friend of mine asked me what my New Years Resolution was. I didn’t have one, so I thought one up on the spot, “My resolution is to quit making New Years Resolutions.” I have stuck with it for fourteen years now.
The idea behind New Years Resolutions is great. We should reflect on the year that has past, think about what we would like to do differently in the future, and resolve to make that change. That is a great thing to do. The problem is that when we only do it once a year we tend to fail. Then, we wait a whole year to reflect and do it again.
So, this year resolve to stop making New Years Resolutions. Instead, reflect on your behavior soon, and make changes right then. Change every month, every week, every hour. Soon you will get good at changing and those promises you make to yourself will come true more often than not.
That is the lesson of Agile: self-reflection is hard, and we kind of suck at it. Change is hard, and we kind of suck at it. If we do it more often then we will have to do less each time and it won’t be so hard. If we do it more often then we will get good at it and it won’t suck so much.






Good concept. Is there an end? Is it possible to get to a place where you feel no further change is necessary in a certain area? Even in agile there is an end to an evolving product. The cost of the next change is greater than the benefits that will derive from that change. With a system the development team must go on to other systems or disperse. With our own personal change we can move from changing our weight when we get to a weight we are comfortable with, to improving our analytical abilities by reading or playing brain games or learning a new language.
Perhaps it’s more about setting a goal and evolving toward it. Then setting a new goal. Also quite agile. Each iteration or sprint is a new goal. However, that is not quite a new concept. Serial achievement of goals as a method to be successful extends back to the Romans if not before.
Hi Steve:
Don’t think of these as different projects, think of them as different features of the same product. Every aspect of your life affects every other aspect. When you improve something at work it will change things at home and vice versa.
I presume it is possible, at least mathematically, to reach a point where no change will yield a foreseeable improvement. I don’t think it is something we ought to worry about, though.
Clearly we must always keep changing and improving or we stagnate and basically stop living. A pattern of simply changing for the purpose of changing, while it will bring benefits thru positive results, albeit small improvements, seems somewhat haphazard. Shouldn’t there be an overall plan to the changes being made? Or is it improvement enough to drop a pound of weight one week, read a classic book the next, stop a bad eating habit the third, go back and drop another pound the fourth and so on? This haphazardness, while more in line with normal human attention spans and in many ways a lot more satisfying, does not translate well to software development, the start of the analogy. Without some organization and longer term goal setting and planning, the PO may continually change the backlog based on most current needs causing a lot of work to be done, software delivered each spring and after six months, no appreciable progress, nothing of significant value delivered to the organization.
Agreed. Change little at a time and make the change continuous. Constantly focus on process improvement, and self-improvement. And you feel good about losing that pound or finishing the next chapter of War and Peace. Isn’t it a better feeling and more positive impact on the self esteem to get to a target weight or finish the book? Isn’t it better for the team and the organization when the final product is completed and the project over to the adulation and praise of a thankful management?
OK. So I’m going overboard a little, but you get the point. Or, is the concept of achieving a set goal a little at a time assumed in your initial post?