Times change, and so does building software
Since industry trends are always influencing best practices for creating software, we’re always evolving our model for measuring its quality.
A common saying amongst people working in IT is that everything you know becomes obsolete within two years. It’s not quite that extreme in practice, but the general sentiment is true: there’s an endless stream of technological advances in various areas, and many of them will permanently impact the way you work. And yes, that will render some of our previous knowledge irrelevant.
However, not every new technology ends up becoming a de-facto industry standard. The software industry, like any other industry, has its share of hype, fads, and grassroots movements. This makes it hard to tell new technologies that are truly groundbreaking apart from the ones that will slowly fizzle out.
Differentiating the two can be difficult, because the early adopters are often very vocal in the perceived advantages of the new technology. Simultaneously, there will always be a crowd of people claiming that the new technology is a fad and will “never work.” Your opinion will be shaped depending on who you believe. I remember saying around 2004 that this whole online video thing will never catch on. Two years later, I was working for an online video company.
In the long term, these industry trends also influence best practices for creating software. And since SIG measures software quality using a maintainability model based on those best practices, we need to keep evolving our model to reflect those changes.
However, one of the interesting dynamics of these new technologies is that many of them are based on new interpretations of older ideas. Making programming more accessible to non-programmers has always been a goal. And although they are very different technologies, both COBOL in the 1960s and “low code” technologies today are trying to achieve that very same thing.
Another major software architecture trend in recent years is the adoption of microservice architectures. Now, you might be thinking, “What?! You consider microservices new? That’s from like 2015!” And you would be correct, in the sense that that’s the year it started. However, this goes back to the point of industry best practices: there’s always a wave of early adopters, but it takes a while before a new technology becomes truly widespread.
Also, using a new technology does not automatically lead to a high-quality system. Again, people are adopting these technologies to achieve certain goals. The goal of microservices is to allow teams to work in parallel, operate more autonomously, and have less coupling between the different components. These principles aren’t new, this is simply an evolution from older ideas like Service Oriented Architectures. However, with microservices there is renewed focus and attention on these goals.
So that’s what we did. We added a new metric to our maintainability model that rewards people for using microservices in their intended way, while also rewarding those who don’t use the technique, but achieve the same goals with less fashionable technology choices.
We’re proud to say that the new 2020 version of our ISO 25010 quality model has been accredited by the German TÜViT quality institute and is now available for use. If you’re interested in learning more about our maintainability model and evaluation criteria, check out this page here.