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 criteria.
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 $A now to save $B later"
It's not about the code - at least not directly
If both of these criteria are met, the application is deemed healthy.
That means that in theory, your Rails application can have horrible code, breaking every "community quality standard", and still be considered healthy - as long as you have the best team and best environment.
But stop and think about how much better application's return could be if it had good, or better, great code!
The quality of the code affects the team and how work is done in the application. This affects how difficult forward progress is, which then affects any ROI.
A Rails application needs maintenance and repair to keep working, much like any other asset. However, it can also be optimized to achieve an even greater return.
Before you can enhance the return, you need to make sure your application's health is high, and that it stays that way. Make sure the application's life is as long as possible and you don't lose the current return.
If you'd like to talk to me about your Rails application's health, I'd be happy to provide a free consultation to go through my multi-part evaluation process. To start, go here and enter your name, email address, and a short description of your application. I'll then contact you for more information.
To your application's health,
Little Stream Software
Work with me
Are you considering hiring me to help with your Shopify store or custom Shopify app?