What is software maintainability, and why does it matter?
Computer software is like people's thinking…
Let's start off by thinking about what software is. Hardware is more
tangible than software, so let's start there.
The difference between hardware and software is like the difference
between your body and your mind.
It's usually easier to change your mind than it is to change your body.
But some people are set in their ways: it's hard for them to change their minds.
And some software is like that too: it's much harder to change than other software.
Why does software maintainability matter?
What happens when you can't change a piece of software that needs to be changed?
The law is changing, regulations change, and infrastructure changes. Customers and users want new products and services.
If you can't change your software quickly enough, you can't keep up, and you're going to fall behind.
And that's why software maintainability matters.
Maintainability in software is like flexibility in people…
Maintainability is a measure of how hard or easy it is to change a piece of software,
just like flexibility is a measure of how hard or easy it is for someone to adapt to new circumstances.
Some people are more flexible than others, and some pieces of software are more maintainable than others.
How do we measure software maintainability?
We look for obstacles which cause programmers to make mistakes.
We look for things which make a piece software hard to understand, and easy to misunderstand.
We look for things which make software hard to change, things which stop a programmer from getting things done right first time.
And we look for things which make it hard to test a piece of software thoroughly before it is released to people who rely on it.
The more obstacles there are, the less maintainable your software is and the more likely it is that you will fall behind.
So that's what software maintainability is, and why it matters.
The harder your software is to maintain, the more likely it is that you will fall behind.
Want to find out more?
If you send us a piece of software, we can tell you how maintainable
it is. We'll print it out, pick up a red pen and inspect it, writing
our findings on the printed copy of the source code. Then we count
the number of obstacles that we found, compare the total to the
number of lines of code that we inspected, and plot the result
on the software decay spectrum.
It's not expensive…
We don't use software to do this work:
we have a network of programmers who carry out inspections for us.
We don't need any tools, other than the red pen, because when you're
measuring how hard it will be for programmers to analyze, modify and
test the code that they and their colleagues have written, you need
someone who can read code!
Global and Local
The OSQR Group serves clients in 25 countries across the Americas, Europe,
Middle East and Asia and makes extensive use of the IfSQ Standards for
Computer Program Source Code published by the Institute for Software Quality,
Cambridge, UK. We have offices in Palo Alto (CA), Cambridge (UK), Amsterdam and Hong Kong.
Get in touch!
For any questions or feedback, please get in touch with us by email: