Workshop tickets on sale now: Leading engineering teams for new managers (crash course)

Blackmill logo

Code audit for Rails applictions

As Rails applications grow over time to provide more features, they often also grow in complexity. Even with the best intentions for high standards and code quality applications evolve and may face challenges around timely delivery, reduced velocity, development processes, and performance. Most applications accumulate technical debt over time.

Research has established that quality software results in more profit, and prevents significant financial losses. Keeping your codebase healthy allows you to quickly respond to new business trends, verify product assumptions, and meet new business needs.

So, what is a code audit?

A code audit is a high level examination of your application's architecture, structure, security, stability, and maintainability for the future performed by a third party (us). It involves a deep analysis of the codebase, database structure, and application infrastructure in order to understand the complexity of the code, define its stability, and discover potential security weaknesses.

When and why?

There are different reasons why you might need to perform a software code audit. Here are the most common cases when you should perform a code audit.

  1. Application was custom written by previous developers, and you are trying to understand the state of the codebase
  2. Development on the application has slowed down dramatically. Features take too long to develop, or you get intermittent failures.
  3. Deploys are infrequent because of lack of confidence in the application's stability.
  4. Application is behind on Rails upgrades
  5. Application has not been touched for a while
  6. The developers say it is time to rewrite the app from scratch, because it is too complex and has too much technical debt
  7. You are raising funds, and your investors or stakeholders ask for a proof of application stability
  8. You have doubts about your application's stability as it scales
  9. You have had a security breach and are concerned about risk management

You should also periodically review any project, and evaluate the quality of the application codebase.

What's your process?

Step 1: We meet with you at the start to learn about you, the application, and the story behind the codebase.

Step 2: We analyse and review your codebase to help you understand its current state, scope of technical debt, and any potential process bottlenecks. We look for code architecture design flaws, test coverage, code churn and complexity, potential vulnerabilities, god objects that should be broken down into smaller objects, and other Rails anti-patterns.

Step 3: We provide a written report of our findings, which includes an overview of the current state of the software and any pitfalls found, detailed recommendations for improvements around Ruby and Rails best practices, suggestions on how to move forward, with actionable advice to address issues in a priority order. Lastly we meet again to present and go over the report together.

As a follow-up, we can work with your team to fix current concerns, and put practices into place to ensure improvements in regards to better architecture, scalability, and performance are adopted.

A code audit can help you check the current state of your project. With this thorough analysis, you can verify that your project is running smoothly or have a plan to address any issues, so that you can empower your team to proceed with clarity and confidence.

A code audit takes a week, and costs $3800 ex GST.
We ask for 50% upfront and the remainder to be paid within a week.

Receive monthly updates

Our Australian residents live on, and benefit from, the colonised lands of the Boon Wurrung, the Wurundjeri, and the Darkinjung. We acknowledge the Traditional Owners and Custodians of these lands and recognise their enduring connection to land, waters, and culture. We pay our respects to their elders, past and present.

We are grateful we share this land today. We hold sorrow for the costs of that sharing, and we hope for a reconciliation to bring us to a state of equity, justice, and partnership together.