For the past few months, I've been back to focusing on making products. Though I was partially on parental leave, I shipped an accountability web app, wrote and shipped two short books, and an iOS application. I aim to release the product I'm working on in a few weeks.
The secret is that I chose a deadline-driven approach for these products.
Many makers let the product drive the planning when working on a product. They think about the features they want, try to estimate the time required to build each of them, add some margins, and then add everything up to come up with a launch date.
I start with the launch date in mind.
The process looks like this. First, I get the idea and incubate it (a fancy way to say I'm thinking about it) for a few days. Then I allocate a time budget: how fast can I ship this thing? A short ebook should take at most a week or two. Ascent, the Christian habits tracker, took two months from the first line of code to the app store release. And for the web app I'm currently building, the initial allocation was a month.
What happens if the product isn't ready within the allocated time?
Well, I'm glad you asked. I allow myself to push the deadline once, but not before asking myself, "What would it take to ship something I'm proud of on time?"
I've done this exercise no longer than a few days ago, as a deadline is approaching and the product isn't ready for beta. Spending 30 minutes thinking about this question, "What would it take to ship it on time?" allowed me to find a way to simplify the architecture of the software tremendously. I won't ship it on time, but it will probably have no more than two weeks delay.