What to Look for in a Bespoke Software Development Agency as a Startup

Choose your development agency carefully - you'll be spending a lot of time together...

Where do startups, start?

Whilst this may seem like the 'start' of a really poor joke, it's a genuine question. Where do startups actually start when it comes to finding a development agency to partner with? To trust with their product? Their investment? The future of their business?

It's not a simple dilemma to solve like comparing phone contracts or off-the-shelf software. You're selecting the team that will help shape your idea, bring it to life and in some cases, build the product your customers will actually be using. Get it right and you'll have a long term ally who understands your business inside and out and who is as fully invested in your success as you are. Get it wrong and the consequences can be dire. 

So, what should startups actually be looking for in a development partner?

Evaluating agency expertise and portfolio

If you've ever had the misfortune of using online dating apps, you'll probably already know that things aren't always quite as they seem. Every profile (website) claims to be 'passionate', 'agile' and 'too good to be true'. They show pictures of glamorous projects, irresistible case studies and testimonials that glow in the light of your laptop screen.

You might ask yourself, could this be the one? Whilst another, quieter voice asks - or are you being catfished?

The truth is, much like online dating profiles, software development companies are going to put their best foot forward. They are going to say they solve problems rather than cause them. They are going to claim they put customers at the heart of everything they do rather than treating them with contempt. They are going to tell you they are collaborative, transparent and innovative rather than difficult to contact, secretive and very much stuck in their ways.

As the client, the responsibility is on you to do your due diligence and separate the genuine from the catfishes and this isn't always as difficult as you might think...

The portfolio and previous clients

A sensible place to start, a software development company's portfolio should be transparent, verifiable and not filled with brand names that have no internet presence. Sure, many companies choose to keep a low profile and don't necessarily want themselves plastered all over Google or Social Media. However, you should be able to find a companies house page, a website or some other independently verifiable evidence that they exist and operate as a legitimate business at a minimum. If you find the testimonials or case studies section of a software development company filled with clients you can't find a record of, this is red flag number one. 

That being said, don't treat a single unverified client as definitive proof that an agency is being dishonest. There are legitimate reasons why a case study may be difficult to verify such as the client operating under a different trading name, being an early stage startup with little public presence or asking the agency not to publicly disclose details of the project. The bigger picture is important here. If the majority of an agency's portfolio is made up of recognisable, verifiable organisations, the occasional exception is unlikely to be a concern. If, however, you struggle to verify most of the clients they claim to have worked with, it's worth digging a little deeper before jumping in with both feet.

In terms of the technical portfolio, you should look beneath the 'this is what we delivered, doesn't it look great' spiel and try and get a feel for what the software development company actually did and what challenges that software solution now solves. The most valuable case studies do not focus on showing attractive screenshots. Rather, they explain the client's problem, the technical challenges involved, why certain decisions were made and most importantly, the outcome(s). This provides valuable insight into how the agency thinks, what's important and how they ensure their solutions hit the mark. If a software development company relies on screenshots, pictures or photos with little context behind them, that's another red flag.

The proposal

Creating proposals for bespoke software solutions is arguably one of the most complex, difficult parts of the whole development process. There's no catalogue, there's rarely a comprehensive specification and there's no price list - the product is bespoke after all and by that logic, no two solutions will ever be exactly the same. So, there are a number of red flags to look out for when it comes to the proposal provided by a software development company. If they do any of the following, it may be a cause for concern:

Questions to consider asking

Depending on what you're actually looking for, there are a number of questions you can ask any prospective software development partner to get a better feel for what they'll be like to work with, what they prioritise and how they deal with certain situations. Here are some questions to consider:

Have you built software for startups before? This will help you determine whether the agency has working experience with the realities of startup life. Tight budgets, loose requirements and non established processes are common within startups and the process tends to be very different to delivering projects for long established businesses.

How do you approach the discovery and requirements gathering phase? An incredibly important part of the development process even for seemingly non complex solutions. Ideally, you want an agency that invests the time and effort into understanding your business inside and out including your users, the challenges you're trying to solve and your processes.

Who will be working on my project and will I have direct access to them? This will vary depending on the size and operational structure of the software development company in question but nevertheless, this is something every startup should understand. Ask who will actually be designing, developing and managing your software and whether you'll have direct access to those individuals throughout the project lifecycle.

