How to Have a Successful Side Project
May 23rd, 2013
I've had many side projects over the years - some successful, but many others are abandoned or have stalled. It's always a struggle to fit all my ideas into the few hours of spare time I have every week - so how can you improve your odds for a successful project? Here are the steps I take.
What is Success?
The most important part of having a successful side project is defining success for that project. There are so many different reasons to start a side project that it can be confusing even to think about. You might start a project to:
- Try out a new technology
- Make extra money
- Grow your portfolio
- Help out a friend
- Procrastinate on something else
These reasons often conflict with each other, so it is vital to have a vision of success in mind. Why are you doing this project?
Without a solid grasp of the reason you are doing the project and your intended outcome, side projects can be a frustrating experience that make you feel like you're going in circles.
Write Down the Defining Feature
Once you have an idea, take out a piece of paper (yes a real piece of paper - it feels more concrete that way). Write down a list of features that you want in your project. You can brainstorm about technologies, UI, APIs, graphics - whatever you want; it will feel good to write everything down.
After a few minutes of brainstorming, flip the paper over. Then, in a single sentence, write down the one feature that will define your project. It has to be a single, specific sentence that can be understood by the end user. Your focus is then to make something that fulfills that feature sentence. Only after you have something working can you flip the page over and revisit your list of features.
Get Something Working As Soon As Possible
After you have your feature sentence written down, do the first and smallest step toward getting that complete. Whenever I start a new app, I open Xcode with a new project, put a label with the app name on a new view, and deploy the new app to my phone. It takes almost no energy to do that, but it is a huge mental step toward getting work done. I then have a living app that I can work on one step at a time.
Switch Between "Open" and "Closed" Modes with Small, Focused Goals
John Cleese gave a fantastic talk about creativity in which he describes the "Open" and "Closed" mode of thinking. Here are summaries of the two modes required for creative work:
- Open: playful brainstorming for a fixed amount of time.
- Closed: head down, focused work. Implement what you thought of in the open mode.
To enter the open mode he describes sitting in a specific location, free of distraction, for a specific length of time. For me it's for 60 minutes on the couch, after my wife is asleep. During the open mode you are free to think about anything and everything - do research, play with demos, brainstorm or prototype. Near the end of the open mode I do have one restriction though: I always end with a focused goal for the closed mode.
After you have your focused task from the open mode, enter the closed mode and get to work. Instead of being constricting, I find it freeing to have a very specific task to work on, and often get the work done faster than expected.
Never Kill a Project After a Failed Closed Mode
Sometimes you will hit a snag in the middle of the closed mode. Maybe the API you thought was working utterly fails, or the "simple" feature you're working on is a beast in disguise. Whatever the reason, you will eventually have closed modes that yield no results. This can be very frustrating, and your initial reaction might be to abandon the project for greener pastures.
Instead of giving up, force yourself to go through another open/closed cycle. If you still want to abandon the project after a successful closed mode - go ahead. I often find however, that the distain felt for a project after a failure is mitigated by moving the project forward in another area. The project doesn't feel stuck, but instead is still alive and kicking.
Life Gets In The Way
I once was working on a project I was passionate about, moving forward at a great pace, when I came home to a flooded kitchen. I spent the next three weeks dealing with insurance, talking to contractors, and trying to make dinners with no floor. During that time I lost all momentum on the project, and it is still unfinished today.
Part of defining a project's success is knowing where it ranks in the scheme of things. I was doing that project mostly to learn a new framework, so despite the fact that it's not complete, I still consider it a success: I learned a large chunk of the framework, and can use it on projects today.
The Pay Off
Side projects can be a lot of work, but they can also be some of the most fun and worthwhile projects you will do. Holding the fate of a project in your hands is both compelling and rewarding, and it's always exciting to see something you worked hard on come to life. So take your idea, define what success looks like, and get working!