In the business of start-ups, entrepreneurship, and software development everyone seems to have a single goal. Find the one BIG idea that will become their successful business model. There’s only one problem with this mentality.
Big Ideas are hard!
I’m not just talking about the requirements for big ideas either. Large projects are hard to start, hard to scope, hard to complete on time, and hard to maintain. All because of one thing…they are BIG. More complexity means more ways to ‘break’ the project. Scope changes mean missed deadlines. And large code bases mean increased maintenance costs. Of course these are generalizations, not everyone will run into these hurdles, but you should expect to.
So how do you start a big idea, small? You iterate. Both of my major projects I’m working on started this way. A single idea that I (or a friend had). It wasn’t a huge conversation. They both started with, what is probably, almost the same exact statement: “There has to be a better way to do _______”
Where to Start
I’ve always found it easiest to start with a small problem that scratches your own itch. Something that solves your own problem. For me Pushover Notifications for WordPress came about because I don’t like email notifications. I like short, concise notifications that get right to the point. I built something that achieved this. All notifications for Pushover are 150 characters or less. It also keeps my email inbox cleaner.
Chris Lema posted a short while ago about about “NOT Scratching Your Own Itch“, and his arguments are completely valid. I think though, that you can scratch an itch, while being completely aware of his concerns. You should read his post though, so you can be aware of the issues you may face. If there is one thing he has, it’s experience.
What next?
After releasing your small project, there will be a time where feature requests and bugs alike roll in. This is where you start turning the small little niche idea, into a larger thing. One driven by user feedback. My most recent plugin, Post Promoter Pro, is being updated to version 1.3 soon, and it’s consisting of 6 features, 5 suggested by users who purchased on day one.
So am I suggesting you use your customers as beta testers? By no means at all. What I’m suggesting is that as you develop your product, allow the customer’s to drive some of it’s direction. Not only will you get further than you can on your own, but they’ll feel a sense of ownership in the product. Thus, turning your ‘small idea’ into a flourishing consumer product.
What methods do you use to start projects? Do you believe in a completed idea or a minimum viable product (MVP)?