Ask HN: How do you finish things?

3 points by rohansingh ↗ HN
I think I've had a fairly successful career so far. But in my personal time, I have so many projects that I've started but never seem able to finish. So many weekend projects that just died, and over which I've kicked myself when I see someone else release the same thing a month or year or two later.

Some things I've found to help are working with others and setting aside scheduled time blocks for personal work. These tactics help, but only a little.

It's not new. I always was late with my homework and such too. Though for some reason, in my actual professional work, I'm diligent and disciplined.

But I want to address this and become a more productive person. Do you have any successful strategies or tactics you've used to combat this? Any good resources?

8 comments

[ 3.5 ms ] story [ 33.8 ms ] thread
You have to do things right away and do them very fast. When you get a new idea, it sounds good and you're excited about it. Fast forward a day or two, it doesn't seem like a good idea and you don't care so much.

There's a good book on the subject: http://executebook.com/

Don't start any projects without validation. Get in the habit of validating an idea as the first step. After many failed attempts at apps, websites, ecommerce etc (I finished the projects but was really discouraged for awhile), I have gotten into the habit of building a landing page, and trying to drive traffic as the first thing I do, rather than touching anything having to do with tech. Only recent after 5 or 6 failed full fledged apps/sites, have I started doing it. I went through 4 or 5 ideas with no interest, until I came up with http://makerops.com, and had 1000+ people sign up in 2 days! That's what motivated me to keep trying.
Wow, yeah, that validation in advance must be a powerful motivator. There's definitely projects and stuff that it wouldn't work for, but when it's possible, I'll try to do that in the future.
Lots of people could not go to the gym without a gym partner or a personal trainer (a paid gym partner).

Same thing works with projects. Find someone to work with, set a schedule, and don't flake on each other.

I think about what is a minimum viable product.

You need something unique, that's a force multiplier, that lets you punch beyond your weight.

You have to spend a lot of effort on things you might hate, like documentation, marketing, fit and finish, and installers to really make something people can pick up and use. But that's part of the MVP; either push through the pain or get help.

Don't Learn just to Learn. Say your day job is PHP and MySQL and you're a machine at that. If you don't know any Scala or CouchDB, it's not a good idea to switch to them, unless you've got an excellent reason or enough cash in the bank to quit work for two months because you'll waste that much time thinking about how to look up the length of a string and stuff like that.

Use project management tools. Bulleted lists on notepads, in text editors, index cards and such are powerful. (Today's "cloud" systems for project management are painful to use because they don't have the tactile immediacy of paper systems -- overcoming that is an opportunity)

Stop doing something. There are only 24 hours in a day. To free up time on activity A, you have to stop doing activity B.

Thanks. All great suggestions. The bulleted list in a notepad approach is something I've used successfully in the past, I'm going to start doing it more regularly for personal projects as well.

Learning just for the sake of learning — good point there. For example, I really have no good reason to read Elements of Programming. I'm not a compiler designer or anything. That said, it is still fun and interesting to read. Probably makes sense to split reading into stuff that is clearly productive and helpful and things that are just intellectual entertainment.

This is a big thing for me. Because I've never managed to cross this threshold of finishing something I'm proud over.

But I'm slowly working there. I've started releasing open source components extracted from my application(s) and calling it a "release" or "shipping".

Move by shipping smaller stuff first, it could be as small as a simple library installable by cocoapods/maven/bundler or whatever.

No one might be using them, but I know they are better then the alternatives and I've "shipped".

That's my strategy anyway, slowly moving up.

Establish a feedback loop early. For example, I frequently show progress to developer friends. Their comments and encouragement fuel motivation.