Can 100% quality be achieved?

Of course not, 100% quality can’t be achieved. As @parwalrahul puts it:

There is no final destination when it comes to quality. 100% quality cannot be achieved. But why not? you ask.

In modern and dynamic software environments, quality is much like a moving target. Changing requirements, evolving business needs, and inherent system complexities makes quality a continuously moving goal rather than a fixed point.

I like this final destination, moving target concept.

Curious to know, how do you deal with a moving target?

5 Likes

When everyone’s perception of quality is different, then the target moves depending on who you speak to. :melting_face:

Maybe a list of moving targets would be helpful?

QMT: Quality Moving Targets:

  • changing requirements
  • evolving business needs
  • system complexities
  • who you talk to
  • fluctuating markets
  • market trends
  • what else…?
4 Likes

Hot take: yes 100% quality can be achieved.

If we view quality as “good enough for a person, doing a thing at a specific time” then there will be pragmatic and realistic situations where the standard for quality is quite small.

Example: I want a sandwich that’s made with the materials I have and satisfies my current hunger. I can totally meet that quality goal 100%!

Arguments around never being able to meet 100% quality possible shows a signal that we’re aiming for an unrealistic level of quality than what’s really needed. Sure, your product can’t be used by people who don’t know it exists or it doesn’t work in the heart of the sun… but who cares about that?

5 Likes

Should we even be measuring quality in that way? My instinct is always to look for the impact of our quality initiatives have on metrics that matter to the business.

Having said that, I still want to try using a QPAM inspired system to be able to give teams and business stakeholders a view of the state of our quality practices.

1 Like

I disagree! :slight_smile:

I totally agree! There is no such thing as 100% test coverage but 100% quality for sure!
Whenever you’ve reached a desired state of quality.

What does that mean? That’ you are at 50% of quality? No. You’ve reached your goal 100%

It all goes back to how you define quality. If you look at the requirements and can you say “Does it do exactly what it’s supposed to do? As expected, under all conditions?” Then hell yeah we can achieve 100% quality.

But I believe quality is only something like a moment in time. Like “right now” we could have no known defects and it’s all stable, but that doesn’t mean that over a year it will be the same, with all the framework updates, new vulnerabilities, new browsers etc…

So “for now” we can for sure achieve 100% quality.


But yea how do you define quality? If there is “no 100% quality” how would it look like according to you “in paradise”? @parwalrahul

3 Likes

It all goes back to how you define quality. If you look at the requirements and can you say “Does it do exactly what it’s supposed to do? As expected, under all conditions? ” Then hell yeah we can achieve 100% quality.

That would be defining quality against requirements documents, which means defining quality against the quality of requirements documents. Their accuracy, completeness, suitability, and how well they map against what’s just been introduced to me as Quality Moving Targets. As we can’t have requirements documents with 100% completeness, in theory or practice, then we’re saying that 100% quality is only applicable to stuff we thought of that’s convenient. Maybe that’s fine, I don’t know, but it seems limiting.

“Exactly what it’s supposed to do” - I guess according to whom? What is it actually supposed to do? Does anyone want it to do that? When, how, why, how often should it do that? What if it can’t do that? All vital quality factors you see every day. If two people differ on exactly what it’s supposed to do, or more accurately what and how they’d like, then who wins?

Also, all conditions? Ignoring the pedantry of “what about during a zombie apocalypse?!” type questions, knowing that we cannot possibly replicate all conditions, or even think of all of them, how do we know which conditions are required to fulfil our quality percentage? If we place that onus on the requirements documents, then we’re just shifting that question to whoever wrote the requirements documents.

I think we can invent ourselves occasions where “100% quality” as a floating term without meaning or purpose makes sense, such as defining it as the sun rising in the morning, but I don’t know how useful that is when making software for money. We can say 100% quality is “something we decided” doing something we decided under expectations we decided under conditions we decided, but then we’re abandoning the idea of value to a human person and replacing it with code maths and favourable contracts. How useful is it to say we achieved 100% quality when our clients hate our product?

But I believe quality is only something like a moment in time. Like “right now” we could have no known defects and it’s all stable, but that doesn’t mean that over a year it will be the same, with all the framework updates, new vulnerabilities, new browsers etc…

So “for now” we can for sure achieve 100% quality.

