5 steps we took to overcome procrastination in launching 21times

I’ve written previously about how I procrastinate because I’m a perfectionist. The article got picked up by Lifehacker, and a bunch of people commented that I was just making excuses and am effectively a slacker. Well, they might be right, but regardless, I am definitely a perfectionist. In my opinion, this is not a good thing. When you’re a perfectionist, molehills become mountains, projects stress on endlessly, you’re never really happy with things, and projects stretch on endlessly. Nothing is perfect, so nothing is ever really done. I’ve seen this happen with a lot of my projects (I very nearly did it with this post, which is why it’s not perfect) and I really wanted to avoid it with 21times. If you haven’t read about it, 21times is a new app that I launched with two other guys that helps people learn about and accomplish a particular task. For our first challenge, we’ve collected 21 days of amazing content about building and launching an app and built a system to help people easily track and share their progress toward launching an app of their own in 30 days. We’ve had hundreds of users sign up to the challenge to launch an app by the end of November, which is pretty amazing.

So here’s five things that we’ve done with 21times that have helped me personally to overcome crippling perfectionism:

1. Pick a scope and keep it simple

It’s hard to know if you’ve crossed the finish line when you don’t know where it is. And it stands to reason that the simpler you make your project, the more likely you are to finish it. I’m biased, but I think projects that can be finished in about a month are a good size. So whittle down your Titanic to the size of a rowboat and start there. For 21times, this meant that we decided to launch with just a simple listing of courses, daily emails with progress tracking links, a dashboard to show your friends and progress, and a message board for each course. How much simpler could it get?

2. Now cut your scope in half. Twice.

“What?! Now my project will only take a week!”

Ha! If you believe that you really needed this post. Things almost always end up taking longer than you expect, so once you have it down to the bare minimum, figure out what else you can cut. And then cut it down again. Cut it down relentlessly until you’re sure that no one would find it useful or impressive because it’s just too damn simple. Then ask some people; you might be surprised. And if you do finish in a week, you can have the pleasure of finishing something four times in the course of 30 days.

For 21times, we first cut our scope by deciding to launch with just one course. We decided to build something to help people launch an app in November, so it was pretty important that we launch by November 1st to get the 30 days of content started. As that day neared, it became more and more obvious that we needed to cut scope further or we wouldn’t be ready. So we ended up eventually launching with a 1-page website that lets users do exactly one thing: sign up for an email list. There’s no registration, login, dashboard, message boards, etc. On day 1, we were doing nothing more than taking in an email address and sending out the first email. Now that’s simple.

3. Make progress every day

On day 1, we were taking a user’s email address and sending out an email. On day 2, we had added progress tracking so users can record how they’re doing towards the goal of launching their app by the end of the month. On day 3, we cleaned up some performance issues and switched to a better host. On day 4, we overhauled the way we’re sending emails to handle more users and more reliably avoid any issues. We’ve got new stuff that’s dropping tomorrow and we hope to launch some very cool stuff next week. We’ll keep doing it like this, just moving the ball forward a little at a time, every day.

Note: it is important that you have enough scope to actually be useful, or all of your users won’t stick around past day 1. We’ve been really fortunate in this respect: less than 1% of our users have unsubscribed so far, so we have the amazing opportunity of connecting with them every day to show what’s new.

4. Any progress is a win

Do not worry too much about whether you’ve accomplished as much as you can or should have. I’ve spent months not working on projects because I thought I needed be able to spend four hours at a time to get anything worthwhile done. Don’t think like this: if you fix a typo on the website or knock out some user emails, you’ve made progress and you should be happy. I know what you’re thinking: “but there’s so much more that can be done!” Yes, there is, but paradoxically, by worrying about that, you’re more likely to not do it. But once you get in there with the goal of just fixing or improving one small thing, you’ll do several things. Before you know it, you’ll have accomplished that big task you were putting off. An additional benefit is that spending time every day on your project keeps it fresh in your mind, which means you’ll think about it when you’re not working on it, and when you do work on it, you’ll be faster and more effective.

5. Don’t think about the future too much

We have big plans for 21times, but I’m not worried about any of that yet. I can see how this could eventually be a billion dollar company (I can hear you laughing :)) but I’m much more focused on making it a $1 company first. I’m not worried about what the company looks like in a year or ten years. I’m worried about what we look like tomorrow. There will be a time and a place for thinking about the big picture, but right now there’s only the users who have joined us on this journey and making sure they’re happy today.

Another thing I’ll say is that it has been tremendously helpful to us to have been forced to launch by a certain date, and to know that we have to push new stuff to users every single day. It’s been challenging on some days, but as long as we take a step forward, I feel good about it.

Bonus #6: No matter what happens or how crappy you feel right now, just keep walking.


[type='submit']
[type='submit']
[type='submit']
[type='submit']
[type='submit']
[type='submit']