What is quality? Each of us has different definition. We also know that the definition of quality varies according to the product, organization, industry (electronics, furniture, construction, software). . . . In a nutshell, it is relative.
Let's focus here on software product development and how quality is related to customer collaboration. Take a look at this quote, attributed to John Guaspari: "Quality is not what happens when what you do matches your intentions. It is what happens when what you do matches your customers' expectations."
Quality is a perspective of the customer, not the perspective of the development team. When the team releases a product per the expectation of the customer, they call it a "quality product." In this context, the essential ingredient for quality is customer collaboration
The Agile Manifesto
Individuals and interactions
Responding to change
This will result in greater transparency, open communication, respect, and trust.
This article focuses on how Agile enables customer collaboration, which leads to great quality.
Product owner (PO):
The product owner is the customer or customer representative who works with Agile teams. The PO interacts with the team on a daily basis, resolving questions and fine-tuning future requirements. This closeness between the PO and the Agile team helps the team build software with an understanding of why
it is needed. They also have the opportunity to understand the customer perspective whenever they get stuck.
Opportunities for improved collaboration with customers in Agile include:
Backlog grooming/refinement: The PO proactively works with the team to build a proper backlog with enough acceptance criteria for each story. They use techniques such as "specification by example" to give greater clarity on requirements. The PO will talk about the business needs and the business value. The team will estimate the cost. After considering value and cost, the PO and the team together decide on the prioritization. Thus the whole team knows why they do what they do, with no need for assumptions.
Sprint planning: The PO facilitates the planning meeting with the whole team to reiterate the iteration priorities. The team will have yet another opportunity for clarification, if they have any questions or comments regarding acceptance criteria or prioritization on the iteration backlog.
During iteration: Whenever the burn-down chart shows a positive or negative trend, the team will reach out to the PO to discuss adding a bonus story or descoping an already committed story. The PO is always available for clarification during the iteration. The PO also tries to attend the stand-up meetings whenever possible.
Iteration demo: The customers get to see the product's progress at regular intervals. This enables faster feedback to the team and increased confidence for the customers. Since the team collaborates with the customer almost daily, the team can do a demo as soon as it completes a story, within the iteration as well as at the end of it.
Here we are discussing only one perspective of quality -- that is, quality through a high level of customer collaboration
. In Agile, we try to minimize the communication layers and get the customer as close as possible to the development team. I personally believe that quality is a result of good implementation of Agile. Agile aims not only for customer collaboration but also for productive partnerships