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.

Software can be an asset for your company.

Investing in your software assets can improve their performance

Download this guide

Success! Now check your email to confirm your subscription.

There was an error submitting your subscription. Please try again.

Email Address

I'd like to receive the free email course.

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.

Is the team making forward progress?

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.