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

How much does custom eCommerce cost?

A custom eCommerce store could cost anywhere from $12,000/year to millions. Variable factors include the amount of custom features, the complexity of design, setup investments, training, and maintenance. Check out how to determine the cost of a custom eCommerce store.

Learn More about How much does custom eCommerce cost?
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 web design and development?
People often lump web design and development together, so what's the difference? As the Internet has evolved, the skills required to produce a high quality website or web application have changed.
Learn More about What is web design and development?
What is JavaScript used for in web development?
Historically speaking, JavaScript was only commonly but sparingly used in web development. The multiple browsers in use at the time each supported different versions of JavaScript and were slow to render more complex Javascript.
Learn More about What is JavaScript used for in web development?
What is React web development?
React is a popular JavaScript library. It is primarily used for building interactive user interfaces (UI).
Learn More about What is React web development?