Unfortunately, there has been a significant increase in overseas organisations posing as UK based development companies and whilst there's absolutely nothing wrong with working with an overseas team if that's your preference, problems arise when agencies aren't transparent about where their developers are actually located. Communication issues, misaligned time zones and non UK development standards are common issues when working with such companies.

How do you manage changes in scope? Whilst changes in scope (especially when development has started) are usually groan inducing and anxiety spiking, they are unavoidable for some projects and a part of life in the software development space. A good development company will have a clear change control process that outlines impact on cost, timescales and functionality so you can make an informed decision.

What do your testing and QA processes involve? Another extremely important part of the wider development process, the testing and QA stages ensure the software is reliable, secure and ready to function in the real world. You should expect a combination of testing protocols such as unit, integration and performance testing. Code reviews are usually a good indicator of a solid approach to QA.

Budgets, timelines and scope transparency

What are the first two things that spring to mind when you consider buying anything? How much does it cost and how soon until I can have it. That's pretty standard and the main considerations for most people when mulling over a purchase. Unfortunately, the answers are not usually clear cut when it comes to bespoke software and can take some time to uncover but a solid software development partner can help bring clarity to these important questions.

MVP v the finished product

A common dilemma for startups - should we start small and launch something quickly or should we wait until we have the full solution before going to market? There's no correct answer here, it totally depends on what your priorities are with pro's and con's for both.

The case for an MVP: Rather than spending months or even years on getting your product exactly as you want it, an MVP allows you to launch with core features and functionality where you can test the validity and any assumptions of the solution with real user feedback. This feedback can shape your future development roadmap, including things you know for certain customers will value vs what you assume they will value. MVPs also require less investment upfront and less time to deliver.

The case for the finished product: Some startups don't have the option to launch an MVP and must provide a full and finished solution on day one. This could be due to contractual obligations with investors, regulations that prevent a stripped back version being released without comprehensive compliance and security or because they already have an established list of customers waiting for and expecting the full product.

A good software development partner will help you weigh up the pros and cons of both based on your specific circumstances without pushing you towards one or the other. 

Why scope is everything

The scope of a bespoke software development project determines the cost and timescales - those two all important considerations. The more clearly you can define your requirements, the more accurately an agency can quote. Tight specifications help reduce ambiguity, prevent misunderstandings and ensure everyone is singing from the same hymn sheet from start to finish. Whilst some startups may have a thorough and comprehensive specification ready to hand over to the development team, this isn't particularly common. That's why we're once again reiterating, the importance of the discovery and requirements gathering phase. It is usually only after a specification is nailed down and signed off that software development companies can provide fixed costs. And if they can provide fixed costs and timescales without a specification - proceed with caution!

Planning for growth with phased development

There are a number of benefits to taking a phased approach to any development project. This is especially true for startups where budgets and resources are usually limited with many startups also under pressure to deliver for their investors quickly. A phased approach allows you to spread your capex costs, keep an eye on resources and deliver incremental value at every milestone.

So what does a phased development approach look like? Naturally, that's going to differ from business to business but you can expect it look something like this:

Phase Focus
Phase 1 MVP and launch
Phase 2 Customer feedback improvements
Phase 3 Automation and integrations
Phase 4 Advanced reporting and analytics
Phase 5 Scaling infrastructure and enterprise features

Each phase is informed by real customer feedback which may differ significantly to any early assumptions, giving you valuable insights to what works, what doesn't and areas of opportunity. Additional benefits include:

What actually drives development costs?

Not all software projects are equal and two applications with the same number of pages can have vastly different development costs depending on what's going on behind the scenes. Let's take a look at some of the most prominent factors:

Business logic complexity

The more decision making your software needs to perform, the higher the development costs.

A simple booking form for example is relatively straight forward. A system calculating pricing rules, inventory availability, user permissions and automated notifications is considerably more complex.

Integrations

Connecting to other software systems - whether they be internal or external - requires additional planning, development and testing. Integrating with off-the-shelf platforms is usually a lot more straight forward than with bespoke systems as they tend to provide standardised documentation, pre built plugins and highly active developer communities. There are thousands upon thousands of services you can integrate with, here are a few examples of some of the most common:

