Professional Documents
Culture Documents
Through The SIG Looking Glass
Through The SIG Looking Glass
� Foreword 3 At SIG, we have been helping our clients improve their software health
since we founded the company in 2000. Nearly 20 years have passed since
� Software quality 4
then, full of evolution and progress in the software industry. Today, we
� Research questions 11 have the ability to look back and reflect on the data that we have collected
along the way. What do those numbers tell us now? Has the industry
� Key findings and recommendations
seen improvements across the board? What differences do we see in the
� Has software quality improved or declined? 11 software technologies that are emerging and declining? What practices
� Do better software processes produce separate the low from the high performers?
better quality software? 20 In this report, we present our view through SIG’s looking glass; our state of
� What’s the future impact of emerging the union address, as it were, which kicked off the 2019 SIG Symposium on
September 26 in Amsterdam. Our goal is to provide you with the relevant
technology stacks? 24
insights you need to improve software health wherever you go next.
� Future software analytics 32
� Final thoughts 33
2 3
Software Quality
QUOTE-RIGHT
standard tangible. Furthermore, by comparing these code metrics to
a database of thousands of software systems, SIG provides a unique “Investments in code maintainability, loosely
benchmark of software quality. coupled architecture, and monitoring help
support SDO performance (via continuous
SIG’s measurement model for Maintainability is the only model of its kind delivery) and productivity (via reductions in
that has been approved by TÜViT for the use of quality measurement and technical debt), highlighting the importance of
formal certification of software products [2]. good tooling and systems.”
4 5
SIG applies the ISO/IEC 25010 SIG has its own Maintainability
standard for software product model. Approved by TÜViT
quality
Functional 1. Measurements
Suitability
Aggregate
Performance measurements to
Security quality profiles
2. Quality profiles
`
Compatibility Maintainability
Translate quality
profiles to scores
for system
characteristics HHHII
Usability Portability
HHHHI
3. System-characteristics
HHHII
Translate scores
for system +5 …
characteristics
Reliability to scores for
ISO 25010 sub HHHHI
characteristics
HHIII
4. Sub characteristics
HHHII
Maintainability serves as a strong basis for analysis +2 …
Translate to
overall rating of
technical quality
(Maintainability)
Initiation Build Acceptance Maintenance
5. Overall rating
6 7
5
4.5
2.5 decline
2
Nowadays, there is no lack of software measurement tooling in
the marketplace. Many mature software development teams apply 1.5
some form of automated quality control. However, this is often not HHHHH
5
1 MONITOR
sufficient to improve or even maintain quality. Tools are imperfect, 4.5
provide false positive results, or fail to prioritize their outcomes by
HHHHI
urgency and feasibility [3]. 4
3,7
MAINTAINABILITY
3.5
To tackle this issue, SIG’s core service is software consultancy, which HHHII Exclamation-Triangle
3
employs automated tools and measurement models in combination with
expert consultancy on the outcomes and the implications. As software 2.5 2,6 2,7
consultants, we interact with our clients at many levels, from executive HHIII
2
and management to operations and development, in order to align on the
1.5
software quality that our tooling has objectively measured.
HIIII
1
In a software monitor project, the source code of a system or application is 2012 2013 2014 2015 2016 2017
[3] Maria Christakis, Christian Bird, This calculation is based on system quality, size, technology stack and expected future
“What developers want and need from program analysis: an empirical study”, ASE, 2016. modifications to the system. The result is cumulative. This graph contains real data, but is
anonymized.
8 9
SIG
Software Consulting Research Questions
by the Numbers
In this 2019 report, we provide you with our insights from a data
25+ billion
the past five years. You’ll find that these data insights nicely complement
market analyst reports such as ‘Accelerate State of DevOps 2019’ by DORA
and Google Cloud.
lines of code in analysis
warehouse This year, we will focus on the following three research
questions:
100+ million
Commonly, executives and practitioners alike expect the quality of
system snapshots both these angles, and thus can address this expectation head on.
4,000+ Reflections on the past are not complete without projections into the
future. What do we at SIG see emerging in our recently collected data,
systems evaluated and what does that mean for decision makers in the field?
10 11
What are the key findings
in software trends?
1. Has software quality improved or declined?
12 13
Chevron-RightChevron-Right There are several trends underlying this overall positive quality vibe. First,
on average, the systems that we see have a smaller volume of code. As
a core factor in maintainability and cost, an overall reduction in volume
is very positive. Smaller systems are easier to maintain, and if necessary,
cheaper to replace. Chevron-RightChevron-Right
14 15
Chevron-RightChevron-Right System technology (or tech stack) is an important factor. Systems in the
‘Low code & BPM’ category are leading improvements, allowing for small,
high quality systems that have lower expected spending. On the other
hand, systems in ‘Legacy/3GL/4GL’ instead see a dwindling trend in quality,
remaining at below average quality levels.
16 17
Recommendations
‘Has software quality improved or declined?’
Easier said than done, but our numbers are clear. Migrate out of
the Legacy/3GL/4GL category as soon as it’s feasible. Remaining
with legacy technology will further harm the speed at which your
systems can evolve in the future. They will require high upkeep
costs as long as they remain operational.
18 19
2. Do better software processes produce better adoption of automated tools for ‘Coding and Building’ and ‘Deployment.’
The greater availability and accessibility of continuous integration and
quality software? deployment tools (e.g. DevOps) are at the heart of this trend.
Do better software processes produce better quality software? It really Drilling down in the data set, we pitted the low performers at producing
depends. We observe the key correlations in our multi-year survey on maintainable code versus the high performers. We then see a stark difference
Development (Best) Practices Assessment, or DPA. in particular for the development practices that can be automated: Chevron-RightChevron-Right
In most categories, the adoption of development best practices has
increased over the past 4 to 5 years. Most pronounced are the increased Did use of development best practices increase over the years?
AVERAGE DPA THEME SCORE
20 21
Chevron-RightChevron-Right 61% of teams that produced 4 or 5 star software, use full continuous
Recommendations
integration, while for 1 or 2 star software, we only see 18% full adoption. ‘Do better software processes produce better
Other automated practices such as testing (53% high vs. only 3% low) or quality software?’
deployment (58% high vs. 22% low) see similar rifts in adoption levels.
Teams that automate with a certain zeal seem to have the edge, as they
keep their hands and minds free of the more mundane and repetitive tasks,
allowing focus on the more creative and challenging mental tasks.
22 23
3. What’s the future impact of emerging Historical trends & forecasts of language popularity
as analyzed by SIG
technology stacks?
We saw before that applications built using Low Code and/or BPM
technology show a strongly positive quality. This category contains
technology such as Mendix, Outsystems, Blueriq, and BPEL. Also
applications in Scripting and Mobile technology tend to perform above
average with respect to code quality.
24 25
Historical trends & forecasts of language popularity Historical trends & forecasts of language popularity
as analyzed by SIG as analyzed by SIG
26 27
Recommendations In particular for the Low Code & BPM category, we observe a trend
‘What’s the future impact of emerging technology stacks?’ that also warrants caution. Most code properties there trend upwards,
except for two properties that consider architectural quality: Component
Employing modern technologies like those in the categories JVM Independence and Module Coupling. Component Independence checks if
(Java, Groovy, Scala, and others), Microsoft (C#, .NET), and Low a system is built from independent components that can be developed in
Code & BPM, today seems like a safe bet. However, are there parallel. Module Coupling measures the internal coupling in a system, or
reasons to be careful? Yes, indeed. the degree to which there is spaghetti code.
Low Code and BPM are doing well on most metrics, but watch
out for architectural quality.
28 29
Applications are at risk of becoming too strongly connected to their low Exclamation-Triangle However, strict control of application quality and code volume is amongst
code platform, and/or suffer a suboptimal architectures due to platform- the most important measures. Apps and components should remain
dictated choices. This could yet cause them to slide down the quality slope. replaceable on a timescale of months rather than years.
How to prevent these now-shiny applications from becoming tomorrow’s
legacy? Generic advice in software architecture is tricky as a lot depends on
the domain and the existing portfolio.
30 31
Future Software Analytics Final Thoughts
SIG is active in several academic-industry research programs that Looking back over the past ten years, we are left with a feeling of
will help shape the future of software measurement and analytics. cautious optimism. There are signs that we, that is, the software
industry, are changing our quality game for the better. We see the
trends in various underlying metrics, on the code level, on process
In the FASTEN project, funded by SIG and
level, and in the emergence of modern technology stacks that
the European Union, SIG is helping to
enable more flexible and higher quality software.
develop Intelligent (Software) Package
Management at the scale of the major
Is software quality then mostly a concern in large legacy software systems
global software ecosystems. With that infrastructure, engineers will be able
that were built decades ago? Yes, it definitely is still an issue there; not
to analyze whether software projects are using the best software packages
only because the number of legacy systems and applications are growing,
available, and if not, how to get there.
but also because the legacy systems still remaining continue to grow in
https://fasten-project.eu code volume and technical debt. The only path forward is to migrate to the
greener pastures offered by more modern technology.
http://codefeedr.org
32 33
In 2016, SIG published two guides for
practitioners on two of the core issues we
encounter in our software consultancy
business.
Design: Plushommes
There is a lot to look forward to in the years to come! Art: Rawpixel
34 35
Fred. Roeskestraat 115 www.softwareimprovementgroup.com
The Netherlands