In multi team agile settings it is important to ensure that the product increments coming from the teams, integrate successfully to create business value.
Done is all done
In agile, teams tend to focus on the work coming from the backlog of the team. In a multi-team environment this can result in a not working solution due to integration problems. Agile teams must take full responsibility for a working solution, including integration, this requires a coordinated approach.
Integrate often
Big bang integration and ad-hoc integration must be avoided as there is little control and high risk for integration defect. Frequent integration reduces the integration risk due to the smaller integration parts..
Share knowledge
Identifying integration risks and execution of integration tests requires deep knowledge of the full business landscape. This knowledge is often scattered over teams and/or centralized in only a few people. Knowledge sharing between teams is essential to ensure that all teams have sufficient knowledge of the full landscape so they can do their share of integration testing.
The levels for Integration are typified as follows:
Please find the checkpoints below.
Forming | |||||||||||
1. The project manager facilitates regular communication between teams by eg. organizing the scrum of scrums 2. Integration is being discussed between the teams 3. The agile delivery teams have a common DoD 4. The integrated solution is demo’ed to the stakeholders |
|||||||||||
Norming | |||||||||||
1. The integration responsibility is clearly defined 2. Cross team Integration activities are pro-actively executed 3. The system level integration tests are managed 4. Every team applies the continuous integration methodology |
|||||||||||
Performing | |||||||||||
1. Integration knowledge is shared between the teams 2. Teams apply continuous integration methodology on a common code base 3. Every team increment integrates to a working solution every iteration |