6 Things Startups MUST Consider Before Engaging a Development Partner

May 2016 /

Before you engage a development partner, you need to keep these six things in mind to avoid surprises.

Startups often find themselves in a position where they require technical work on their product, but because of either financial or logistical reasons, it doesn’t make sense to hire a full time engineering team. In this case, software development agencies, often called “dev shops”, provide a valuable service to growing companies. Comprised mostly of engineers, they are teams that work on a contract basis with companies of all sizes – from your college roommate’s marketing startup to the tech development team at Nike – in order to design and develop software solutions that bring ideas from the mind’s of non-technical founders to the screens of customers.

If you are at the stage where you require high level development work and you are willing to pay for it, development agencies can be a game-changing resource.

Over the course of three months, we met with founders of over fifty different development agencies across Boston, San Francisco, New York, Baltimore, and Philadelphia and boiled our learnings down to the six key lessons about how to work with a development agency to successfully launch your product.

#1–Milestones are paramount to successful projects.

As entrepreneurs, there is a tendency to see our idea – and the product that’s bringing it to life – as a “thing”, one large object of innovation. While completely understandable, this can also damage the long-term success of developing an application. The end-goal may very well be a sleek, interfacing, do-it-all tool, but thinking too far ahead can obfuscate all of the subtle and important nuances of how that product gets built.

When a novelist sets out to write a bestseller, they do not write the book in one long sitting. They write it chapter by chapter: planning, drafting, and iterating along the way. This is because crafting and perfecting smaller chapters makes the process far more manageable. Each chapter exists as a standalone segment of narrative that tells its own small story. When put together, many great chapters become a great book.

Building a product is similar. Taking the time to break your idea down into independent milestones before bringing on a development agency will allow for a more disciplined approach to the development process. Additionally, the larger and more complex a project is, the easier it becomes for things to get overlooked or altogether forgotten.

Of the 50 development agencies we spoke with, more than 50% choose to explicitly follow a milestone focused project structure, where projects are broken down into multiple self-sufficient deliverables. A key learning from the people we spoke with was the importance on not only milestones themselves, but also the value of metrics. Having metrics by which you evaluate each milestone allows for conclusivity.

Using a metric-driven milestone method creates accountability around each important stage of your product, and that accountability makes for a more efficient and successful project.

#2–The relationship begins when the contract is signed.

There is so much emphasis put on the importance of finding the “right agency for you” out there that once a deal is struck and work begins, it’s easy to breathe a sigh of relief. Getting started is a huge step in the process, and it should feel good to finally find the right partner. That said, one of the biggest mistakes an entrepreneur can make is not realizing that the real work is just beginning.

Software development is an iterative process. As components of your idea become real and interactive, it will make readily apparent both the most innovative as well as the fundamentally flawed parts of your product. Nearly 8 out of 10 development agencies we spoke with utilize a discovery phase in their contract model. This is an initial period, usually around two weeks, where the development agency and the client work together with the expressed intention of learning whether there is a good fit on both sides.

Another reason a discovery phase is valuable is that along with being iterative, a successful development project is a two-way street. Most of the development agencies we spoke with are highly selective about the clients they take on. We’ve met with agencies who have fired clients mid-project because of micromanagement, unrealistic expectations, and disregard for agreed upon project parameters. So in order to position yourself for a successful development partnership, it is important to always ask the agency to describe what their ideal client looks like and understand the best way to work with them in order to get a sense for how to best proceed.

Utilizing this information to best engage with a development partner will pay dividends in the long run. Abandoning ego and striving to consistently evaluate and test your ideas is essential to building the best possible version of your product.

#3–Good code is a prerequisite: seek out development partners who add value to your business.

It is widely accepted in the startup world that the criterion by which all development agencies are to be judged centers around their quality of code. Common sense indicates that this is true: good development agencies are writing good code, and bad agencies are turning out products with poor code. In the most valuable development partnerships, good code is a prerequisite.

Every partner you even begin to consider should have a proven track record of building high quality, scalable, and successful products in their space. The deciding factor, instead, should be value-added: which development agencies are known combining their industry expertise and strategic insights, along with their technical skill, to offer you the most valuable partnership possible?

To build on the aforementioned point, development work is iterative by nature. Actively seeking a development partner who will engage in a feedback-based development process – shown below – to consistently challenge and improve your ideas will produce the highest quality result at the end of the project.
Screen Shot 2016-05-02 at 5.02.54 PM

