Custom software development agencies grant access to an ability that many people do not possess: developing software applications. It’s the classic service-business model to pay money and receive something that you can’t (or don’t want to) do for yourself. While convenient for a non-technical founder of an app startup, there is a gap between the agency’s service offerings and what it takes to have a successful software development engagement. This gap becomes a problem that is left for the client to figure out.
As part of a software development agency, it took me years to understand this problem. How do engagements between good-intending agencies and clients end up in a disagreement, or worse? You could say communication, but that’s a cop-out. I believe the answer is this: from the client perspective, they are hiring experts. In reality, they are hiring technology experts that work well with other technology experts. This creates a steep learning curve that isn’t identified…until it’s too late.
Success and Failure
There is a wide spectrum of people looking to develop an app, all with varying levels of knowledge and experience in software development. If someone has prepared well, they may be able to ask some simple questions about hosting or code ownership during their search; but for a lot of people, they don’t know where to begin.
Over the years, I have seen successful and failed software development projects. The most successful projects were with the rare clients that were technical an understood the development process. The failures came when individuals with lesser knowledge and no access to a technical advocate were thrown into a development process that they didn’t fully understand.
The truth is, there are many factors that can determine whether an app is successful or not; many of which have nothing to do with the software development agency or their process. However, in my experience, business factors like marketing, user adoption, monetization, etc., rarely get the chance to be relevant. Too often, apps fail in the development process, way before user feedback rolls in and the app has a shot of becoming a business.
The market is hard enough. Let’s stop allowing failure during the development process, and create apps that actually see the light of day.
How can you avoid early, unnecessary failure? The answer is to bridge the gap. If you aren’t technical and you find yourself in a technical world (yes, that’s apps), I would suggest getting a technical advocate. This could be a hired CTO, a technical advisor that the agency provides, or a group like Twin Sun who’s mission is to educate and equip non-technical founders to be ready for the development process.
A technical advocate will be able to help you ask the right questions and avoid some common pitfalls when starting fresh with a development agency. A technical advocate should have “behind-the-scenes” knowledge about how an agency works, and should be preparing you in the following areas:
- Identify and set a clear goal
- Understand your budget and how this relates to your goals and features
- Understand the development timeline and how this relates to setting marketing commitments, release dates, etc
- Inform you about the different types of engagements and contract structures and how this can be a major factor in succeeding or failing during the development process.
- Outline a technical plan based on your business goals
- Talk about and make recommendations on platforms, tech stacks, backend architecture, etc.
- Understand the importance of meeting with the development company in person.
- Evaluate your idea, the technology, and your potential market to make the best decision for your company (and wallet!)
There is a lot to figure out, and if you haven’t had experience building an app or working with an agency before, it can certainly be overwhelming. A technical advocate can help simplify the complex, bridge the gap to avoid failure in the development process, and give your app the possibility of success.