1. Home
  2. Blog
  3. 2021
  4. It’s time to accept software maintenance is as important as the build

It’s time to accept software maintenance is as important as the build

Forth road bridge image courtesy of Esteban on Unsplash https://unsplash.com/photos/4VNsmsOCg1A?utm_source=unsplash&utm_medium=referral&utm_content=creditShareLink

Stop us if you’ve heard this one, but there’s this bridge in Scotland called the Forth Bridge. It’s so big that, until 2011, it required a team of painters permanently assigned to keeping it looking good. As soon as they’d finished painting one bit, another bit was due for a fresh coat.

Why bother? Well, because it’s a pretty important bridge as bridges go. Not only is it a vital rail link across the Firth of Forth, it’s also a UNESCO World Heritage Site. Today though, it’s also a metaphor we’d like you to bear in mind while we talk about the reality of maintaining your software for peak performance.

Trust us, it’ll all make sense.

Digital product development vs maintenance

One of the ways we add value to a business at the strategic level is by providing transparency about the total cost of ownership (TCO) for a digital product.

Product owners getting to grips with their new roles, or even experienced entrepreneurs blinded by enthusiasm for a great idea sometimes view development as a one-off cost. It isn’t.

Software doesn’t rust in the same way as, say, a massive old bridge. But it’s going to need maintenance over the course of its life. Fail to plan for this and you’ll spend those years playing expensive whack-a-mole with problems as they arise. But something wonderful happens if you build the TCO into your development plans from day one.

Sorry to interrupt…

If you like what you've read so far, join us on LinkedIn to talk all things digital product development with our team of experts.

Let's talk Fluent

What kinds of software maintenance are there?

The best way to illustrate the benefits of proper software maintenance is to show what it looks like in practice. What kinds of upkeep should you be expecting to do on your digital product?

In short, there are four types:

  1. Corrective maintenance
  2. Adaptive maintenance
  3. Perfective maintenance
  4. Preventative maintenance

Corrective maintenance is really straightforward. Software have bug. Maintenance make bug go bye-bye. Even with rigorous pre-launch testing and QA, the probability of software shipping with bugs approaches 100% the more complex the product gets. Leaving budget spare to fix them as they’re spotted is a wise idea.

Adaptive maintenance is the closest thing to rust we can take from our bridge analogy. Software is fixed and brittle in a world that’s constantly changing around it. You need to leave wiggle room in your budget to ensure it can adapt to a changing environment and keep up with partners and third parties.

Perfective maintenance is the opposite of rust, it ensures your product actually improves with age. Like a fine wine, your software can tweak in line with user feedback and provide a better and better experience… if you accept these improvements as a natural part of its lifecycle.

Preventative maintenance lets you take all the lessons learned from the other three types and apply them to fixing problems before they happen. If experience tells you adding feature A might cause issue B, it’s a great idea to find out and fix it ahead of time.

So, looking beyond the upfront cost of development to the TCO nets you four big benefits. You’re proactively addressing bugs, you’re keeping pace with your product’s environment, you’re optimising throughout the product’s lifespan, and you’re fixing problems ahead of time.

Awesome, but it’s now time to address the elephant in the room. What’s the cost in ‘total cost of ownership?’

What’s the total cost of ownership for software?

How much is software maintenance vs development? There’s no one set answer since the scope and complexity of every project is different. Various experts on the topic have tried to put a number on it, but their estimates differ hugely.

Stephen R. Schach suggests maintenance over a product’s lifecycle could be around 67% of the build cost. Jussi Koskinen puts it at over 90%. Robert L. Glass hedges his bets and claims it could be anywhere between 40% and 80%.

As you can see, there’s no clear consensus. Those estimates are further clouded in that they don’t really account for the reality of Agile and Lean UX methodologies. In practice, development and maintenance aren’t two siloed processes with separate budgets.

As per our Forth Bridge metaphor, you’ll be freshening up the paintwork while your product is in use. So, rather than trying to estimate the length of a piece of string, let’s explore how we do things at Fluent. What steps do we take to keep maintenance costs as low as humanly possible?

The Fluent approach to software maintenance

All our build projects are followed up with a three-part support, maintenance, and enhancements package. Experience shows us that this works best when there’s a dedicated project manager or product owner on the client’s end. Because even once a build has been delivered, there’s still a fair old bit to do.

By support, we mean the human aspects of using a system. From answering how-to questions about basic functionality to gathering feedback on how to improve usability.

Maintenance refers to the four types mentioned above. In reality, we spend most of this time helping adapt products to changing third-party systems. There’s also a big element of scaling up as a product’s user base grows, making sure it has capacity to cope.

Meanwhile, enhancements cover the changing needs of your business and your product’s users. Because we plan to include this part of the package from the early stages, it’s much easier to be flexible and add the features users want.

This model is so successful because it gives product owners the authority to advocate for their software. The time and budget needed to maintain a product aren’t afterthoughts, they’re clearly defined elements of a successful job.

Of course, your product owner might decide that this model isn’t right for your business or your project. We’ve also had great success working on a retainer basis, where continual development can be scaled to match available budget.

In either case, building in that maintenance time provides peace of mind for the entire product lifecycle… and beyond. Because yes, one day your product is going to shuffle off to the great app store in the sky. It’s very worthwhile considering what’s going to happen when the time comes.

What happens at the end of a digital product’s life?

What happens when the Forth Bridge falls down? You build a Fifth one, the old joke goes.

Ok, we didn't say it was a good joke. But retiring the bridge, and your software, before it collapses is worth planning for. We like to keep an eye on customer’s products for signs of wear and tear, particularly in more mature organisations.

At some point, old systems must be replaced. Failing to replace processes which no longer meet user needs can be costly. Basing your business on obsolete, unsupportable technology can be more costly still.

Accept that digital systems have finite lifespans; proactively plan to replace them before they're on their last legs.

This is a natural extension of good maintenance. After all, clinging to a legacy system could cost you more to live with than it did to build. By factoring in the time and budget cost of replacing old systems:

  • Your business keeps momentum, no time in limbo while a broken system is hastily rebuilt or replaced
  • The new system can retain knowledge and benefits of the old one, they'd be lost if you ran your old system to death
  • Migration can be staged and staggered for minimum disruption

Proper planning for the end of your product's lifespan can be one of your biggest TCO savings, but it’s still something that catches a lot of companies out. Now you know better.

Final thoughts

It’s easy to get excited about developing a great new digital product. The mind races to picture the finished article, and your time as a business owner is best spent harnessing that enthusiasm.

But for that project to be a success, you need a long-term partner who can handle the day-to-day stuff. By accounting for the full cost, the real cost of product ownership, we’ve advised plenty of businesses on achieving a sustainable result.

In a sense, you could say we’re all about building bridges.

 

Ready to solve your problems?

We'll help meet the challenges facing your growing business. Get in touch and tell us what you need, the team can't wait to hear from you.

Contact us