"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." ~Albert Einstein
I've been through the development process a half dozen times over the last 4 years.
What I have learned:
1). Don't use a big firm if you can avoid it (or unless you have a ton of dough), they will whore you on cost. I had one firm tell me a basic website with no social media or video integration would start at 13K. I had another firm tell me that the price to pay in order to discuss my project was 5K. These projects should have cost 3K total.
2). Make sure your development environment fits your project. Many firms will use what expertise they have and tell you it's all the same...it's not all the same. Some languages have advantages over others (documentation, database hits etc.)
3) Do not outsource your front-end internationally-they f it up 99.9% of the time.
4). Start mobile development and work your way back (pretty common knowledge-but many don’t know it.)
5). If you aren't an IT guy, you will need one to assess the requirements and project (happy to help if you need it) and let you know what's real and what's not. If you don’t have some help, the development will be lazy and the developers will say “we did what you told us to do.”
6). Some projects are just as server intensive as they are software intensive...I found this out the hard way. Software people are rarely server people. Find out what the scoop is before you start working on both ends, from both skill sets.
7). The contract you sign is crucial so you are protected. For example, you need to have the proper means to ask for revisions and improvements in writing.
8). Demand that your code is documented or getting someone else to work on it becomes infinitely harder.
9). Make sure anyone you are using has a project management platform so you are in the loop, or things will not be developed the way you wanted, and your project will be delayed.
10). Find a company that has programmed similar projects. Some reusable code for similar functions can save you time and money.
11). Outsourcing to most countries is a lot of work. You can save money or lose money-all depending on how good you are at requirements definition and how patient you are in communicating daily.
12). Developers are like musicians...they are difficult to manage and can get frustrated easily. Find a boutique firm if you can that manages their own people-you don't want to get into management.
13). Work your contract so you pay in installments as you go to mitigate your risk. Milestones will allow you to pay as you see progress you are happy with.
My recommendation is that you start with design with a US based designer (not an artist-a BUSINESS designer who went to college and studied UI) and spend a good amount of time documenting requirements and understanding which technology partner is best.
Why a college degree? Because UI is a SCIENCE...and much like surgery it requires an education. Most UI people without degrees are ARTISTS. You need a scientist, not an artist.
Overall you will find no matter how well you plan it will be your customers who tell you what they want (and its never what you think you knew)...so getting it out in a flexible way is key.
ABOUT THE AUTHOR:
Eric Beans is CEO of Texting Base, Inc., out of Orlando, Florida. Texting Base is a ”SMS Marketing Automation Platform” which allows entities to personalize group text messages.
Prior to Texting Base, Eric was the first US employee of TechSpan which became Headstrong. Headstrong sold for $550M to GenPact.
With a group of partners in 2005, Eric started Premier Mortgage Capital, Inc., a nationwide state charted Mortgage Company that grew to over 2B/Year in originations.
Eric is the author of "Changing The World Through Texting Software" and writes the entrepreneur section of "LA Style Magazine." Eric is an inventor, investor, and longtime entrepreneur.
Texting Base does not offer legal advice-please consult an attorney before starting to text for business purposes.