The Benefits of a Healthy Rails Application

A healthy Rails application is an asset that will benefit your organization for years to come.

While an unhealthy one will be a weight you and your team will have to bear every day.

An Rails application’s health is important for a few reasons.

  1. Software can be an asset for your company.
  2. Investing in your software assets can improve their performance

Download this guide

You'll also receive my Daily Shopify Tips email. You can unsubscribe or withdraw your consent at any time.

Excerpt

Why application health is important

A Rails application’s health is important for a number of reasons.

1. Software can be an asset for your company.

Not in the platitude sense like "our people are our most valuable asset", but an actual asset: something that helps your business create more money. Something that your business can sell to someone else.

For some companies, their software can even be an asset that makes them unique and stand apart from their competitors. Think about FedEx’s routing software and how hard it must work to make their operations function day and night.

Or take something even simpler: my local coffee shop switched to using Square to process credit cards. They didn’t need a custom-programmed cash register anymore, and just used iPads with the Square card reader. It doesn’t seem like a huge deal until you compare it to another shop that still does everything manually. This manual shop has to enter prices manually: 50% of the time they charge different amounts for the same drink, or they forget to add an extra charge for a change. Even minor sums like $0.50 per transaction can add up over time with the volume of transactions done, and cost you dearly.

2. Investing in your software assets can improve their performance

When you have a working asset, you want to continue its cashflow for as long as possible. Very few assets can keep working forever though: many of them wear out and have ongoing costs, others become obsolete and have to be discontinued.

Software can be different.

Software’s ongoing costs can be extremely low based on what you get out of it. Once developed and in production, many Rails applications can continue working with a small operating budget for servers and a moderate budget for software maintenance.

Compare that to some machines that need millions spent on maintenance work each year just to continue working. That size of maintenance budget for a healthy software application is unnecessary.

3. Problem applications can cause negative ROI

On the other hand, if you don’t have a healthy Rails application, your costs are going to be much higher. An unhealthy software application can eat money faster than an unfed teenager at a buffet.

With software, you’re fighting two battles: one to improve the application, and one to repair the application from past decisions.

Making a healthy application from the start will need less repairing, and your investments can go towards improvements instead. An unhealthy one will need a lot of repair work – sometimes so much that it doesn’t move forward at all.

Healthy Rails applications

But what makes a healthy Rails application?

There are two overarching criteria to use to determine if an application is healthy or not.

  1. Is the team making forward progress?
  2. Are investments in the application paying off (positive ROI)?

Though this may sound simple, there is a surprising amount of depth to these two points.

1. Is the team making forward progress?

Forward progress means anything that makes the application better over time. While this is subjective, every application’s charter will be organized around something that describes how its progress should be measured. Even vague ones like "Empower airline fliers to find the best deals" can provide guidance.

This can also be referred to as "the problem this software solves".

Forward progress may be how quickly new features are added to a startup’s SaaS product, how quickly maintenance requests are fulfilled for a back-office application, or the total cost savings from a business process automation system.

The key to forward progress is that things improve. Better. More. Faster. Less. Cheaper. Choose whatever descriptions fit, but choose something your team can agree on.

2. Are investments in the application paying off?

The second criteria is that investments on the application are paying off. This is directly related to the first point, but on a financial basis.

Does the new $5,000 server process the nightly batch operation in 10% of the time?

Is the new developer generating 200% of her salary in value?

Will the optimizations pay for themselves over the next 5 months?

Many of the discussions around investments will put a measurement on top of forward progress. "Will X in Y?" "Pay $5,000 now to save $20,000 later"

It’s not about the code – at least not directly

If both of these criteria are met, the application is deemed healthy.

Download this guide to continue reading

You'll also receive my Daily Shopify Tips email. You can unsubscribe or withdraw your consent at any time.