Custom Software Development Companies for Startups: How to Make it Work

Paolo Dotta
Altar.io
Published in
14 min readJun 22, 2021

Finding the right technical stakeholder to help you build your startup is hard.

You’ve probably already heard, and read, lots of opinions on “the only way” to go about it.

Whether those opinions are from investors, advisors, friends, family, or a famous entrepreneur you look up to.

Some will tell you that “investors invest in teams” so you must get a technical co-founder and build in-house.

Others will tell you you’ll never be able to attract a decent tech cofounder with an idea on a napkin, and that the smart move would be to work with an agency to build an MVP, get some traction, and then look for the perfect cofounder to onboard.

And that’s before you get to the actual process itself.

I know it because I’ve lived through it more than once. My co-founder Daniel also knows a thing or two about it. He built seven startups as a non-tech founder before we founded Altar.

And we’re not alone.

The story I usually come back to when advising entrepreneurs on this topic is from a UK based entrepreneur I worked with recently, Dudley Gould.

He’s the Founder of Audapio, a platform that uses open banking to provide auditors with real-time bank statements securely.

“Like many non-technical entrepreneurs, he had the idea and business vision for his startup. What he didn’t have was the technical expertise to build it.”

So he did what most entrepreneurs do. He looked for a technical co-founder to help him turn his vision into a reality:

I went to meetups. Reached out to friends and friends of friends. Reached out to ex-colleagues. Joined online groups.

You name it, I tried it.

The days quickly turned into weeks. The weeks started going by quicker and quicker and I felt like I was going nowhere.

With his time-to-market getting longer, and his budget getting smaller, he decided to change tactics.

He included custom software development companies in his search.

After multiple conversations with 15 agencies, he chose one and set out to build his product.

Fast forward to today, and Audapio has recently been acquired by accounting platform Circit. As for Dudley? He’s their new VP of Business Development.

Happy ending aside, this is a story we’re seeing happen over and over again.

So I decided to create a guide to help you navigate the entrepreneur-development agency relationship.

From where to begin your search, the key skills to look out for, right through to navigating the all-important agreement.

What to Look for in a Custom Software Development Company

1. Tech Experience & Expertise

You need to work with a custom software development company that is experienced and has expertise in the right tech for your startup.

The first step is to look at their experience in UX/UI & code/architecture.

Experience

You can easily validate their UX/UI design by looking into their portfolio.

For code and architecture, I recommend looking at the company’s Git Repository. If you don’t feel 100% comfortable in undertaking this yourself, you should ask an expert. For example, an unbiased tech professional who’s exempt from your search.

On top of this, you need to ensure they have experience in the right language for you.

Expertise — Do They Speak the Right Language?

Building your product in the wrong tech stack and development language can cause long term headaches for your startup. Specifically when scaling or iterating your product.

Therefore choosing the right technology becomes a critical business decision — and you need to be part of the conversation.

If you aren’t familiar with the basics of tech you can check out this crash course. It will give you everything you need to talk to tech stakeholders about your product.

Even if you already know the tech basics, I highly recommend talking to an unbiased technical expert for their advice. I would also look at products similar to the one you intend to build. This will give you a better picture of what languages you should be using.

Once you have an idea of what technology you should be using, target agencies that have expertise and experience in that specific technology.

More than this, beware of “generalists”.

Companies that tell you that they “can code in all stacks and technologies!” are actually not specialists in any technology.

You want to work with a custom software development company that has mastered one or two technologies/stacks. For example, a company that specialises only in Javascript frameworks.

2. Compatible Pricing

There’s nothing that can harm your business more than having champagne tastes on beer money.

You must find a custom software development company that can deliver your project within your budget.

That being said, don’t go for the cheapest service provider on the market. At Altar.io we’ve worked with several entrepreneurs who learnt about this the hard way.

They chose the cheapest provider, waited six months for the delivery of their product, only to find that the product is unusable.

They inevitably end up having to trash the entire codebase and start again.

This is because the cheapest service providers don’t follow the industry standards when it comes to code quality and documentation. So it is unreadable by any other stakeholder.

So invest your money wisely at this stage, just don’t choose a company that will bankrupt you before you can launch.

And while I can’t tell you exactly how much you should be spending on custom software development, this pricing simulator may help give you a rough idea.

Related: How A Software Development Company Can Be Your Startup’s Best Friend

3. Flexibility

Custom software development is a creative process. And like most creative processes there needs to be flexibility.

In short, your development needs will change throughout the process of building your business. Therefore you need a flexible development company.

Partner with a development company that works in sprints and deliverables. This kind of project-based working relationship will allow you to only spend time and money on development when you need it. Reducing costs and allowing stay agile.

4. A Lean Approach

There are no two ways about it, you want to find a custom software development company that follows the Lean approach.

Lean methodology is all about maximum customer value with the minimum resources possible. If you’re talking to a development company that is talking about cutting unnecessary features or reducing the scope you know they have your best interests at heart.

Fewer features = faster development time = a smaller budget needed, which is contrary to the dev company’s financial goals.

