Yair Flicker is the President of SmartLogic, a custom web/mobile software development company based in Baltimore.
If you need an outside team to help with developing your application, choose carefully. Hiring the wrong team can cost you both months and millions, and many companies don't survive working with a bad outside development team. Of course, my company SmartLogic is a custom application development firm, so I'm biased to think that our way is the right way to handle a development project. But we have worked and talked with hundreds of companies over the years, so I have seen a wide range of application development projects gone wrong, and I'd like to think my perspective could prove valuable to fellow entrepreneurs.
- Only interviewing one firm. When you are searching for an application development team, the third firm you talk to might say something that shows you the first firm was way off-target. Many of our clients choose us after meeting with other firms that don't specialize in the right kind of technology for their business, and vice versa. Sometimes it becomes clear that we're not the right fit after the client has taken a few meetings. No credible firm should want your business if they're not the right team to build your product, as this won't lead to good results for either party. Talk to at least three different application development firms before making your decision. That way, you can get a better view of which firm is best for your product.
- Hiring a company that builds marketing websites. You wouldn't want your car mechanic to fix your airplane, would you? If a company mostly creates marketing websites with limited functionality or suggests building your application in a Content Management System (CMS) such as Wordpress, run fast and far. Custom applications should be built with the right tools for the job. A firm that doesn't know how to use those tools will only waste your money. We have had to rebuild software for clients whose first app development team used a CMS system when they should have built a custom application using a framework like Ruby on Rails. Look for a firm that has experience building custom products, not digital brochures.
- Paying a fixed price. Any custom application firm that will give you a fixed price likely isn't experienced with complex projects. Fixed prices only work when all variables are fixed; with more complex applications, built for quickly changing markets, variables are never fixed. Besides, estimating a budget after just a few sales discussions is hard to do. 100% of SmartLogic's projects have changed at some point during the development process. Clients often start off with one idea for how a product will work, but when they see their ideas in practice, they'll want to cut or add features, and tweak certain elements. At SmartLogic, we have an intake process that helps us set estimates that reflect the complexity and timeline of the project. We invoice clients weekly, so they always know where they stand. Clients may re-prioritize features and change timelines as needed. Look for a firm that will give you an estimated budget range, and then communicate frequently about your project's status and cost.
- Offshoring your work. Personally, I have never seen this work. Language and time zones are formidable barriers to good communication--and communication can make or break your application development process. It's hard enough to communicate the factors in a technical decision to non-technical stakeholders when you're both in the same room speaking the same language. I've seen companies lose time and money because of miscommunications that come from language barriers. Plus, it's hard to vet a company that's half a world away.
- Hiring and managing a development firm without someone technical involved. If you don't have anyone in-house to manage your development process, find a technical third-party advisor to help you find the right outside firm and make sure your contractors are on track. Some of our clients previously worked with firms that wooed them with extremely low prices and quick timelines. Someone with technical know-how would have been able to steer them in the right direction and save them a lot of wasted money and time. It's hard to know what's normal if you have no experience managing the development process. If you hire a third-party consultant, they'll know whether a problem with your development team is par for the course or reflective of a poor-quality firm.
- Spending all of your dough on development. The four "p"s of marketing are product, pricing, promotion and placement: if you spend all your cash on product, you won't have the money to promote it. Having an amazing app is cool, but who cares if no one knows about it? Our most successful clients budget for public relations, marketing campaigns and advertising. Setting the budget is up to you, but an experienced development firm will help you prioritize features so you can build a working product and still have money left over for marketing.
- Using Microsoft products (e.g. .NET or SQL Server) in your product. Microsoft technology is not widely used in the startup world, which means you might have a problem finding a new firm to help you if the current firm doesn't work out. In some cases, clients come to us because they need to completely rewrite their code after creating the first version of their product with Microsoft technology. Your development firm should use the best tool for the job, not a legacy product.