Finally, it is important to point out that in order to get the most out of a relationship with a development agency, it is necessary to let go of any stubborn pride. Founders can become protective of their ideas, and this is completely understandable. What is important, however, is to never let pride get in the way of considering feedback. If you are hiring a development team to build your product, it is likely you do not have the in-house technical expertise to create it without one. Additionally, it is likely that the partner you choose to work with has a lot more collective experience building these technologies than your team does. Taking their feedback seriously and incorporating it with your own vision will produce the highest quality result when it comes time to launch.

#4–Technology decisions have long-term business implications.

If you are not a technical founder, and you’re looking to have a web or mobile application built, it is imperative you take more than the initial cost of development into consideration. Here's a quick breakdown, based on our conversations, of the top five languages development agencies are supporting:

Screen Shot 2016-05-02 at 5.04.45 PM

Different technologies have different financial and logistical challenges that can be less than intuitive, and sometimes saving time and money upfront can be detrimentally problematic down the road.

One of the biggest contributors to this is the variance in cost of ownership that various programming languages have. Software requires maintenance, and unless your application will never be updated or changed, you will likely be bringing people onboard again at some point to do that work. How time-intensive and expensive it is to hire developers to do that work is completely dependant on the language your platform was originally built in. This is the average annual salary for one engineer – based on data from Glassdoor, Indeed, and for New York City – for each of the five above languages:
Screen Shot 2016-05-02 at 5.05.44 PM

Thinking further down the road, it is likely that you will eventually be bringing some technical people onto your team. You want your product to be built in a language that will allow you to hire from a deep and competitive candidate pool, so you can choose who you bring onboard based on both skill and fit, as opposed to being forced to hire a niche programmer out of mere necessity.

#5–Forget about trading equity for development work.

On the surface, trading some portion of equity for free development (i.e. sweat equity) may seem like a plausible option for an early stage entrepreneur looking to save money where he/she can.

The truth is, the only time you should be considering this is if you are bringing somebody on board as a full time technical co-founder. There are only two scenarios that can play out when a services-based company like a development agency agrees to do work for equity, and neither bodes well for a startup:

Scenario One: If an agency focuses on developing for equity, it is likely that their work will be supremely subpar. If they are operating under this model, they are looking to build as many products as possible in the shortest amount of time. The more products they build, the higher their chances are of an exit occurring for one of those companies and, in turn, the developers getting paid. They have no incentive to produce anything more than passable, and oftentimes come up with much less. Additionally, this space tends to be occupied with less sophisticated players desperate to get started.

Scenario Two: Developers need to keep the lights on too, and as such you might find a development agency that focuses mainly on contract development work but will occasionally work on projects for equity. This is a bad situation, because as a project that isn’t directly contributing to revenue, you will fall to the bottom of the list in terms of priority work. In this type of scenario, you lose all control over if and when your project is being worked on. This kind of scope creep can be ruinous for a company looking to launch a product.

#6–When structuring a deal, choose time and materials over fixed cost.

We asked all fifty development agencies what their thoughts were on cost structure for software development projects. Here is the breakdown of agencies that structure projects using time and materials, fixed cost, and those that use a hybrid approach:

Screen Shot 2016-05-02 at 5.06.54 PM

Software development is one of the most difficult things to scope out, and it is nearly impossible to predict exactly how many hours and engineers it will take to build a product. As a result, the rigidity of fixed pricing is beneficial to neither you nor the development agencies you hire. Even more importantly, the nature of fixed pricing is extremely limiting to an entrepreneur’s product development process.

A fixed price means that any iterations or changes that were to come up during the build process would require a restructuring of the payment deal, and as a result a higher price. On the other side, time and materials allows for iteration at the pace of the entrepreneur, and encourages a more collaborative process. It is certainly appropriate to set a fixed budget, but demanding a finished product for a set dollar amount at the onset of the project will rarely ending up being more cost effective and will certainly make the process more stressful and less valuable.

There are a lot of factors that go into a successful development project, and keeping these things in mind will give you an edge as you consider your options. Best of luck and happy building!

Connect with us to learn how we can help
Contact Us
or call (646) 776-4605
Latest Content
Read our latest articles about technology, real estate, and more