If your software requires integration, be sure to ask prospective development partners whether they have experience integrating with the platforms you're interested in (off-the-shelf systems) or undertaking bespoke integrations (custom systems).

Design fidelity

The quality and depth of a design can have a significant impact on the development time and effort required to complete the project. Clean, functional interfaces can usually be delivered relatively quickly whilst highly polished interfaces with custom animations, interactive elements, complex dashboards and bespoke user journeys naturally require more development time.

However, investing in detailed, comprehensive designs upfront can actually speed your project up. When developers are given designs that include responsive layouts, clear user journeys, interaction states, component behaviour and clear specifications, there is less room for ambiguity during the actual development. It reduces the need for assumptions which can prove to be costly and time consuming later down the line and means there is no waiting around for design decisions mid project. This can all contribute to lower development costs.

Ask your prospective software development partner(s) how they approach their designs to get a feel for how much importance they place on them, what's included i.e. wireframing and whether their approach is likely to be a good fit your project.

Team size and expertise

Needless to say, bigger teams can get stuff done more quickly. However, too many cooks can indeed spoil the broth so there needs to be some balance. 

As a startup, you might automatically assume a larger team means better value but in reality, every person you have working on a project is an additional cost so whilst this may make sense for large, complex deliveries, it's not necessarily the best approach to all development. Perhaps more importantly, higher headcount requires more coordination, project management and planning to ensure everyone remains aligned and working towards the same outcomes. For smaller projects and particularly for MVPs, a smaller, leaner team may well be more effective. 

Whilst exact job roles will vary from company to company, here's a guide to the roles that might be involved in any software project from your own startup and those in the development company you are considering using:

Startup roles Development company roles
Founder - Defines the company vision, business goals and priorities. Makes key decisions throughout the project. Client manager - Acts as the primary point of contact, ensuring communication remains clear and the project aligns with the client's objectives throughout.
Stakeholders/Investors - Provide strategic direction, working capital approve budgets and help shape major business decisions. Project manager - Plans the project, manages timelines, coordinates the team and keeps delivery on track.
Subject Matter Experts (SMEs) - Share industry knowledge, explain business processes and validate that the software solves the real day to day challenges it is intended to. UI/UX Designer - Creates user journeys, wireframes and high fidelity designs that make the software intuitive and enjoyable to use.
Operations team - Explain day to day workflows and help identify inefficiencies that software can improve. Frontend developer – Builds the user interface that customers and staff interact with.
Sales & Customer success - Provide insight into customer pain points, feature requests and user expectations. Backend developer – Develops the business logic, APIs, databases and server side functionality.
Marketing team - Ensures branding, messaging and customer experience are reflected within the software. Full stack developer - Works across both frontend and backend, particularly common on smaller projects and MVPs.
Finance team - Advises on budgeting, reporting requirements and financial workflows if relevant to the product. QA/Test engineer - Tests the software, identifies bugs and validates that features work as expected across different devices and scenarios.
IT Team (where applicable) - Provides access to existing systems, infrastructure and security policies. DevOps Engineer - Manages hosting, deployments, infrastructure, monitoring and CI/CD pipelines to keep the application running reliably.
Customer representatives/Beta users - Test early versions of the software and provide valuable feedback before launch. Technical Writer - Produces documentation, user guides and training materials for administrators and end users.

Hosting services, domain registration & deployment

Infrastructure decisions that are made early within your startup can have long lasting implications - both positive and negative. For example, many startups choose the cheapest possible hosing options for their software system(s) in order to keep costs down and that might be ok...until you move from 10 to 100 users and start experiencing problems. Similarly, if you try and overcomplicate things early on and choose the most complex, expensive options available such as a bundled enterprise domain package complete with M365, advanced security and deep analytics, you might quickly find yourself justifying why you need all the bells and whistles as a sole user to your investors. 

The aim here, is to create an infrastructure setup that provides the performance and uptime your software needs without unnecessary costs or complexity. This means thinking about what sort of traffic you expect, how much storage you need and what your scalability needs might look like further down the line. A good software development partner will guide you through your infrastructure choices and provide you with options along with the pros and cons of each of them so you can make an informed decision.

Are they really a good host?

Of course we're not talking about the channel 4, dinner party kind - that's way too exciting for a page on a software development website.

We're talking about the web type!

