---
title: "Ruby on Rails Quality Audits"
description: "We review the codebase, tests, dependencies and delivery process of your Ruby on Rails application and give you a clear, prioritized picture of its health."
url: "https://qameta.com/ruby-on-rails-quality-audits/"
---

# Ruby on Rails Quality Audits

Sooner or later every company with a Rails application asks the same
question: how good is our code, really? Maybe a new CTO has just joined, the
original developers have left, an agency is handing the project over, or you
are about to invest in a product and want to know what you are buying. A
quality audit gives you an independent answer.

## When an audit makes sense

* Taking over an application from an agency or a previous team
* Before a larger investment, acquisition or rewrite decision
* When features take longer and longer and nobody can say exactly why
* When bugs keep coming back after they were fixed
* Before planning an [upgrade](https://qameta.com/ruby-on-rails-upgrades/) or a larger migration

## What we look at

**Codebase**

* Overall structure and how closely it follows Rails conventions
* Complexity hotspots: the files that are both complicated and changed often
* Duplicated logic, dead code and [unused routes](https://qameta.com/posts/identify-unused-routes-in-ruby-on-rails/)
* Consistency of style, enforced by RuboCop or not at all

**Tests**

* Coverage of the parts of the application that matter most to the business
* Speed and reliability of the test suite, including flaky tests
* Whether tests check behaviour or just mirror the implementation - see our
  approach to [Test Driven Development](https://qameta.com/test-driven-development/)

**Dependencies and versions**

* Ruby, Rails and gem versions, and how far they are from supported releases
* Abandoned gems and gems that block future upgrades
* Known vulnerabilities - a deeper look is part of our
  [security audits](https://qameta.com/security-audits-iso-27001/)

**Data and performance**

* Database schema, constraints and data integrity
* Obvious performance risks such as N+1 queries and missing indices - for a
  deeper look, see [performance analysis](https://qameta.com/ruby-on-rails-performance-analysis/)
  and [database optimization](https://qameta.com/database-optimization/)

**Delivery process**

* [Continuous Integration](https://qameta.com/continuous-integration/) and
  [Continuous Delivery](https://qameta.com/continuous-delivery/) setup
* Code review practice, branching and release process
* How long it takes a new developer to get the application running

## What you get

* A written report with an overall assessment and findings ranked by risk and
  effort
* A prioritized list of recommendations - quick wins first, larger
  refactorings with a rough estimate
* A debrief call with your team to walk through the results and answer
  questions

## Summary

A quality audit turns "the code feels messy" into a concrete list of what to
fix, in which order, and what it will take. We know Rails applications of every
age, from fresh projects to long-running legacy code, and we tell you honestly
where yours stands. If you want help working through the results, our
[maintenance retainer](https://qameta.com/ruby-on-rails-maintenance-retainer/) is the natural next
step.

Want an independent view of your Rails codebase? [Get in touch](mailto:info@qameta.com).
