Let’s face it, we’re all busy people. We fill our lives with stuff to do – some important, and some not-so-important – and always feel like we should be doing more.
Unfortunately for programmers, this problem is compounded by the fact that we need to stay on top of an ever expanding and changing field. So, how do we make the time to work on personal projects, study for a certification exam, go back to school, or contribute to open source while still being able to maintain a sense of stability and balance in our lives?
One potential solution is to break up some (or all) of your tasks into digestible chunks and work each chunk as a “sprint”. A sprint is where you focus intensely on a single task until it is complete and then move onto the next one. Sound familiar? It should, what I just described is a simple implementation of an agile software development method called Scrum.
Note: You aren't technically required to stick to the 2-4 week sprint length, if you have a couple of hours every other weekend available to try this out, just do that. However, I would not recommend skipping multiple days during a sprint since they tend to work better when you accomplish as much as possible in a contiguous block of time.
The problem with most tasks is the fact that they are not trivial and can’t be completed in one sitting. This causes us to become flustered and most people end up procrastinating because they simply don’t know where to get started. This is not a new idea, in fact the idea of breaking large tasks into smaller more manageable ones – sometimes referred to as chunking – works well in all areas of life from parallel computing to corporate performance improvement.
So, next time you are trying to find the time to get some personal work done, or need to find a way to eliminate procrastination in your life try sprinting, you might be surprised as to how productive you really are.
How do you eat a whale? One bite at a time...