16 August, 2017
Three Amigos in the World of Agile
The basis of Agile is a single, multi discipline team working collaboratively to deliver working software. But how do teams ensure that the have a common understanding of what they are delivering?
In must be understood that in the real-world implementation of the theory will be different for each team, project, organization and flavor of Agile.
Following the practices of iterative sprints, daily stand-ups and regular feature demos, how does each person within the team come to a common understanding regarding a feature or story?
This is when the Three Amigos sessions are held. They are a short 30 min – 1hr session to discuss all aspects of the story. During the session the following areas are discussed:
Business analysts discuss user stoies/requirements/acceptance criteria.
Developers discuss the code.
Testers discuss scenarios/test cases.
Without a shared understanding across the team, there can be confusion regarding behaviors, complexity, code, duplication and depth of testing.
Some teams see the Three Amigos as a prescriptive meeting with outcomes and an agenda and other teams use the Three Amigos as a discussion session for each story.
By introducing Three Amigos sessions to Sprints/Iterations, it gives the Business Analyst (BA) an opportunity to present the story requirements and discuss the tests for a new feature.
The Three Amigos - normally consisting of BA, Developer, and Tester - is one of the key ways to change the culture of the team to be more Agile, and encourage more collaboration. These sessions allow for the team to discuss the new feature and review the specification. The aim is to create a common understanding and shared vocabulary so that everyone is on the same page and also estimate how many story points each user story is allocated.
The Three Amigos ensures a common understanding for a story in the team; a session between Product Owner (Business), Developer, Tester. The 3 Amigos session will also define the definition of done for the story. In other words, creating a set of criteria to know when the story is complete and the feature ready for delivery.
Good practice is for the Developer and Tester attending the sessions to be the same ones who will develop and test the feature through to completion.
The Tester and Developer can identify missing requirements/test cases, and once these are defined the feature can progress to development and allocated to the appropriate iteration/sprint.
By Brian Gilmour and Frazer Shaw, Senior Test Analysts at Edge Testing
Back to Blog