I think this time factor is an excellent point and an example of how dynamic elements shift under a quality definition. I think if we look at that year as a time when changes happen we can probably guess there will be one point at which something’s different. So if something can change over a year, it can change in a day or a second. Given enough factors to know about such that it takes longer than a day to know them, then “right now” is more of a ideal than an achievable goal.

Also it’s not just about technical changes but business and social ones. If someone changes their mind about what a good product is. If a competitor launches a similar product. If there’s a downturn in the economy. It’s also about how your product is placed in the market and what your userbase looks like.

So yeah, it’s achievable if we say it is, I just can’t see how and when that’s useful in practice, I guess.

1 Like

Maybe a bit more granular, but some other thoughts:

  • Changes in technology
  • Obsolescence - our product or something it depends on
  • Competition - new competing products or changes to existing ones
  • Employees - gaining or losing skills that we need to achieve or maintain certain goals
  • Knowledge gaps - our understanding of our product and the value it provides, or our clients and the values they have.
  • Testers - they provide insights that depend on their understanding of perceived quality in a product. How good they are, how informed they are.
  • Costs. Supply, workforce, taxes and tariffs, team disruption, code rot, whatever determines the balance against benefit.
1 Like

Good day @simon_tomes ,

Here is my response.

Realistically speaking, no-100% quality is an illusion that is chased, but never really attained. It resembles the race towards the horizon-it always feels you are moving towards it but it remains elusive.

It makes me ponder a lot about software development. Each time you close one bug, there is a high risk of introducing another. Conditions are shifted as you build. What was perfect yesterday is no longer good enough today, and users will keep changing their minds regarding their expectations.

That concept of the moving target strikes close to home for me as well. To quality- it is not a fixed destination that you plant a flag on and declare victory with: rather, it is more of a journey without end.

How do I deal with this moving target? Have discovered several helpful approaches:

Embrace small incremental improvement instead of perfection. In my experience small consistent advancement wins out over grand perfectionist gestures.

Maintain perspective about what “good enough” means in context. Sometimes the 80 percent today is worth more than the 95 percent next month. And, honestly, I’ve learned to be comfortable with some level of imperfection. There comes a point when that last 1-2 percent of quality in pursuit gives a return of diminishing returns and can actually be counter- productive.

What strategies, though, have worked out for you in managing quality in your own work?

Happy Testing :slight_smile:
Ramanan

It was just an example.

The quality is defined by everyone together. You (the team) defines it, just like acceptance criteria or requirements or w/e… when you’ve achieved it it’s done. But that doesn’t mean it cannot drop below the 100% as I mentioned, it’s a snapshot in time.

Like @cakehurstryan said " *Example: I want a sandwich that’s made with the materials I have and satisfies my current hunger. I can totally meet that quality goal 100%!*"

I am the one defining what I want (to satisfy my current hunger)
The sandwich & materials are the requirements

If you just rephrase it to: “I want a sandwich that’s made with the materials I have just to look at
Then when you make that sandwich it will be “100% quality” but after a week, it will have rotten and not have 100% quality anymore.

1 Like

Define quality, define acceptance criteria and 100% quality can be achieved and 100% test coverage can also be achieved.

It can be achieved only though because you have narrowed down what these things are, almost any user can pick holes in it and find bugs to them yet that 100% still holds even when users are finding a product unusable.

It’s not a model I adhere to nor recommend.

The moving target is natural, I’ve seen teams get frustrated when something changes but its the business we are in, we are in the business of change, to ignore it and fight against it is folly.

Moving target is business as usual what you need to do is manage it and keep it within certain bounds, active change control can help. If you need to use 100% then know it’s limitations, what it really means and accept your 100% is not everyones.

1 Like

I’m just here to inject a bit of dark humor…

2 Likes

How does someone define 100% quality ?
I don’t think quality is something that can be expressed completely. Problem is that quality is linked to user experience also and there is no end to user-experience reviews.
If 1000 people are using the application then they would have 1000 user experience reviews and feedback for qualities and all of them would rarely be satisfied with the current application and if we make the changes to please such people then might be possible that those who were initially happy with quality might not be so much pleased with the new update.
This can be clearly evident from the Play Store and App Store app reviews, where some people are happy and some are sad, while some are frustrated, and to solve the user problem, companies make some changes in the application, then some new people get frustrated with new UI.

So this is a never-ending loop.
100% quality can never be achieved if there are large number of users.
If there are 3-4 users or up to 10, then it might be possible that all of those show satisfaction and then we might claim that we have achieved 100% quality.

1 Like

