Over a million developers have joined DZone.

The Quality Carousel

DZone's Guide to

The Quality Carousel

· Agile Zone
Free Resource

See how three solutions work together to help your teams have the tools they need to deliver quality software quickly. Brought to you in partnership with CA Technologies

I just observed yet another conversation on twitter that started with the topic of waste in software development, brought in value as an arbiter between waste and necessity, and then quality as a modulator of value. Surely a practice that increases quality also increases value, and therefore cannot be considered waste.

These discussions seem to spin in circles. They always have, and likely always will. Why? Because they treat quality and value as attributes of what is built, rather than as relationships. I like Jerry Weinberg’s definition in Quality Software Management:Systems Thinking.

“Quality is value to some person.”

This does not bring agreement to the discussions of value and quality. It does bring a different focus to them. Who is the person that matters? I can tell you who that is.

It’s me. I’m the person that matters.

More generally, each of us takes ourselves to be the person that matters. It’s no wonder that we don’t come to agreement on quality and value. Everyone has their own unique and slightly different take on the topic.

“Wait,” you may say, “I’m not looking for value for myself, but for the customer.” Someone else may be looking for value for the company, for the stockholders, or for their boss who will yell at them if they do the work “wrong.” Others are focused on the developers—the programmers, the testers, the designers, the many people and roles that may be involved in producing any software system.

Personally, I have empathy for all of these constituencies. To some degree, I think we can provide value to all of them. In some ways there are synergies between them. If we write code that’s easy to read and modify, then it’s cheaper for the business to maintain that code, and quicker to get new functionality to the customer. Win-win-win!

We can’t do everything we want instantaneously, though. At any moment, we have to balance the needs we perceive to determine where to give more emphasis right now. We don’t want to ignore any constituency we consider important, but we can’t always give all of them full attention all the time. And, of course, we all find our own unique and slightly different way of balancing the attention.

And the discussion takes another turn around the circle.

Discover how TDM Is Essential To Achieving Quality At Speed For Agile, DevOps, And Continuous Delivery. Brought to you in partnership with CA Technologies


Published at DZone with permission of George Dinwiddie, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}