Our Code Quality Process

Revelry is the best in the business, and we write quality code.

How do we ship quality software?

Here's a straight-up documentation of our process.

Benefits

A code quality process is important, because:

  • It lowers long term costs by making software that is reliable, extendable, and maintainable.
  • It reduces frustrating bugs and design problems.
  • It manages risk of customer dissatisfaction, data loss, security incidents, and scaling problems.

Features

And our process includes these elements, and more:

  • In-depth knowledge of your business
  • Top-notch people
  • Automated testing
  • Continuous integration and deployment
  • Continuous static analysis
  • Code reviews
  • Quality assurance experts
  • User acceptance testing
  • Continuous monitoring

Our philosophy is pragmatism

Our code quality process exists to deliver better results for your business, faster. We don’t believe in “best practices for the sake of best practices.”

We practice pragmatic, sustainable development. We develop carefully enough to reduce your business’s risk, and not so carefully that it gets in the way of shipping great software early and often.

Our secret weapon: you

Our code quality process begins and ends with you. We work with you to define your product. We build it. You sign off on each feature as it gets completed.

hiring software developers

Our other secret weapon: our team

You can’t ship quality code without quality coders. Our team is made up of smart people with lots of experience in many fields. We have developers who have built software for air logistics, at top-ten banks, with major travel brands, and on some of the biggest e-commerce platforms in the world– among other things. And when we hire them, we spend three months teaching them The Revelry Way.

Techniques

Here’s more nitty-gritty detail on the techniques we use.

Pair programming

Our programmers spend part of their time working together on the same problem.

Research has shown that this leads to 15% fewer defects and an overall lower cost of development.

Automated tests

As we develop software, we develop a set of automated tests that run each time we change the code. This ensures that the system is functioning correctly and that new features don’t break old ones.

We follow a pragmatic approach to testing, and we don’t write tests that won’t increase quality. We evaluate risk and find the testing solution that gives you the best balance of cost and risk.

Static analysis by Lintron

Every piece of code is “statically analyzed” to find the kinds of errors that people easily miss. This means we have a computer program review our code to find errors and issues that will make the code hard to maintain in the future. We correct these issues before they become problems.

Code Reviews

Every addition or change we make to your software gets reviewed by at least one additional developer. Think of it as proofreading for code.

The code reviewer finds problems that the first developer missed. They can also find issues that static analysis can’t find– like errors in business logic or design problems. Research has shown that code reviews can reduce errors by 20%.

QA

Our QA team is really good at finding problems that developers and designers miss, before they get to you or your customer.

They also make sure the software works across different platforms and browsers. And they double check that the software meets your specifications.

User Acceptance Testing

You! You give the “final” sign off on every feature. Does our solution solve your business problem, or do we need to keep building?

Monitoring

We monitor all our apps in production for errors and performance problems.

This monitoring ensures that we know about any customer issues immediately.

It also gives us valuable insight into what we need to refine as we keep developing the software.

One more thing: it’s a cycle

Code quality isn’t a task we do once. It is part of every day of development.

We Leave the Software Better Than We Found It.

Some companies build without quality and then want to drop everything to spend weeks to “fix” quality later. We believe in always leaving the software better than we found it and never slowing down your business.

Other companies believe they can build perfect software before your launch deadline. We believe that you can’t build perfect software without customer feedback, so no system can be perfect until it ships.