DEV Community

José Peñaherrera
José Peñaherrera

Posted on

How to build a Quality Culture in our team

This is one of my favorites questions, and actually, is one of the hardest one to achieve, we should keep in mind these two premises:

  1. Quality is not a one person job/responsibility
  2. We don’t have only one Quality approach for a project, it changes based on the phase

What does this mean? Basically, the first one talks about keep the stakeholders (internal and externals) aware that the quality of the project relies on the whole team, and to achieve this, we can do it keeping a good communication to avoid misunderstanding on the system behavior as well as preventing defect in the code (this also could affect functionality), some techniques that can help us with this are:

  • Acceptance test-driven Development (ATDD): this approach is related with Test-driven Development (TDD) but is more focused on the stories, as TDD creates tests for the units to confirm that we are doing the things right, ATDD is defining automated test scenarios before the development to confirm that we are doing the right thing.

  • Behavior-driven Development (BDD): the main difference with ATDD is that BDD focuses on the behavior of the feature using the Given-When-Then structure to keep a common language between the team, and ATDD focuses on capturing the accurate requirements when included the stakeholders in its definition.

  • Specification by example (SBE): the main approach of this is capturing and illustrate the requirements using realistic examples instead of abstracts statements.

The main objective of these three approaches is to have a collaborative definition of the requirements and the business understanding inside the team, with this, we will avoid misunderstandings and will keep everyone focused on objectives, also this help us to we achieve the second approach, because as the quality change based on the phase on the project, we will let the team know the main quality approach for each phase, of course we always have a general objective for the overall quality like, talking about a online clothes store, the main objective will always be let the people buy our clothes online, but what happen if we want to add some offers for the Christmas season? We will have a new main quality objective of adding the offers to the page, right? What about when Christmas season finish? The approach will change to, remove the offers to avoid any issue with out customers, and so on.

Top comments (0)