Introduction
According to the Agile Manifesto, agility favors people and interactions over processes and tools.
Users or their representatives and developers must work together on a daily basis throughout the project.
If the Product Owner and the Scrum Team absolutely cannot work on the same workspace, for example in the case of an offshore project, then the Agile approach must be adapted and the processes and tools for oral and written communication must be strengthened.
Key Points
This article presents recommendations by activity and project event , some of which apply to any multi-site project and others are specific to agile methods.
We will also reveal all the pitfalls to avoid in a remote agile project.
Organization of the Team
Distribution of roles across multiple sites
- Appoint a Scrum Master to the Dev Team to facilitate the operational success of the project.
- Nominate a Tech Leader In the Dev Team to ensure a reliable technical and application architecture. If necessary, bring in a Technical Architect to challenge the choices and make reviews.
- Nominate a Quality Analyst In the Dev Team to facilitate verification during the sprint: It is important that the Business Analyst (the person who wrote the specs) participates in the verification during the sprint, ideally they will tune up with the developers, even if they are remote.
- Name the Business Analyst In the vicinity of the Product Owner to facilitate the understanding of the need. When this is not possible (Offshore Business Analysis), plan for a relocation of the Business Analyst on key milestones (scoping phase, end of design).
- Identify the person responsible for engaging remote site resources (Project Manager Offshore).
- If the agile Dev Team is spread across multiple sites, break down product responsibility between each site.
- Create mailing lists to promote transparency: Dev Team + Steering Team.
The Trap
Duplicating the roles of responsibility by site , which does not promote proximity.
KICK OFF
GATHER ALL CONTRIBUTORS ON THE SAME SITE AT THE END OF SPRINT 0
- Get to know each other to create synergy:
- Invite the Product Owner and the customer Business Owner to the Dev Team site.
- Understand everyone’s role in the project.
- Be aware of cultural differences.
- Organize a festive event: agile game, city tour, restaurant, party, team photo.
- Present the challenges of the project:
- Vision of the product and its roadmap (by the Product Owner)
- Organization of the project (by the Scrum Master)
- Share sprint0 choices:
- Product Backlog (by the Product Owner)
- Technical and application architecture (by the Tech Leader)
- ISO technical environments on all sites (by the Tech Leader)
- Graphic charter (by the Art Director)
- User Experience map (by the Ux)
The Trap
Organize a remote Kickoff to reduce costs.
DESIGN
INVOLVE THE REMOTE DEV TEAM IN THE DESIGN
- Organize business workshops in the presence, if possible physically, of at least one person from the remote Dev Team (Tech Leader)
- Involve at least one person from the remote Dev Team (Tech Leader) during remote Product Backlog Reviews.
- Organize a systematic peer review on design documents by the Dev Team (before sending to the client)
- Involve the Quality Analyst in the design (ideally, they contribute to the writing of specs or do the peer review)
- More formally detail the technical and functional design documents and review them with the Dev Team.
The Trap
” Stick to the specification ” rather than contacting the Product Owner during development.
SPRINT PLANNING / REVIEW / RETROSPECTIVE
ORGANIZE AS MANY AGILE SPRINT RITUALS AS POSSIBLE ON THE SAME SITE
- Plan for longer sprints of 3-4 weeks, compared to a single-site organization.
- Bring together the entire Scrum team (including the customer Product Owner) for 2 days at the Dev Team site, at least 1 sprint out of 2:
- Day 1: Sprint Review N,
- Day 1: Sprint Retrospective N,
- Day 2: Sprint Planning N+1.
- In the event of a remote demonstration, check that the connection is working properly and provide backup videos (if possible with comments on the soundtrack).
- In the case of a Sprint Review at a remote site, offer the Product Owner to present the product to stakeholders (who are not on-site) after the Sprint Review rather than having them participate remotely.
- In the presence of the Sponsor (or other stakeholders) in confcall, avoid asking offshore developers to present the product in turn (risk on sound quality and technical language)
The Trap
Believe that digital communication techniques are as effective as physical exchanges.
INTEGRATION
TRACK PRODUCT PROGRESS ON THE INTEGRATION ENVIRONMENT
- Multiply the “one 2 one” screen sharing sessions between Product Owner and Developer for tune-ups.
- Finely cut the User Stories (to be divided into subtasks of less than a day).
- Share the request workflow (User Story and anomalies).
- Agree to a user story check during the sprint without waiting for the Sprint Review, in order to reduce the risk of misunderstanding.
- Test the User Story on the integration platform and not on the development platform.
- Define and share the notion of Done with an emphasis on unit testing and continuous integration.
- Implement good configuration management.
The Trap
Wait until the last moment to integrate other components.
DAILY SCRUM
ORGANIZE A MULTI-SITE TEAM MEETING
- Set the time together according to the time difference.
- Set up a daily team meeting by skype with all participants.
- Be rigorous in respecting schedules.
- Display the Scrum Board in a shared way and update it before the Daily Scrum.
The Trap
Organize one Daily Scrum per site.
TESTS
SET UP A CONCERTED AUDIT
- Develop the testing strategy in a concerted manner.
- Formalize test scenarios in more detail.
- Divide the testing effort between sites.
- Be demanding on quality from the first sprints.
- Involve the Product Owner (or Business Analyst) right from the start.
The Trap
Delegate system testing to the remote site.
STEERING COMMITTEE (Comité de Pilotage)
INVOLVE SITE MANAGERS IN STEERING COMMITTEE
- Involve the remote Scrum Master in the Steering Committee with the client.
- On large projects or projects in difficulty, organize an internal Steering Committee with the resource engagement manager of the remote site to:
- Report on the progress of the project.
- Share budget allocation rules.
- Make any strategic decision.
The Trap
Do not involve a remote site manager on the Steering Committee
MANAGING
MAKE DECISIONS IN A COLLEGIAL WAY “ONE PROJECT & ONE TEAM”
- Deliberately increase the effort and quality of communication.
- Equip yourself with high-performance communication tools (video conference room, network, telephone, etc.).
- Develop a common understanding of the project’s operational situation and risks.
- Involve agency management in strategic decisions.
- Plan for an additional load related to the distance effect (piloting, design, testing, rework).
- Set aside a travel budget.
- Do not consider the remote (offshore) site as a subcontractor by sharing the same objectives for all sites.
The Trap
Losing operational contact by delegating without any control.
CEREMONIES
CELEBRATING SUCCESS TOGETHER
- If possible, bring the teams together to celebrate an event such as:
- Signing the contract
- Pilot implementation
- Release Acceptance
- Otherwise, organize a party remotely by skype or Teams and share the celebration by video conference if possible.
- Encourage the customer to send an email or a thank you video.
The Trap
Celebrate an event without the remote site.
CONCLUSION
- Distance is an obstacle to communication and can introduce various constraints:
- Jet lag.
- Public holidays.
- Language.
- Culture.
- But the greatest distance is the one we put between us (sometimes a few meters)
- Make the effort to exchange physically, especially at the beginning of the project.
- Increase the formalization effort.
- The tooling will help communicate better regardless of the distance.
- Taking the other into consideration is just as important.
- Distance is not measured in kilometres, but in the quality of communication.
0 Comments