On the other side of the coin, a company that continually insists that you need more features might be just after the money in your wallet.

So, as you talk to potential custom software development companies, it’s worth asking them what features they think are absolutely necessary.

5. Passion & Commitment

A good custom software development company should be passionate about the work they do.

This may sound obvious but it’s an extremely important point. They need to not only understand your idea and business vision, but they also need to be excited by it.

An agency that is passionate about your product is committed. If they’re not committed then they’ll do the minimum work possible — which will leave you with a sub-par product.

One of the best ways to discover if a dev company is passionate and committed is to take note if they say yes to everything.

To be blunt, if they say yes to everything, they just want to get your project done and cash your check.

However, if they challenge your ideas and share their expertise with you it shows that they care. It shows they want to build the best products possible and be part of your startup’s journey.

But, most importantly for you, it will improve your product. After all, if you’re working with a reputable dev company they will have years of custom software development experience under their belt. Hearing out their ideas is only going to help you — even if it’s not the direction you end up going.

6. Clear, Structured Roadmap

There are no two ways about it, custom software development is a complex process.

Without a clear, structured roadmap in place, deliverables can get lost by the wayside quickly and before you know it you’re behind schedule and over budget.

Therefore you need to work with a dev company that can provide a clear idea of what your custom software development process will entail before it begins.

7. Transparency & Communication

As important as a structured roadmap is, it’s worthless if the development company you’re working with doesn’t communicate with you.

As I mentioned earlier, custom software development is a creative process and things can change. You need to partner with an agency that is transparent and communicates regularly with you.

I recommend outlining this from day one and agree with them on how you will communicate (email, Slack, etc.) And the frequency of that communication (once per week for example).

This will ensure your roadmap stays streamlined and your product is delivered on time and on budget.

8. Open to Testing the Waters

Finally, you should look for a custom software development that is open to a trial period.

It’s important to do this before bringing them on for the full project as it allows you to see if they really have the traits listed above.

To test the waters, ask them for a simple deliverable within a feasible timeframe. Something like a feature, or a small set of features, would be a good example. Again, if you’re unsure what to ask for I would recommend talking to a technical expert who’s exempt from your search.

Doing this not only allows you to verify the traits listed above but will also tell you if they will respect deadlines in the future.

Where to Find a Custom Software Development Company

There are several places to look for a custom software development company.

And if you’re reading this article you’ve probably explored a few already.

Firstly, I would recommend asking fellow entrepreneurs if they’ve worked with an agency that they would recommend. Then, if that bears no fruit look for online communities of like-minded entrepreneurs.

Another way to find them is using directories such as Clutch.co or Techreviewer to compare potential agencies.

Directories like these provide great information on what the company focuses on. It also provides you with reviews from entrepreneurs who have used the agency before.

Another quick way to find Custom Software Development Companies is to search on LinkedIn. Simply add the “companies” filter and hit search.

The bonus of using LinkedIn to search is you can easily add filters such as “location” and “company size” to refine your search.

Finally, you can attend events that are also attended by custom software development companies, such as Websummit here in Lisbon.

The Custom Software Development Contract

Once you’ve found a suitable custom software development company, it’s time to put everything in writing.

Before I delve into the key points to look for within the contract, I want to first outline the common contract types used by custom software development companies.

Related: What Every Entrepreneur Should Know About Startup Lawyers [Expert Interview]

Types of Custom Software Development Contract

1. Time & Materials

This is the most common agreement type used by custom software development companies.

This agreement states that you’ll pay your partner for the time they spend on the project at an hourly rate.

This approach carries with it the inherent risk of paying more if the project takes longer than expected. That’s why it’s so important to work with a partner that has a clear roadmap and follows lean methodologies (as outlined in the previous section).

2. Fixed Bid

This agreement outlines a fixed price for a fixed scope.

It’s important to note here that once you sign on the dotted line everything is set in stone. The price and the scope.

Meaning if you decide to add or change your scope in any way the service provider can refuse. This time of contract is more commonly used by freelance platforms and is better suited to smaller tasks.

That being said, you can use this kind of contract when testing the waters with a custom software development company.

3. Fixed Budget

The fixed budget contract is similar to a fixed bid with a few key differences. Here the budget is agreed upon beforehand, however, the scope can change as development progresses.

The idea being is that the dev agency will do as much as possible within the agreed budget.

Although this may sound tempting when money is tight, I would avoid this contract when building your product (even at the MVP stage).

Simply put, I can’t recommend you allow another stakeholder to decide which features should be prioritised. This is a very good way to lose control of your product development and can risk the success of your startup.

Key Clauses of a Custom Software Development Contract

Now we’ve looked at the types of contacts you’re likely to come across, I want to go over the key clauses you should be looking out for.

1. Services Provided

This section of the contract should outline clearly the scope of the project to be delivered. More than this it should describe the process for making changes to that scope.

You should include a statement outlining that any changes proposed by either party must be made in writing. Furthermore, that statement should include both a description of the change and the impact it has on the project roadmap & cost.

2. Project Roadmap & Budget

