Quality is never an accident.

Nicolas Van Damme
Immoweb Transformation Blog
7 min readMar 17, 2021

Once upon a time, a company with a vast legacy decided it was time for a breath of fresh air. It was well-armed for this challenge with an entirely renewed management (a new CEO, a new CTO, and a new CPO) and a freshly rebuilt mobile team of passionate and talented developers, which I joined at the time.

It was time to find a vision for Immoweb, a mantra shared by developers using various technologies. We agreed quickly on “No compromise with quality.”

But why?

Intuitively I would say, “People want to do great work!” 🤷‍♂️.

But that’s a bit generic; why is quality such an important key and engaging goal for my generation and the next one in the precise context of software production?

It’s an interesting question. 🤔

Let’s dig into my personal findings on the subject together!

Why does a quality-first approach matter?

It was clear from the beginning that our mission needed to be “Make Immoweb great again” and push a high-quality level around the company.

Quality is a vast concept, but, in our case, there was an advantage:

The broadness allows it to resonate with everyone in every department and in combination with every technology making the idea easy to spread.

That’s great, but I know that a goal without a metric is also a weakness:

Many companies, teams, or individuals will say: “Yes, we do quality…” and stop there.

But how do we define concrete primary metrics without losing our advantage?

I think a good starting point is the definition of quality and its advantages given by Will A. Foster :

Quality is never an accident; it is always the result of high intention, sincere effort, intelligent direction and skillful execution; it represents the wise choice of many alternatives, the cumulative experience of many masters of craftsmanship. Quality also marks the search for an ideal after necessity has been satisfied and mere usefulness achieved.

Will A. Foster

With this in mind, we defined two primary metrics in the mobile team: the percentage of crashes and the application store rating.

I like those two because the first one is technical and mastered by the team, and the second one is a complete metric; it’s the rating of the overall product and pushes quality outside the technical unit.

Quality is not only about code, a developer goal, the quality of UI/UX or API responsiveness… It’s a philosophy you need to spread in the entire company.

This overall quality quest will push your whole company forward.
It’s understandable by everyone and applicable to every aspect of your business.

Lack of quality cost trillions.

Ok, but I need to go further than my gut feeling. I need proof and real numbers that also speak to the company as a whole.

Cost and profitability are still one of the main drivers of every company.

So I researched the subject of quality and cost and found this report: “The Cost of Poor Software Quality in the US: A 2020 Report” by The Consortium for Information & Software Quality (CISQ) sponsored by Synopsys.

Let’s analyze it; in 2020, quality issues cost approximately 2,08 trillion $, and this is only taking the US into account.

To put that in perspective, this is about one hundred times NASA’s annual budget for the same period.

From this incredible amount, operational failures are in the first place, with a total cost of 1.56 trillion $ representing an increase of 22% since 2018.

In the second place, the cost of legacy is 520 billion $

In third place, the unsuccessful IT projects with 260 billion $ have increased 46% since 2018. ($177.5 billion $ in 2018).

Figure from CISQ report 2020

In the report, we see a difference between high-performing versus low performing software organizations. That study revealed a considerable difference in performance between the top 10% and the bottom 10% of organizations sampled. When you dig deeper into the data, the reason is adopting a certain quality and process best practices.

We will see some key enablers together, but one is the team skills and motivation to provide quality.

Quality is a battle at all levels.

In this report, I also learned the failure rate of projects had remained around 19%. The underlying causes are varied, but a recurring theme is the lack of attention to quality, and research suggests that success rates dramatically increase when using agile methodology and DevOps.

At the individual level, each team member must be the best software engineering professional they can be and be engaged in a continuous improvement / continuous learning process. Brace yourself and fight mediocrity every day. If you think you are alone, don’t be desperate. You are not alone, but switching the culture alone is impossible. Knowing that, spend your time to engage another colleague in this vision and do that again until enough people are quality advocates.

Like our CPO said at the time :

An organization is only as strong as its people. 💪

At the team level, quality must be defined as an objective with clear metrics. Higher-quality software and shorter development cycles are doable when quality is the entire team’s responsibility.

Repeated success does not happen by accident. This consistency results from great teamwork, great role players, outstanding leadership, and organizational culture. For that, you need to recognize that software quality engineering should never be an afterthought or a second-class citizen in your organization.

Sometimes, it seems logical, high-quality standard results in positive ROI and reduced ownership cost at the organization level. Excellent quality enables cost-effectiveness and superior performance. The vast differences between organizations appear to be caused by adopting a certain quality and implement best practices.

I can’t explain it better than the conclusion of the CISQ report:

“Good software quality has many benefits. Not only does it facilitate innovation by increasing predictability, lowering risk, and reducing rework, it serves as a differentiator to set an organization apart from its competitors. Most importantly, continuously ensuring quality will always cost less than ignoring it. Quality is more than free, it saves.”

Let’s now see how we can use existing methodologies to implement quality.

Quality and methodologies

Quality is clearly at the center of the Agile principles, as we can see in this sub-principle.

“Continuous attention to technical excellence and good design enhances agility.”

So logically, all agile frameworks, as children of this methodology, share a focus on a high-quality level.

Thus, It’s part of the Scrum Guide.

[…] The Scrum Team plans ways to increase product quality by improving work processes […]

[…] As Scrum Teams mature, it is expected that their definitions of “Done” will expand to include more stringent criteria for higher quality. […]

In the motivation model by Dan Pink, Quality creates meaning, and it’s a significant contribution, so in my opinion, a good purpose.

In the Golden Circle concept codified by Simon Sinek, the quality issue could be a good start in finding a “why” purpose for your company. The same author introduces the concept of the infinite game in which quality is also most relevant to find a just cause.

Conclusion

It is now clear that quality can have a considerable impact on your business health and should be a priority for everyone in your company, starting at the individual level to the top level.

An agile mindset, talented individuals, and exceptional teams help a lot, but overall, it mostly depends on your agile maturity.

All levels are crucial to play the infinite game, be it individuals, functional groups, mid-managements, or C-levels.

For me, today, striving for a high level of quality is a no-brainer: we reaped the benefits of this strategy.

For us at the team level, both metrics stay healthy.

  • The crash percentage is meager: only 0.01% of our users experience a crash on both platforms, we aren’t issue-free, but we work to prevent and mitigate it every day with exceptional results.
  • The global rating metrics are stable at 4.6 on average on the AppStore and a steady 4.4 on the PlayStore.

Our Quality level is an outstanding achievement for everybody involved in those products.

We are on a permanent quest to improve our quality standards and metrics even further and persevere in putting Immoweb in orbit this year … 🚀💪

NASA/JPL-Caltech

--

--

Nicolas Van Damme
Immoweb Transformation Blog

Head of Front-end Applications @Immoweb🏡 🙌 💎 🚀 🌕