Sounds to me like what the Context Driven Testing people do.

100% are achieved for me when we are out of time and budget for the thing I’m working on.
Quality should not be measured in percentage.

1 Like

So many comments I agree with, including the ones that disagree with each other :joy:. Its all about the perspective you approach it as to how you answer.

So my take is, if 100% quality was achievable as if it was a definition of done, we wouldn’t be needed. Quite simply I don’t want to hit 100% of any target - there’s nowhere to go beyond that. Change careers, change companies, you’re done. Go forth and be lifted on peoples shoulders and taken through the streets with banners of “We did it, 100% Quality!”.

If your perception of 100% quality is a delighted customer/user, do you only need to do that once? I doubt it. I’m not about achieving perfection, just relishing in the joy of pursuing it. As much as I’ve banged on in previous posts on KPI’s/measures etc., this isn’t one of them. Each delivery success is measured by users/customers saying “we’re delighted with this product release”. The garnish would be “We’ve got some ideas about further features” - if you software is engaging customers to that level then I’d be delighted :grin:

So:

The moving target? Go pursue your ideal feedback, learn when it doesn’t happen, collaborate, make changes, try again. When it does happen, learn why and repeat and accept it won’t happen every time. But don’t try and stamp :100: on it!

3 Likes

This is a very interesting statement because in scrum models it can be very accurate and I’ve dropped out of scrum teams as not needed in some cases.

DoD met so if a tester finds anything that would really annoy people that most of us would call a bug, its not a bug but an opportunity to add a new story to the backlog. As soon that backlog becomes more than a couple of things testing this way becomes a detractor which leads to a real situation of not needed.

Its a model that deals with the known and does not embrace the unknown through testing, so the idea of someone specialised in experiments, investigation and exploration may not be needed.

2 Likes

I think your question is wrong.
The quality of ‘something’ is what it is.
It’s always 100%, if you want to express it like that - but I don’t think that makes sense.
The question is whether that quality is good (enough) or (too) bad or low.
I think @cakehurstryan conflate Quality and ‘a quality goal’ in his otherwise excellent example.
Testing can help assess the quality of this ‘something’, and where it is compared to our goal, or acceptable level.
Quality Engineering can help improve the development process and make it more robust so we deliver the desired quality consistently.

A quality goal might be met 100% if it is somewhat reasonable, and you have the time, skill, money, people, etc. available.

I had a similar thought. The quality of something is an attribute which always exists at 100%. That’s why we assess quality through various means, including testing, but there’s no ultimate floor or ceiling against which we can objectively measure it. It’s a bit like asking whether a person can be 100% nice. Doesn’t make sense to me.

Other than that, I do agree that the assessment of quality is subject to the change of many factors already mentioned, including time, perspectives, goals, priorities, etc. The thing being assessed may not have changed one bit, but the assessment of the quality of the thing could vary greatly.

4 Likes

Well this seems to be a deep one, especially when we talk in the software world. We usually measure quality in terms of Good, Better and Best. But I never heard about what % of quality is being achieved. It may be true in theory but can not be practical because in most of the real world scenarios perfection is not practical.

However, quality can be measured considering various factors like test case coverage, automation coverage, competitive softwares, stress/load testing and many more n no. of factors listed. Each of these factors can be measured in terms of % but combining all these together does not mean that quality is achieved to some %. Usually the quality of a software is judged by the person who uses it and to what extent it is being used. Few may judge by its look and feel while others may deeply rely on its functionality.

IMO, the system should be built in such a way that it is Reliable, Tested, Maintained and Auditable. These factors will ultimately make a quality product which can be defined as Good, Better or Best.

2 Likes

I wonder if it is less about achieving a “perfect product”, aka 100% quality, and working toward having better systems/culture.

I don’t mind if a bug goes out if

  • the team understands the bug’s implication/impact to the system
  • has a plan to fix it (or for whatever reason chooses not to and is willing to communicate that decision out)
  • the team owns their decisions and takes full responsibility for it.

And, the idea is that we don’t know what we don’t know, so as we learn, we improve. In that logic, is that target moving or is it that you know that the target is out there and you have an idea of what it will take to achieve. Maybe there are multiple targets? I don’t know. It’s a lovely thought exercise though.

1 Like

I’ve been thinking of quality in the practical, rather than the hypothetical in order to make it attainable by people.

Wouldn’t our goal === quality?
Our goal+ === quality too of course.

When would meeting our goal <> quality?

1 Like