This section stipulates the time and budget required to complete the project. It should outline the:

  • Type of contract (Time & Materials, Fixed Budget, etc.)
  • Fixed/hourly rates (dependant on the type of contract)
  • Development phases
  • Milestones and their deadlines.

In this section, you should also refer to any annexes that refer to payment schedules and development blueprints.

It’s also important to outline what happens if the project is delayed by either party. If there are ramifications on either side for delays, you need to know about them before you sign on the dotted line.

3. Acceptance Testing

Acceptance testing is the process of determining whether or not the project specifications or milestone(s) have been met.

This usually happens at the end of each development phase.

The contract should state who is responsible for the testing and the length of the testing phase. The contract should also stipulate how the test results are communicated with the other party (the best way is to notify in writing).

4. Intellectual Property (IP) Rights

This is a critical section of your contract. This section states who owns the software developed as part of a project. Specifically, you need to keep an eye on the following provisions:

  • The software needs to belong to your company (or be leased to forever, without a fee)
  • In the event of contract termination, you immediately own anything that’s been completed
  • Any materials created during the project (such as product scopes, wireframes, etc.) are to be destroyed

It’s important to note here that the custom software development company can only assign rights to IP they own. Any open-source tools used in your project will remain public.

5. Confidentiality

Use this section to specify which information is considered confidential. This section should also stipulate the ramifications for its disclosure without permission.

In the majority of custom software development contracts, confidentiality survives the agreement itself. In other words, confidentiality should be maintained even in the event of contract completion/termination.

Don’t Hesitate to Lawyer Up

Navigating a custom software development contract can be a daunting process. Especially if you don’t have previous experience doing it.

Whether you’re experienced or not, I highly recommend showing the agreement to a startup lawyer before you sign anything.

With the excitement of building a new startup, this may not be high up on your to-do list. However, it should be, because in the worst-case scenario a legal problem can risk you losing your company entirely. Especially in terms of intellectual property and confidentiality.

Wrapping Up

As I stated at the beginning of the article, finding the right technical stakeholder to help you build your startup is a difficult process.

If you decide to build your startup with a custom software development company, remember to look for a partner that:

  • Uses the right technical frameworks for your startup and a wealth of experience in those frameworks
  • Is compatible with your startup in terms of pricing
  • Is flexible enough that they can adapt to the needs of your product as you grow
  • Follows a lean approach to minimise the time to market
  • Is passionate and committed to your project, and happy to give you their advice and feedback
  • Develops a clear structured roadmap for your project
  • Is communicative and gives you regular updates on your project’s milestones
  • Is open to testing the waters with a trial project before signing you up for the full development process.

Finally, when you think you’ve found the right company for the job, make sure you do your due diligence — especially when it comes to legally binding contracts.

Before signing anything read all contracts thoroughly and get a lawyer to double-check the fine print with you.

For more questions on custom software development, check out the section below. Alternatively, you can reach out and ask me directly — I’d love to hear from you.

Thanks for reading.

Custom Software Development Frequently Asked Questions

What Is Custom Software Development?

Custom software development is the process of creating bespoke software for a specific set of users or organisation.

The opposite of custom software development is commercial off-the-shelf software (COTS). Two examples of COTS would be Microsoft Office or Adobe Photoshop. They’re software products that fit the general-purpose needs of a large range of users.

Custom Software Development, however, is designed to solve specific problems. Examples of this would be:

Custom software development is commonly built by an in-house team. However, large corporations and startups often outsource their development.

This allows them to reduce the time to market and costs whilst maintaining a high standard of development.

What Are The Benefits of Custom Software Development?

There are several advantages to custom software development, here is a shortlist of a few:

Scalability & Flexibility

Bespoke software solutions can adapt as your business grows. This is especially beneficial to startups validating their product with an MVP or proof of concept.

If the business needs to pivot or begins to grow exponentially, it’s easy for the software to pivot or grow with it.

Clear Processes

Every company has their model and set of processes. Attempting to adapt off-the-shelf software for those processes can be difficult.

However, when developing custom software, you and your company can shape the software to fit your business processes and needs.

Custom Software Belongs to You… Forever

It’s important to remember that when you’re using off-the-shelf software, the product doesn’t belong to you.

Instead, you’re most like paying a monthly license fee to use that product. If that product changes in any way (features, rules, pricing etc.) or even worse fails, you could be left in the wilderness without a compass.

Custom software, conversely, belongs to your company. You don’t need to worry about license fees or losing your software solution at a moments notice.

It Solves Your Specific Problem

Probably the most important reason to develop custom software is that it will address your users’ exact needs.

Off-the-shelf software may have some features that will be helpful to you. However, developing custom software allows you to pinpoint your users’ exact problem and surgically solve it.

And By The Way,

I’m the Co-Founder of Altar.io — a team of experienced second-time founders, product experts, and talented developers based in Lisbon. We help startups and corporates build great tech products.

If you have a brilliant idea that you want to bring to life — drop us a few lines and let’s chat.

Thanks for reading,
Paolo

--

--