One of the things I love about writing this blog is that I get a lot of great questions from people who are both more and less experienced than I am. It makes for a good exchange.
Oftentimes I find myself on the receiving end of the learning process. It is so cliche to say that but it’s true. Anyway, recently, I have been getting a bunch of emails from people who say: “I have an idea for a feature/application/product, now what?” It’s a great question. Forget whether these features are the foundation of an actual business. These days a lot of entrepreneurs manage to build an application and flip it. If that’s what drives you, then it’s important to know how to build IT right.
In this post, we’ll only look at the product development end of things when you dream up a cool application. In other words, unless you are a technologist like Pierre Omidyar (who built eBay over Labor Day weekend ages ago), you will need to find someone to build it for you. I had my own case studies to draw from: first when I thought of MetaMojo.com, the domain specific vertical search engine, and then StreetMojo.com, the marketplace matching consumers looking for free stuff with marketers and companies looking to offer free stuff. The two projects were very different, but I learned some very important lessons that you simply cannot learn until you go through them.
1 – Eureka! Need vs. Want?
You have an idea? Great. Everyone has ideas, but only a few actually act upon it. If you do, you are an entrepreneur. The first question you should ask yourself is: does it solve a need?
If not, will people want this? The difference between want and need is that [sadly] we have finite needs but infinite wants. If you can serve a need or offer people what they want, you can build a successful company. But once you think of something, take a step back and sit down: you’re not alone. Allow me to tell you one thing that I have learned to be true: there is no such thing as “no one else is doing” this or that. The concept that you are the first to do something, or think of something, is simply practically impossible: Marconi and Tesla were simultaneously working on the radio… the radio!
There are 6 billion people out there now. Sure, a tiny fraction of that number represents people as clever and ingenious as you, but the fact is, out of 6 billion people in 200 countries speaking 1,000s of dialects, someone has thought of something somewhat similar to your brainchild.
So my advice to you is stop everything you are doing and research what you are attempting to create. Case in point: in 2004 I got the “brilliant idea” of writing a screenplay on Alexander the Great’s life. I thought it was genius. The greatest secular figure in history… a “Sandals and Swords” movie about him coming on the heels of Gladiator? Are you kidding me? I thought of concurrently writing my acceptance speech at the Oscar’s. But, for once, instead of banging out the script, I decided to actually - crazy idea! - research online to see if anyone else had thought of this before me. Hmm… someone did.
There was a movie in 1956 starring Richard Burton. All right, I thought, I wasn’t born then, how could I know? So I searched some more and found out that both Leonardo Dicaprio and Colin Farrell were cast to play Alexander in an upcoming movie. Two Alexanders? Two [more] people had already thought about this genius idea. Obviously, a film on the greatest secular figure in history seems like a no-brainer… though the movie flopped (though had more to do with execution; i.e. if you are going to do a movie on someone named “the Great,” you might want to address the acts, events and traits that made him great, but who am I to question Oliver North). But being a hardheaded individual, I decided instead to write a book. Naturally I knew there would be plenty of books, so I decided to tweak the formula and write a book on Alexander the Great written from the first person narrative, and broken up into 33 chapters/lessons that make him great. He died one month short of his 33rd birthday.
Lesson to you: tweak your idea given the competition and do something unique. We’re not advising you not to pursue your dreams, but understand that you probably need to:
a) study the market,
b) analyze the competition and
c) tweak your idea a bit.
The best part is, sometimes you come up with something better.
2 – Have a Problem to Solve; How to go About?
When I thought of building either the search engine or the community product, I knew that I could never build this out myself. As such, this article helps out the business or marketing person who cannot program the back-end application. Even if you can though, unless you are very good, it’s not a bad idea to hire someone else to do the heavy lifting. But, where to start?
Sites like Rent a Coder are good places to start. As is a service like Craigslist. The instant you put up a post, you will get a dozen emails from outsourced shops. Personally, I advise against this. Frankly, I have nothing against outsourcing, it’s a great option for many things but I would never advise someone to outsource something that represents the core of your idea. Not all outsourcing programmers are offshore, though many are. In the event you are considering an offshore person (or firm), do not kid yourself, the time zone change, cultural differences and language barriers will make a difference.
Furthermore, you need someone to sit down and see what you are talking about, you need to show them things you like and dislike about other sites and applications online, so I suggest you find someone you can meet in person. This is not to suggest that local people come with no baggage. Unless you are in an IT haven, it might be difficult to find someone with the technology know-how to pull off your project, and even if you do, there is a strong chance that they will charge too much for your liking and perhaps, have too many projects going on at once to really give you the proper time of day.
The flip side, of course, is that many programmers take a cue from the Mark Cuban school of IT Sales and will tell you they know something, only to go and learn it afterwards and practice on your project. This is probably not the best route to take for you but it’s not fatal if the people are capable. In life, compromise comes into play. I have met some entrepreneurs with brilliant ideas whose projects stall because the guy they hired to build the application is taking longer that expected. I have also known others whose ideas take longer than expected because they are working with programmers who are juggling numerous projects.
To each their own, in my experience: you are better off working with someone who is a top notch developer and have him 33% of the time than having someone who is available 100% of the time but not as good. This is more of an art than science though, not black and white. All to say, eventually you find some people who meet most of your criteria, what then?
3 – Take Your Time
The most important thing you should realize is that yes, time is money, but the only way this applies to you is that a bad programmer will cost you more time and money than taking the time to find a good programmer. Instead of rushing to give the mandate to someone who shows up on your doorstep on Day 1, take the time to post your project description in more places to get a good batch of candidates. Which raises the next point.
4 – Spec It Out, but Be Discrete
The legend of Facebook says that Mark Zuckerberg’s idea was not actually his. A couple of other students from Harvard were toying with launching a product similar to Facebook, but Zuckerberg beat them to the punch. In other words, it is important to be somewhat discrete.
The problem is some companies take this to the extreme and remain in stealth mode for years. That is a foolish thing to do since the best way to judge if you are on the right track is by throwing something on the wall and seeing if it sticks. Alas, be careful, but you be the judge: you are better off posting a broad description of the skills and programming languages you are looking for than outright telling people what your idea is.
5 – Do Your Homework
Even if you are not a technologist, you have to understand that you will need to have some idea of programming languages and different platforms you can use. You need to be somewhat aware of what is available in terms of open source software.
You are not expected to know how to use them, but if a programmer recommends one and not another, you should understand why.
I knew for example the fundamentals having worked in search and online publishing and reading quite a bit on software, hardware, major trends. The more you know… the better.
6 – Get a Second Opinion
Unless you find someone whom you can really trust, whenever someone sends you a quote or proposal, the wise thing to do is to cross reference with someone else. It never hurts to have more ideas tackle a problem. There is so much information online that you can always catch up and learn as you go. Anything you are told, you should double check yourself, but do not necessarily trust everything you read on message boards (example: type anything with “sucks” and something is bound to come up).
7 – Trust Your Gut
When it comes to deciding which person to choose for a project, a job, oftentimes you need to trust your gut. I cannot stress this one enough. On this, I personally prefer to work with honest people who are solid, even if I cannot have them 100% of the time.
8 – Not Everyone Has Heard of Under Promise, Over Deliver
I like to over promise and over deliver, because then it forces me to go all out and deliver the goods, but if you don’t want to put your neck out on the line, then at least under-promise and over-deliver, unfortunately, many people who try to win your business will tell you that they can do things that they probably cannot… and that is bad news for your idea. It will set you back.
The reason why this is key is that if you outsource a project to someone, you will naturally have to pay a deposit. You cannot – even as the client – reasonably expect not to pony up a penny in IT development work. The problem is that in the event it does not pay off and the programmer cannot deliver the goods, indeed you will probably lose your deposit and have to fork out more to a new programmer, hence why I prefer going with someone who is professional even if they are not the cheapest or most available.
9 – Manage, Delegate, Trust
This is one of the fundamental challenges of building technology applications, you have to ensure that your initial specs were as complete, thorough and rigorous as possible. Take screen captures of other sites you like, for example. The more you do at the pre-production stage, the smoother the development will go. Sort of like producing video, I’ve learned.
10 – Test, Trial and Error
As the development edges towards completion, you should always look out for small tweaks or large modifications. The chances are that there are some things that you forgot, some things that you should add, and some thing that you simply did not plan for. If you follow steps 1 through 9, then you can always build on your foundation and scale. Next week: so you have a working application, how to put the spotlight on it and drive traffic to it…
Subscribe: