Sunday, December 11, 2005

Agile software development practices in the non-IT world

Lately I, my wife and couple of our friends had a chat about how people get the feeling of success and manage their lives well.
At about 2 AM we more or less jointly concluded, that the key to success and to the feeling of success in virtually any project (including the individual life) is the following:
1. Don't lie to yourself, never. Realize what the situation really is. You cannot get the correct direction unless you understand what the starting point is
2. Get some long-term vision of your goals and periodically review and adjust them. No detailed planning is possible and should not be attempted
3. Get the work done step by step. Don't plan in detail for a year, establish a subgoal for 1-6 months and work on it. Don't be afraid on throwing away your work results if it proved to be the wrong path, but don't give up until the establish dead line passed

Surprisingly the "universal" success plan almost precisely resembles the values of the iterative software development. Last three or four months I am trying hard learning and applying Scrum - one of the most popular Agile development methods and, voila, it happens to be very close to the universal formula for managing the complex processes in my very life. In fact, it is what Scrum claims, but it is very impressive to get the same conclusions yourself.