DevOps is coactive. The Three Amigos qualitatively details the coaction. The Three Amigos not only helps to transfer siloed thinking into cooperative synergy, the process also assists in clarifying challenges to development, operations, and the entire deployment pipeline. Executing the software deployment pipeline is an especially detail-oriented venture. Standards constitute an exacting timeline towards project completion that comprises continuous, incremental, and iterative attention to production and defines lack of clarity in focus and objectives as prohibitive.
Many times agile and DevOps team members come into contact with items they don’t understand. When such situations occur, the usual measure has been to contact an expert. However any single expert usually communicates a single perspective, when the project requires perspectives related to all software features. Especially when revisiting previous coding, it is essential that developers understand the source and reason for the coding feature. At times project teams realize there are questions that have not been completely resolved.
It is difficult to communicate abstract values. The same questions seem to repeat throughout the delivery process.
- How can we be certain we’re saying the same things?
- How surely can we anticipate that deployment will succeed?
- How can we record decisions intelligibly for subsequent clarification?
What Problems do The Three Amigos Solve?
Enter The Three Amigos to ‘save the day’. Three Amigos meetings target software features to integrate diverse concerns in development. In addition to sharply forging agreement among different technology interests, The Three Amigos communicating abstract ideas to precisely meet the challenge. In response to the need for discussion on development details, the product owner or business representative may, for example, engage a developer and QA tester to join in exploration of the story elements, forming a meeting of The Three Amigos. The three technology experts make certain their inquiries are delineated and answered, with specific input from business stakeholders, before initiating development.
The Three Amigos productively encourages the agile and DevOps process of software development and release. As a collaborative advancement, Three Amigos collaboration precipitates a shared understanding about development features by cooperatively integrating the fact that:
- Clients/product owners speak of user stories and user acceptance tests
- Business analysts focus on acceptance criteria and business requirements
- Developers concentrate on coding and incremental unit tests
- QA aligns with scenarios and test cases
These differences in preference and concept generally cause confusion as to the definition of Done. Considerations of complexity also arise in that dynamic development impacts performance testing and test scenarios. A Three Amigos upfront grasp of the ‘why’ and ‘when’ of coding progressions is essential to moving the testing and operations processes forward. As well, lack of shared understanding can cause duplications. Without concrete insight into anticipating coding outcomes, testers are also unclear test planning which includes:
- Which components to test
- Which tests to conduct
- Whether to test a feature more than once using different test modules
Meetings among The Three Amigos are composed of an analyst, a developer, and an IT operations specialist, who combine their expertise to determine the requirements, coding design, and testing of software components. The focus is to achieve a single understanding across technological disciplines. The analyst may identify missing requirements. While the developer pinpoints needed features. And the IT representative determines possible irregularities in interface exchange.
Across agile and DevOps teams, resulting benefits of The Three Amigos collaboration can be:
- Shared understanding of development requirements
- Shared understanding of testing requirements
- Consensus on sufficiencies
Integrating The Three Amigos into Agile & DevOps
Accepting the outcome of collaboration among The Three Amigos ensures that such cooperative features are introduced into team projects by consent of team members. Rather than imposing new techniques upon the project, The Three Amigos incentivize team members to recognize the need for visible and understandable direction and focus. The diversity of inquiry and insight contribute quality specifications and a formulated awareness of requirements.
The team is brought into the realization that Three Amigos meetings should be comprised of the DevOps team members who will actually develop and test software features. Greater clarity of required output contributed through Three Amigos discussions also provides heightened visibility into developmental formats.
One manner in which The Three Amigos interact among themselves is to cite examples which more clearly communicate abstract ideas. Participants with different areas of expertise can better their intent illustrate to others by referencing an example. Examples and strategic scenarios significantly contribute to pragmatic discussion for meaningful results. The use of examples also allows each participant to know if the interests of their perspective have been met. As well, nuances in similar, though not duplicate, cases can be distinguished by the use of examples. Examples more sharply clarify stories.
- Examples empower the level of detail employed within Three Amigos discussions and communicated to induce time-effective production. Upon dissemination of example-facilitated discussion results, the project team is no longer pressed for time with the need to interpret story boundaries. What The Three Amigos discussion identifies determines what is or isn’t included in the direction of development.
- Previous to development, strategic scenarios can become considerations in acceptance tests that provide clear illustration of prospective functionality within the incremental application. Development thus has a discernible objective which keeps development on track, defies speculation, and discloses elusive detail.
- Examples and strategic scenarios assist in refining and specifying the backlog.
A technique that advances Three Amigos discussions is the use of business language. Different language and terminologies used in distinct technical divisions is partly responsible for the lack of clarified understanding. The Three Amigos process necessitates communication through the language of enterprise, overriding ‘program speak’, ‘system speak’, and ‘analyst speak. Through this language discussion participants speak in terms that are aligned with business terminology. Business analysts, being closer to project owners and stakeholders, tend to lead this change to ‘domain’ language.
Creating Your Team of Three Amigos
Prior to the The Three Amigos meeting, the business analyst may introduce a call for the collaboration with such inquiries as:
- Is The Three Amigos finite collaboration new to the project team?
- Why is finite collaboration, such as The Three Amigos, advantageous?
- How does The Three Amigos accord aid agile methodology/DevOps methodology?
Organized discussion processes follow. The Three Amigos dialog is conducted and recorded in business, or ‘domain’, language, and formatted with:
- Given, When, Then
- Backgrounds, Tags
- Scenarios, Scenario Outlines
‘Given’ steps define the known state of the system previous to the ‘When’ steps of user or user interface communication with the system. Even while concentrating on the system, the ‘Given’ step of does not include actual discussion about user interaction.
Plot a distribution curve
Given that variables are known
Given that distributions are independent
‘When’ steps describe primary user interactions with the system, such as:
- The actions a user takes to retrieve information
- Communication between or among users
- User input that affects remote locations
Monitoring analyzes system output as it relates to messaging, reporting, user interfaces, and command response. ‘Then’ steps monitor outcomes related to the benefit application features bring to business as value.
Concerning ‘backgrounds’ and ‘tags’, Three Amigos participants are derived from different technological backgrounds with distinct roles or tags.
‘Features’ depict user behavior and specify reasons for that behavior.
Feature: Drive an automobile
To get to the intended destination
Trains are too crowded and seldom arrive on time
Cars are private and comfortable
The possibility of changing routes for improve arrival times
‘Scenarios’ describe how an action can play out.
Scenario: The automobile operates properly
Given that the upkeep of the engine is current
There are no accidents
Road conditions are satisfactory for operation
The driver properly operates the automobile
Three Amigos discussions detail challenges with the purpose of finding more effective solutions. Using real world examples to achieve a shared clarity of needs and requirements, discussions utilize concrete examples to forestall ambiguities. Examples also expose missing requirements, as well as force and facilitate more in depth thinking on problems and functions.
The Three Amigos Discussion Agenda
The Three Amigos discussion is composed of a business analyst, a developer, and a QA/IT representative. Collaboration lasts 30 minutes to 1 hour; is conducted during the planning phase at a point of 1-2 sprints previous to development; and follows a determined discussion sequence:
The client or business owner presents pre-built test scenarios to The Three Amigos discussion.
Discussion stimulates feedback that produces agreement as to whether test scenarios address the projected behavior of software features.
The developer identifies tasks that need to precede development, such as:
- What are security concerns?
- What are the specifications for visual design?
- What are the functional and non-functional requirements?
QA identifies needed tasks, such as:
- Requirements for system access
- Requirements for simulated data
- System interface requirements
Development and testing features and specifications are assigned to the incremental production process.
The Three Amigos is a discussion strategy that balances development and operations in concerted agreement towards smoothing out software delivery. From an architectural perspective, discussions delve into the projected details of development to produce and present finite solutions to the project team. As the nuclear group of analytical agents, The Three Amigos integrate diverse expertise, interests, and perspectives to formulate a realistically reliable process for development. Within the conversation, the prime ingredient for success is continuous focus on quick delivery of quality software that maximizes business value. To meet pipeline delivery goals, the application produced therefore has to be the right fit.
By concept Three Amigos communication facilitates behavior driven development based on the reality that no single expertise provides a full answer to the problem. All angles of delivery can be considered with the collaboration of single representatives from business, development, and QA/IT. Business brings value, profits, ROI, and risk evaluation to the table. Developers contribute development solutions, details, and features. Testers focus on deficiencies, flaws, and breaks in interface communication.
With the use of examples, agile test management, and strategic scenarios, processes are clarified towards the fulfillment of requirement specifications that drive application development. Domain language can standardize communication towards a clarified understanding of problems, processes, and solutions. Using these strategies, The Three Amigos venture step-by-step through incremental progression unto application delivery.
Want to learn more about how diverse individuals build great businesses and teams? Attend the upcoming session of Atlassian Summit 2016- Diversity Matters: How to Be the Change You Seek.