Sunday, September 6, 2015

Three Amigos In Agile

Three Amigo is a process to get the various roles in a Scrum team together to have a common understanding about a Feature.
The aim is to create a common understanding and shared vocabulary across these individuals.

Key Players Involved:
  • Business Analyst (Could Represent Product Owner/stakeholders)
  • Developers
  • QA Members


Essentially, this is a meeting during which the business analyst (BA) presents the requirements and tests for a new feature.
The Three Amigos (BA, developer, and QA) discuss the new feature and review the specification. Intent is to make these constituencies to be heavily collaborative (have conversations) around the Acceptance Tests or Acceptance Criteria for each user story.

Aim of the Three Amigos process is to bring:
  • Shared understanding of the requirements across the Scrum team
  • Shared understanding of the tests across the Scrum team
  • Consensus about whether a feature was specified sufficiently and is ready to go into a development sprint.

Here is the process in detail:

·         The BA should begin the session by introducing the feature to the Amigos. Why is the feature needed? Is it like anything they've done before? Is there a visual design?
·         The BA should also present the requirements (prepared prior to the Three Amigos meeting). These will be reviewed by the Amigos, who will provide feedback, identify missing requirements/edge cases. The requirements should be updated in the session until the requirements are deemed ready for development.
·         The BA should then present the test scenarios (prepared before the meeting). These are also reviewed by the Amigos. Feedback is incorporated until there is agreement that the test scenarios cover the feature's expected behavior. This ensures good test coverage.
·         The developer is asked to identify Dev tasks that need to be done before development. For example, do they need access to an endpoint? Do they need to see variants of the visual design? These tasks are assigned and put on the current sprint board.
·         The QA is asked to identify QA tasks that need to be done before feature testing. For example, do they require access to a system? Do they need mock data? These tasks are assigned and put on the current sprint board.
·         Regarding estimating, the Amigos should have a common understanding of the requirements and tests. This is a good opportunity for the developer and QA to provide estimates.
·         The feature/specification should now be designated as ready for development. It has been accepted by the developer and QA and is ready to be assigned to a future development sprint.


Few Things To Note:

·         Timebox the Three Amigos meeting (30 minutes to 1 hour, max). Schedule it to occur one to two sprints before a feature is expected to go into development.
·         To embrace the iterative approach of Scrum, there may need to have several Three Amigo sessions in order to perfect a specification.
·         The developer and QA involved in the Three Amigos meeting should be the individuals who will develop and test the feature.
·         When specifying a feature in the Three Amigos, rather than using technical language (e.g., the JSON endpoint) or plain English (e.g., the financial instrument), prefer to use domain language.

Finally aim is – Accept only those features in development that have been Three Amigo'd, so that features are pulled rather than pushed into a sprint.



Regards,

Arun Manglick

1 comment: