New Year’s Resolution
I was hearing people around me this morning talk about their resolutions for the new year. The traditional resolutions came up: lose weight, exercise more, spend more time with the family, etc. As I listened a thought crossed my mind – why do people bother with resolutions when most people cannot stick with their resolution for more than a few days… Then a question popped up, why do people try to plan for a whole year ahead of them?
Needless to say, this post is not about resolutions.
Let’s do a small experiment. Can you plan the meals you will have in October this year? Shouldn’t you be able to do this since you know what you ate last October? What about how much money you will spend the 3rd week of July? No… OK, let’s try something you are familiar with. How much time will you will spend shopping for clothes this year?
My point is the following, if we cannot plan 6 months ahead of time for tasks we routinely do, so how can we expect end users to decide which features they expect from their new application 6 months before we start development? Even more challenging is the documentation of the user requirements. Priorities change, business constraints appear and disappear over time so how can someone know how to anticipate situations so much time ahead?
The beauty with an Agile development process is that end users define at a very high level what they want the application to accomplish and get into the details when it becomes necessary – usually a few weeks before development starts. In addition, the Agile development is iterative with short cycles.
Let’s go back to our experiment. Can you predict how much money you will spend next week? That should be easier.
Just like with money or weight loss, you have better chances of achieving your objective if you define a high level target to achieve and iteratively and frequently determine the short term actions to take to reach the goal. Agile is a good approach to use.