I was having a coffee today at my local coffee shop and I had a moment of inspiration and scribbled over both sides of an index card. This is more or less what I wrote.
The necessity of having to take something from start to end is stopping me being as productive/creative/happy as I could be. In order to improve this I need to accept that it’s okay to pick some work up, take it forward a little and then let it lie or let someone else continue it. Because even though when considered from a top down view this doesn’t seem the most efficient way of doing things, it allows one to do what really interests us without constantly feeling guilty of all the things we have not completed. Instead of feeling guilty, we should feel proud of the work we have done even if we didn’t take the work over the finish line we have still helped it along the way.
What does it mean to have completed something [a piece of work] in this age of knowledge workers? There are more knowledge workers than ever before and this makes me think that we can’t hold on to the same definition of complete that we all currently have. I think we need a new notion of complete, a more agile notion and one which conveys that complete just means complete for me, complete for now. Not necessarily complete forever or for everyone.
When is a software package or library complete? At the first release, second, tenth? When it’s decommissioned?
Release early, release often.
~Thoughts in a coffee shop. Saturday the 11th of May 2013.