A few months back I closed off a busy period. Between normal 9-5 working and running some workshops and talks, I didn't have much free to devote to side projects and my writing. As soon as things died down I was ready to dive into all those ideas that I had logged and pushed to the back of my mind. Thats about as far as I got. Thinking. Little to no action, and even when I did muster the motivation to actually start something I either got distracted with a different; fresher idea or over thought the problem so hard that I either reduced it to something that already exists or over complicated it that it lost the appeal. A lot of these are signs of burnout so I decided to take some time to clear my head. I've done little to no blogging, accidentally ran a Clojure workshop and generally thought about how to approach the problem of tackling my ideas rather than the ideas themselves.
I am now into my third week of what I've playfully dubbed Operation Sprint Finish and the reason why I'm talking about this now is that this week is my writing week - a week purely devoted to writing about all those topics I have listed in Wunderlist (though not necessarily publishing everything this week). Based on the last 2 weeks I've genuinely made decent progress on two of my personally important ideas than I did prior to having structure.
So what is Operation Sprint Finish? Well I first started by listing as many of the ideas I've had as possible (I ended up with about 20 or so that I really wanted to tackle). Next I selected 5 of these and designated them as immediate and the rest as sometime in the future. Well technically I selected 6 but that also includes the ever present writing, screencasting and presenting work (which all fall under the same high level category - or if you're into agile buzzwords - epic). These main ideas are the first batch of ideas I want to take as far as I logically can before I determine them either redundant or release them in some form. From these six epics I generated a list of things that need done and could be done reasonably within a one week period. Most of these were marked as Idea XYZ Sprint #1, Idea ABC Sprint #1 etc. with some overarching objectives and goals. Then using REALSCIENCE I picked one of the items and moved that into play for the next week/sprint.
For one week I focus squarely on that task. If new things come up they go on the backlog, new ideas go on the sometime in the future list (or swapped with one of the immediate epics as there can be only 6). At the end of the week I leave a comment (I'm using Trello to orchestrate all this) on the epic so that I can pick up any future tasks quickly and pick my next item. In fact I seem to find picking the tasks for the next 2 weeks at once a rather nice incentive as I know what to look forward to.
From the first two weeks I've managed to build
- A slightly more opinionated Luminus project structure that gives me a great starting point for the app I was working on as well as future web apps using a Clojure stack.
- A semicomplete prototype for an Android app (using Kotlin which was a pleasure) and a lot of design ideas for the app which was very frustrating but also rather fulfiling.
Both of these weeks have resulted in results that are far more complete than I've managed in recent times.
And now this week I can start putting some articles on my site that I've been itching to talk about for a while. Perhaps even record this screencast I've been threating to do.
What I've done is allow myself to not be distracted, not talk myself out of an idea because the idea on the the other side is greener and worst case, should I hit a hard part (like how to approach the user experience of the mobile app I'm working on) I don't just give up and instead think it through and potentially crack it (which I think I did).
Indeed I expect many people to be saying "So what? You're just applying the agile-y stuff to getting side projects done" and thats true but I still think there is value in writing about it. Besides, at the very least, this article still counts towards my current sprint deliverable which I guess is something, right?