Choosing a software development company to create a business management system

Business Management Systems Development

If you’ve read our other articles, you’ll have a good idea what a business management system is and whether your company would benefit from one. But how do you go about choosing a software development company to build one for you? In this article, we share what we think you should be looking for in a partner.

choosing a software development company

Size of the company

Size does matter – well, at least it does when it comes to finding a development company to work with. While a one-man band might have all of the skills required to build your application, they simply can’t guarantee to always be there. As soon as you pose “what happens if…” questions, it’ll become obvious that you need a team of people, not an individual. But how big should that team be? It needs to be big enough to provide you with touchpoints across your company and to have a variety of skills, but not so big that you’re merely just another account. 

In our experience, you’re always best to find a company that’s smaller than you are but big enough to have the skills and expertise you need. By choosing a smaller player you’ll be very important to them, which is only fair considering they’re building something so central to your business.

At Yammayap for example, at the time of writing, we have a core team of five people and find that equips us well to work with companies of between 20-50 employees. 

Reliable and resilient

The software developer you choose to work with needs to be reliable – they are after all building what will become the central brain of your business. You need to know that they’ll be there, not just tomorrow, but for years to come. What’s the best way to assess reliability? By looking at their track record.

Do they have years of trading under their belts and do they work with other successful companies you’ve come across? Perfect. What’s more, do you trust them and can you see yourself working with them for an extended period of time?  If the answer is yes to all of those questions then you’ve most likely found a reliable partner.

There is of course nothing inherently wrong with start-ups and we’re sure that they can be just as reliable as established companies, it’s just that a proven track record confirms it.

Longevity of staff

Another contributing indicator of reliability is the longevity of a company’s staff and its employee turnover. Regardless of the size of the business you choose to work with, this is a vital factor – the last thing you want is to be passed around as people come and go with the company and to have to repeatedly explain your processes. 

The longevity of staff isn’t just about continuity and building of long term relationships though, it can also demonstrate how well a team works together. Broadly speaking, the longer a team has been with each other the more efficient it should be. Processes, procedures and clear methods of communications will exist, meaning less time is wasted and the cost of the project is reduced.

Experienced in business

When it comes to building a bespoke company management system, a thorough understanding of business is just as important as technical skills. You’ll need a partner that can understand your company and its processes and can translate those into a piece of technology. Not only that, but a true partner should be able to challenge the status quo and add significant value to discussions. Why do you do things in a certain way? Have you thought about doing things differently? As we’ve mentioned in previous articles, building a central business management system is your opportunity to take a step back and assess whether you’re doing things in a logical way. If you’re not happy with how things are done, now is the time to change them. 

Agile in more than one sense of the word

Agile software development methods break work into small chunks or “sprints” which minimise the amount of up-front planning and design required. With regular testing and feedback, it allows for a piece of software to be built hand-in-hand with a client, who has constant visibility of progress being made. But agile means more than that – well to us anyway. 

When it comes to choosing a software development company, a quality we’d always recommend looking for is agility, not necessarily in their programming methodology, but more generally. Teaming up with a cumbersome, heavyweight company will invariably mean that you’ll get bogged down by standard processes in various situations. By choosing a company that is agile, you’ll know that you can throw things at them (figuratively speaking) and they’ll be able to react and cope. Changes in direction happen, especially in the course of a lengthy project, so make sure you choose a partner that’s flexible.

Who owns the code?

A vital consideration when choosing your developer is who owns the code at the end of the project. It’s not uncommon for developers to include clauses in terms and conditions which stipulate that they have ownership, even if you’ve paid for the software to be created.

We take a different approach, in that once all of your invoices are paid, we grant you a non-exclusive license to the software. This means that you’re free to use it as you see fit and it is yours, not ours – the only thing you can’t do is resell it.

Is local better?

Prior to the 2020 pandemic, we were insistent that being local to our customers was essential, as it gave us the ability to meet at short notice and get around a whiteboard to thrash things out. But, because of Covid-19, we needed to adapt and we’ve found that we can be almost as effective working remotely using tools like Zoom. We still think local is better, but we’re now a little more open-minded when it comes to working at a distance.

Avoid outsourcing

When you choose a company to build your new system, it’s important to know that they are indeed the people that will be building it. You’re going to be working incredibly closely with them, no doubt sharing a significant amount of confidential information, so knowing where the buck stops is critical. Software development is a global industry and it is all too common for parts of a project to be subcontracted to other countries to reduce costs. Ask your developer directly if they outsource.

Enterprise integrations and hosting

A business management system needs to be able to connect into the key systems that aren’t being replaced.  It’s likely that the system won’t supersede your accounts software or your email platform for example, so how will it work alongside them? Can it use your Office 365 or Gmail for secure authentication? How about merging live accounts data from Xero with information coming from the sales team? The best bespoke systems will not only supplant a variety of systems but it’ll also enhance those that remain. 

When it comes to hosting your application, really only the best will do. Look for enterprise grade hosting from world-class providers such as Amazon and Microsoft. The cost of hosting with these companies is affordable and you’ll definitely receive the highest levels of reliability and performance.

Choice of development framework – why open source is best

Perhaps not right at the top of the agenda, but still an important consideration is understanding the technologies your developer will be using to build the software. If for instance, they’re planning on using Microsoft SQL for the database alongside other paid-for technologies, you’re probably going  to run into additional costs which you’ll need to factor in. In our opinion, using open source resources are best, primarily because they’re free but also because they give the developer greater flexibility and control when compared with proprietary software.