What actually indicates quality in custom software development and how can you be sure you’re getting it? Handing over your time, money and ideas to a software developer can be an intimidating process. When you’re otherwise unsure of what makes a certain developer better than another, you might be tempted to let cost alone steer your decision.
Handing over your time, money and ideas to a software developer can be an intimidating process. When you’re otherwise unsure of what makes a certain developer better than another, you might be tempted to let cost alone steer your decision - as the saying goes, “you get what you pay for.” Although this rings true in nearly every industry, in the realm of software development, it isn’t always the case. Rather than just assume that quality will always come with a higher price tag, there are a few probing questions that you can ask your potential development partner that will help predict what level of quality they’ll be able to deliver.
Firstly, find out if the company consists of a sole proprietor or a software development shop. A sole proprietor will often be a full stack developer, which is like the handyman of software development. He can tap the surface of a lot of things. If your project requires very little specialization and you’re on a tighter budget, a single full stack developer may very well be the right choice for you. Further, you may consider evaluating the differences between onshore and offshore options. On the other hand, if your project requires more specialized tasks, such as integrating with hardware via an Arduino board, you will be in much better hands with a specialist. Specialists are often a part of a team, and the most efficient development teams are made up of a variety of them so as to provide deep knowledge and skill over a wide range of requirements. Teams are more likely to have past experience with and/or be able to figure out anything you throw at them. Another benefit to teaming with a shop is that the extra sets of eyes on your project provide checks and balances, minimizing risk to you. Code errors that aren’t caught before launch can have very costly repercussions later on when you try to expand upon your application. If your budget allows, partnering with a shop makes those uncaught bugs less likely. Overhead will increase as the number of people working on your project increases, but you may be able to cut costs by opting for an offshore development team.
Whether you end up choosing a sole proprietor or a software development shop, another important question to ask is what the QA process looks like. A quality developer will say that their testing process aligns with the user stories produced in the requirements gathering process. They are objective and testable and ensure that the application functions the way that their client (you) imagined. Also, make sure they do regression testing throughout development. Unit testing, automated-only, and developer-only testing are red flags and point to a lack of comprehensiveness. A bug caught during the development process is much less costly than a bug caught in the final stages of release, so frequent, thorough testing of the entire product is a must. If proper testing hasn’t been done, the poor quality will reveal itself sometime after the project is finished, often when you’re ready for the next phase. If your project isn’t under warranty, this could result in you having to spend even more money to fix the problem.
Another set of questions that can help assess your potential partner’s ability to deliver quality are what percent of their projects are completed on time and within budget, and how many projects they’re currently working on. Staying on time and on budget can be a good indicator of quality because it indicates thoughtful planning with little to no refactoring needed. When it comes to work load, if developers are working on more than two projects simultaneously, their attention to yours will be less than optimal. This may also indicate that they’re overbooked or running behind schedule.
Finally, company culture is a strong indicator of the type of quality a software developer can deliver. A suggestion is to ask what their turnover rate is. Teams with low turnover rates retain the experience gained from previous projects. You could also ask about the amount of overtime they allow. It’s no surprise that errors increase among overworked employees. Do your research by checking out employee reviews on Glassdoor. It’s a fact that happy employees do better work. Also, find a company that is honest about whether they feel like they’re a good fit for your application. Ask them about a time they’ve had to turn down a project. If they can’t site one, they may be taking on anything and everything that comes their way even if they aren’t necessarily equipped to tackle every type of project.
In short, there are many indicators of the type of quality your potential software development partners can deliver. Digging deeper to uncover the true capabilities of the developer will result in a higher quality product that can be more cost effective in the long run.