There are hosting options aplenty available to startups ranging from the more traditional, managed hosting through to major cloud based options through the likes of Microsoft Azure.

Cloud platforms provide considerable flexibility and make scaling a breeze. They can also offer up significant complexity and costs if not configured correctly and they are definitely not the ideal option for all startups. SaaS and tech startups are usually well suited to cloud based hosting.

Managed hosting offers a more straightforward alternative and is ideal for startups who don't need their hosting to be flexible, scalable or all singing, all dancing. If you have a basic website, with basic functionality meant for basic asks, this is probably a good option for you.

All that being said, the only 'right' choice is the one that suits your specific software system, expected users, growth plans, technical requirements and of course, budget. A good development partner will be able to advise you on the best hosting option for your specific scenario and more importantly, explain why.

Domains and brand readiness

Now onto domains. They may seem like small fry when you've got a whole application to plan for but they can be incredibly important in cementing your brand.

Ideally, you want a domain that directly links to your business and makes sense to your users. For example, if your company was called say - Cool Code Company - something like coolcodecompany.co.uk would be ideal. Oh wait, that's us! But buyer beware, you are not guaranteed to get the domain you want or even your second or third choice especially if your startup has a well used or common name. Domains should be secured as early as humanly possible to avoid disappointment and that goes for potential future domains too. If you're eventually planning on offering a web app, mobile app and a website, reserve all three in advance and don't get your pens, mugs and t-shirts printed until they are 100% secured!

You can also consider reserving different domain extensions i.e. .co.uk AND .com as well as domains that represent common misspellings in your brand name so you can be sure competitors and bad actors don't try and pinch your customers by reserving these domains instead and pretending to be you. Yes, it does happen.

Deployment & CI/CD

Building software is one thing, getting it into production is quite another.

Deployment pipelines and CI/CD (Continuous integration/Continuous delivery) practices allow developers to automate varying levels of the process covering the build, testing and deployment of software. What this means is that changes, enhancements and fixes can be pushed out more frequently and consistently without the need for a developer to manually move the code into production each time. 

For startups, this is particularly valuable. Aside from the obvious savings on time and resources, your product can evolve with confidence allowing you to act on user feedback swiftly and release bug fixes, improvements and new functionality without turning each of them into a huge event.

All this to say, a well structured deployment process can set you up for success so be sure to look for a partner who understands how important this milestone is.

Launch support, maintenance and future growth

As a startup, launching your client facing software - whether that be a website, a web app or something else -is a milestone to be excited about. And perhaps a little nervous. But that's not where the engagement with your development partner of choice should end. No sir. Whatever happens after launch, is arguably just as important as everything that happened before. So, it is imperative that you seek out a development partner that you're confident will be around to support your software long after it's being delivered and who can offer a solid plan for keeping it secure, reliable and capable.

Support beyond launch

After the trials, tribulations and tears of the development and delivery process, the support work really begins. Once your software is live and being used by it's intended user base, particularly in the early days, there are likely to be unexpected issues and bugs that need attention. Your development partner will be well aware of this and should be on standby to investigate, diagnose and fix said issues promptly. It is also a good idea - certainly for a period of time - to have them proactively monitor performance so they can pick up on issues before they start causing problems.

Make sure there is a clear process for reporting issues and that your development partner can tell you how quickly they will be picked up.

Ongoing maintenance

Equally as important, maintenance should be undertaken at regular, consistent intervals to keep your software in tip top shape. Maintenance might include:

You can decide on a structured maintenance agreement where you might have your development partner set aside time every month to undertake these activities or you might choose a more ad-hoc approach where you engage your development partner when there are specific tasks that must be carried out within a specific timeframe.

Scaling without the spaghetti

Perhaps your a startup with a SaaS platform, starting out with 100 users at launch and growing to thousands a few months down line. Maybe you're a recruitment startup with a bespoke system managing candidate applications, vacancies and client relationships and your team quickly grows from five people to fifty. Or perhaps you're running an ecommerce business and have built an internal system to manage orders, stock and fulfilment which suddenly needs to process ten times the volume you were initially dealing with. Whatever your scenario, if your startup is successful and you start to achieve growth, your software needs to be able to adapt.

