Skip to content
Article

You Get What You Pay For: Measuring Software Quality

Measuring Quality Software

“You get what you pay for” is a phrase that applies to many parts of life, and software development is no exception. However, much of what goes into software development is a bit of a mystery to the layman, and understandably so. 

It took me four years of education to gain a cursory understanding and many more years of hands-on experience to gain real knowledge of software development. So if you aren’t a technical expert and you’re paying for software development services, how can you truly evaluate quality? 

The difference often lies in four areas: change management, planning and review, automation, and testing. 

Simply put, companies that get these right produce higher quality software than those that don’t. These key elements drive efficiency, building software with fewer errors while creating a structure that facilitates future development

Change Management

Source Control

We store code in a source control repository, meaning every change we make is tracked and saved. Furthermore, multiple developers can work on a project at once without fear of overwriting each other’s changes. 

We also practice Infrastructure as Code. This means that hosting environments are scripted as code and stored in the repository, ensuring that infrastructure can be stood up in a repeatable manner. The benefits include simplified maintenance, testing, and disaster recovery.

Versioned Releases

Every deployment is planned and versioned so that we know the exact state of our software and when it got there. Being able to reference past work enables us to add new features quickly and easily.

Planning & Review

Feature Specifications

Every feature is planned using a consistent format. We outline the feature’s business objective, document our assumptions and questions, outline dependencies, formulate a work plan, and determine how to test if it’s working correctly. We prefer to measure twice, cut once.

Code Reviews

Every line of code that’s written is reviewed by another developer. Nothing is released without peer review and approval.

Automation

Continuous Integration

Code from all developers is run through software that compiles or parses the code, triggers the automated tests, and reports back on coding style and complexity. This happens daily (sometimes several times a day) and allows us to detect problems early – before code is deployed.

Automated Deployments

We remove the human element of error by automating our deployments. Continuous Integration Servers run in parallel with deployment tools to ensure that our clients’ code reaches the intended servers efficiently and consistently.

Testing

Automated Tests

Every project is shipped with automated tests in place to ensure performance, accessibility, and predictable functionality. We use unit tests, integration tests, visual regression tests, accessibility tests, and load tests to ensure that the software we build behaves exactly as it should.

Acceptance Criteria

Acceptance criteria define the technical requirements of development work, and we write our acceptance criteria in Gherkin. This provides the perfect blend of human readability with technical specificity, and can also be used with automated testing.

Quality Assurance

We still test the good old fashioned way too. Every feature is tested against its acceptance criteria by a Quality Assurance Engineer. Before a feature is released, we ensure that the user experience is precisely as we intended it to be.

Spend Your Money Wisely

Through effective change management, planning and review, automation, and testing, we produce top quality software for our clients. 

If you’re already working with a software development partner, ask if they’re doing these things for your project. If they aren’t, then you’re likely getting less than you deserve. Contact us today for a free consultation, and we can discuss applying these best practices for your next software development project.

The Atlantic BT Manifesto

The Ultimate Guide To Planning A Complex Web Project

Insights

Atlantic BT's Insights

We’re sharing the latest concepts in tech, design, and software development. Learn more about our findings.

Questions & Answers

What is the best web development framework?
Many people commonly ask “what is a framework in web development?” Web development frameworks can easily be confused with web development tools, languages, or parts of the web development stack (like .NET, PHP, JavaScript, or Ruby).
Learn More about What is the best web development framework?
What is the best programming language for web development?
If there was one “best” programming language, then everything else would be obsolete. The reality is that there are so many different programming languages because there is no “best” language for any situation.
Learn More about What is the best programming language for web development?
How much does web development cost?
Web development can vary from a few hundred to millions of dollars depending on what is needed. You may simply need some changes to something that already exists, or you'd like to build a large or complex application.
Learn More about How much does web development cost?
What is the best way to become a web developer?
We get lots of questions from university students working on projects -- How do I get into web development? How long does it take to learn? How much do web developers make?
Learn More about What is the best way to become a web developer?
What is front end vs. back end development?
As web development evolved, it separated into logical specialization: front end web development and back end development. While back end development involves the server-side development, front end is the final rendering.
Learn More about What is front end vs. back end development?
What is full stack web development?
Full stack web development as a term evolved due to the separation of roles between front end and back end developers. A “full stack” developer is a developer that can work in both front end and back end technologies.
Learn More about What is full stack web development?
How can I improve the performance of my application?
There are several primary reasons that applications perform poorly, and in some cases it’s a combination of several. 1) Data latency: If your application is making calls to a data source (whether it’s an API or a direct call) and there is latency at the data provider, your application performance will suffer.
Learn More about How can I improve the performance of my application?