Shape brain Slice 1Created with Sketch. Slice 1Created with Sketch. Slice 1Created with Sketch. menu 1433522600_bubble + 1433522600_bubble copy Thumbs up icon 15

5 steps to finding the right software development partner

Written on: July 5, 2015

Your company has a great idea for a website or application that will solve a pressing business problem, save employees hundreds of hours per year or make loads of money. You have been asked to head up the project to get it developed. What now?

The short answer is you need a team for the project that includes all the skills you will need to develop, launch and support the new application. If you have a regular need for custom software you might already have a development team who can deliver this project in-house. Otherwise, you will almost certainly be looking to outsource - so you need to find a suitable software development agency. Unless you have done this before, this can be a daunting process. Where do you start?

Disclaimer: it may seem strange for someone who works for a software development company to write an article about how to find the best software development company! However, we have learnt that our most successful relationships are with clients who have chosen the right partner for them, for the right reasons. Hopefully this article offers some useful advice and information about the process to help you find the right agency for your project, whether or not that is Bright Interactive. (Although, if you think it might be, please get in touch!)

Step 1: Educate yourself

Different ways to run a software project

It is worth learning a bit about the different approaches to software development and project management, a least at a high-level. The two most common approaches are Agile and WaterfallYou might want to decide which approach suits your project best before you go out to tender, or you could leave it up to the agency to propose what they think is best (although you may end up comparing apples to oranges if you get a mix of different approaches proposed).

Contracts

You and your chosen agency will agree and then sign a contract before the project starts. This usually consists of a set of Terms & Conditions, a description of the work to be carried out, and an agreed price. There are two popular types of contract:

  • Fixed Price. Under a Fixed Price contract the supplier guarantees to carry out the specified work, or deliver the specified solution, for the price quoted. They are contractually bound not to exceed this price for the given specification.
  • Time & Materials (T&M). Under a T&M contract the buyer simply pays for the supplier's time at an agreed rate (e.g. hourly or daily).

Putting all this together, the software development agencies are likely to propose one of the following:

  • Waterfall, with a Fixed Price (for fixed scope) contract. If your project is big, most agencies will suggest a 'discovery' phase so that they don't have to fund the time they spend writing the specification. If smaller, they will do this for free as part of pre-sales. Either way, the result is a specification (and sometimes design) document, that will be used to estimate the cost of the project. From this (usually with the addition of a hefty margin to mitigate the very real risk of the work taking longer than their estimates), the agency will come up with a Fixed Price - the price they will charge you to deliver the solution described in their specification/design document. The big problem, of course, is that for you to end up with the right solution, the specification needs to be right. Unfortunately, it almost certainly won't be.
  • Agile, with a T&M contract. The agency will not provide a detailed specification as they won't yet have enough information to design an optimal solution - that will happen on the project, collaboratively and iteratively. Instead they might demonstrate that they have ideas for a solution, show you similar work they have done in the past and aim to convince you that their approach (Agile) is best, and that they have a capable team. The contract will almost certainly be a T&M agreement, or a variation of that, as there is no way to agree a fixed price for something that can't yet be specified. However, they will often provide an estimate for the cost of the project - based on your requirements as you know them right now - for example by proposing how many sprints and a team size that they think will be required to meet the business objectives you have for the new application.

We spent years running Waterfall before switching to Agile and strongly believe Agile is a better way to develop websites and software applications. However, you should make up your own mind. We have put together a presentation to help make our argument: Fixed Price vs Agile Development.

Step 2: Write a project brief

The aim of the project brief document should be to excite potential development partners about your project. Don't assume that it's a buyer's market - the good agencies will probably receive a few leads per week and will want to spend their time on those that are the most attractive to them. Questions they will ask themselves are: is this project a good fit for what we do, and our strengths? Is the size right for us, i.e. neither too small nor too big? Are the timescales realistic, given our existing commitments? Will we enjoy working with this company if they become a client?

Typical information to include in your brief:

  • An introduction to the product and a high-level description of your business
  • The business objectives of the project - why are you doing it?
  • Technical constraints (if any) - for example if the new application has to be developed using certain technologies. If you don’t have a real business reason for constraining the technology choice then leave it up to the developers.
  • Timescales for project - do you have a deadline that can’t be missed? Be careful about obsessing about a deadline for which there is no real business reason. Sometimes it is better to wait a few weeks for the right team, and to concentrate on building the right thing to the right level of quality rather than delivering it a few weeks earlier.
  • Format of response - what information are you expecting? Sometimes a list of questions can be useful, as it enables you to easily compare responses side-by-side.
  • Timescales and contact details for responses.

Step 3: Create a list of candidates

To create a list of web development companies that might be suitable, try these methods:

  • Ask colleagues and friends who have been involved in similar projects for recommendations.
  • Use a search engine, being specific about characteristics that are important to you. Is their approach important? How about where they are located? For example, "Agile software development company Brighton"
  • Find out who developed websites/applications you like.
  • Try directory and review sites, such as Clutch.

Before you add a company to your list, visit its website. Look at what they say they do, what they have done for other companies and get a feel for what they would be like to work with. Can you read about the people who would be on your project - or see them in some videos? Do their blog articles give an impression of a company that knows what they are talking about? Is their own website good?

Step 4: Engage with the companies

Send out the brief and start talking with the companies on your list. Engage with them - find out what they are like. Don't make the mistake of relying solely on a written response to your brief and refusing to meet with them face-to-face or limiting phone calls (seriously, I've seen this happen). They will be critical to the success of your project - so you need to get to know them.

Meet the team you will be working with - if you only ever meet a charismatic sales person then be worried. If you are taking an Agile approach, you should be working directly with the developers on a regular (possibly daily) basis - see if you can interact with them during the presales process.

Step 5: Pick the best fit for your needs

Choose the company that you think would deliver the best solution, and which provides the best value for your budget. Note that this does not necessarily mean the cheapest, or the one with the lowest rates - value for money is about building the right thing, to your required level of quality, while avoiding waste. Make sure you will enjoy working with them, and that you can see the potential for a long-term relationship.

Involve all your stakeholders in the decision - the last thing you want is for the person with the budget questioning your decision once the project starts.

Finally, it’s polite to let companies who haven’t won the work why you haven't selected them for this project, preferably by telephone. Making these calls can be awkward but companies will have invested a significant amount of time getting to know your business and preparing their response, a few minutes of your time to give feedback seems only fair.


Written by