The number of users, transactions, records and integrations your software must contend with can increase incredibly quickly - especially within startup environments and you realllly don't want it to start crumbling under the pressure. 

So what can you do aside from purchasing a crystal ball and trying to see into the future?

Well, between you and your development team, you should:

Discuss (and document) any future growth plans or ambitions no matter how unachievable they may seem. This is key to ensuring your developers choose sustainable technology for your software.

Ensure thought is given to the hosting, database, storage and other key infrastructure from a present and future perspective.

Ensure flexibility is front and center of your software, this will allow you to adapt without everything becoming a tangled mess of spaghetti.

Continuously review your user base, records and data trends to ensure both your and your development team have an idea of how the numbers will look over different time periods.

Look ahead, always.

Failing to plan is planning to fail. Cliche? Absolutely. Relevant? Definitely. Wherever possible, you should be anticipating what might happen in the future. Things such as:

An uptick in users: Sure, you're probably not going to have thousands of customers or staff on day one but is that what you'd like to have in the future? Are you going to run your startup in a way that tries to reach those sort of growth numbers? If so, make it known. Unplanned for user increases can be catastrophic for unprepared software.

More data: This one doesn't take much imagination and will be a reality for pretty much all startups. The longer you exist, the more data you generate - it really is that simple. Your development team should have a good idea about the best sort of database and storage requirements you need both now and in the future.

New functionality: Did you take the MVP route and start only with the most crucial element of your software? Do you have big plans to introduce new departments, services or third party offerings after a year or two? Great. Make sure your development team are aware of this - no matter how loose the plans are - so they can choose the right technology and architecture that will allow new features, integrations and modules to be added with ease.

Hopefully you get the gist now that whilst you are never going to know for sure what the future holds for your startup, any early ideas or ambitions you do have should shared with your development partner and in turn, they should make their technical decisions with these things in mind. The last thing you want is to have to rewrite, re platform or otherwise make big changes to your software to accommodate events that were foreseeable.

ROI & measuring business impact

ROI is probably going to be front and centre of your mind when considering your options for a bespoke development partner and if it isn't, it certainly is for your investors. For a decent partner, that won't be a problem - they'll be thinking about how you can best achieve a quick and significant return on your investment as early as you are. 

But how do you actually track ROI on your software development project? The answer is, that depends entirely on what the software is intended to do. Let's take a look at some examples:

The customer facing platform

If you're a tech focused startup and your software is part (or all) of your service offering, you're going to be looking at metric such as conversions, acquisition and revenue/profit.

The internal machine

If you're a startup that needs their software for internal purposes - an ERP system for a manufacturing startup for example - your metrics will be more focused on time efficiencies, costs saved and improved productivity.

The automation opportunity

Maybe you're slightly past the 'startup' phase but not yet into 'scale up' territory and you've identified some automation opportunities that will make your operations much slicker. In this scenario, you can track your ROI through metrics such as hours saved, staff costs, less admin time and less mistakes.

The marketplace

At a glance, a marketplace is technically just another customer facing platform and most of the same metrics - conversions/revenue/acquisitions - apply. However, there's more to it than that in these transactional environments so you should also be measuring new users, repeat transactions and customer acquisition cost.

Measuring ROI in action

Independent Locker Solutions - ROI measured in the form of £30,000 annual cost savings following a full system rebuild.

To finish

So there you have it. Finding the right software development partner for your startup is not quite as simple as Googling 'the best and most honest software developers near me' and picking the first result. Do your homework. Ask the awkward questions. Dig into portfolios. Question suspiciously attractive quotes. Find out who is going to be writing your code and make sure they are just as interested in where your startup is going as they are in what you need them for today. 

You may well need to kiss a few proverbial frogs along the way but that unpleasantness will be worth it when you have a development team that understands your business, challenges your ideas as necessary, celebrates your wins and doesn't scuttle off into the abyss when the 'git' hits the fan.

And well, if that sounds like exactly the sort of development company you're looking for...it's your lucky day. We might just know some people...

Prefer to Call or Email Us?

If you dont like filling in these forms, or you would prefer to speak on the phone or via email then please use one of the below:

0115 772 2751
[email protected]

Follow us on Social Media

Follow us on Twitter, Facebook or LinkedIn to be kept up-to-date with Cool Code Company news and goings-on, or just to have a conversation with us.