Planning as a cure for getting lost in rabbit holes

One thing that I didn’t feel completely content with regards to the work on my side project was that I sometimes was getting lost down some rabbit holes, mostly on technical matters, like getting some makefile right or getting types right in TypeScript. This could take entire mornings with nothing to show for, and when this came out a couple of times during my own weekly retrospective, I decided I should do something about it.

I wrote a couple of weeks ago that one realization I had recently was that if the intent is to get something finished, it’s much easier if I prioritize and measure the progress by focusing on user-features than on tech-tasks. And now, as I bitterly looked at those days when I was getting lost in technicalities, I thought that maybe I can apply that yard-stick to them too.

So, I went back to my wireframes in NinjaMock and made a rough estimation for each of the 30 pages that I’ve sketched at the beginning of the project: 32 weeks of feature work in total.

With this, I planned work for every day for the next two weeks, some feature work, some technical work, and a bit of buffer to account for estimation error. Now, when I sit to work on the project, I know what work I have to do on that day and, after a week of working in that rhythm, I can tell that it helps me stay focused on the important things.

Surely new things come up as I go: I find that something takes longer to do, and things that I haven’t accounted for, and if they’re of a size that would derail my plan, I just put them in a “.next” list in my WorkFlowy. This is part of the process and doing this consciously and less reactive gives me a sense of predictability and stability, which I find is important for any long-term effort. It seems that this process also pushes me to do the estimation more diligently, invest just a little more time to think about it when I do the sprint planning.

I am sure it will take some time until this becomes second nature, but having just a bit of structure in place to guide my day-to-day efforts reduces my disorientation and also offers some sense of the overall progress.