SonarQube in Action cover
welcome to this free extract from
an online version of the Manning book.
to read more
or

Foreword

 

The software industry is still a young industry in which software quality means for many people “pain,” “cost,” “constraint,” “nice to have,” “one-shot effort,” or “external reviews.” Fortunately, with the Agile movement, the industry has started to realize during the last decade that software quality also means “fun,” “built-in,” “rewarding,” and “higher productivity.” Ann Campbell and Patroklos Papapetrou belong to the latter group, and they strongly believe that software quality should be a daily concern shared by all stakeholders in the industry for long-term success.

Software quality is divided into external and internal quality. External quality looks at how well the software fulfills its functional requirements: in other words, whether you’re building the right software. Internal quality looks at how well the software is designed/implemented to constantly welcome new changes: in other words, whether you’re building the software right. Industry statistics show that on average, 80% of the cost of software is spent on maintenance; there is considerable variability depending on internal quality. This makes internal quality a key component for the future cost of software.