Here is a practice that I find really interesting but which nevertheless seems to be less present today: 3 amigos. We will see with this article what this practice is about.
3 amigos in agile
The 3 amigos is a ceremony that can be added to a scrum team to write solid functional tests. These tests will be written by: the product owner (or the business analyst / PO proxy), a dev and a tester.
This association makes it possible to write complete tests with the certainty of covering all the expectations of each of the associated user stories.
Here are the benefits that each of the actors of this ceremony will bring:
Product owner: he will present the needs of the user through his user-story and the associated rules.
Developer: he will indicate the technical set that will be impacted by the need which can guide the tests to write. He will also participate in any testable data that may be complicated to define in some cases.
Tester: he will prepare datasets and propose scenarios that respect the rules of functional tests (for example, he will not link his test to notions of interface).
With a team of shock like this one, our 3 amigos will propose complete and quality tests which will have two important roles:
- guide developers in the development of user stories
- bring undeniable quality with non-regression tests
It is not uncommon for agile teams to use the 3 amigos to achieve the test with the Gherkin language; it is the most used language for BDD (Behavior Driver-development). In a nutshell, for the BDD, we write tests upstream of developments to guide developers in their developments
Some even take advantage of this exercise to do the ATTD (Acceptance Test Driven Development) which is a software engineering technique where the test is written technically before the development of the feature.
What format to do it?
There is no ideal format to set up the 3 amigos. Here are some formats that I can advise you; to see if these fit your context.
Ceremony before the Refinement Product Backlog
Some will do the 3 amigos a day before the Product Backlog Refinement to complete the user-story just before team refining and estimation. As it is not uncommon for the Product backlog Refinement to be used to validate that the user story is “ready” (complies with the definition of ready), it is preferable that the tests be finalized before.
It’s a job during the Product Backlog Refinement
Indeed, some will take advantage of the Refinement Product backlog to do this work. However, the 3 amigos take a lot of time and some will find that the presence of the entire development team can be a waste of time.
However, other people will consider that this teamwork will allow a perfect understanding of the user stories by the whole of it.
I leave you alone judge of this fact; the best is to test and draw conclusions.
Conclusion: 3 amigos in agile
3 amigos is a concept less widespread today but that really deserves to be known. Do you think this extra ceremony would allow your user stories to be more complete?