Whether you’re starting implementation at square one or expanding from select teams to the entire organization, applying Agile at Scale will change your company’s operations and processes at a fundamental level. And executives, managers, and workers must quickly adopt and adapt to new agile practices for a successful transition.
Implementation may sound daunting — until you consider the agile principle of continuous improvement. The goal isn’t to apply Agile at Scale practices perfectly from the beginning, but to experiment, determine what works, and change for the better on the next iteration. And, while agile’s core practices — multi-team coordination, daily stand-ups, and dependency management — will remain, you’ll adapt each process to better suit your organization’s needs, improving efficiency and boosting value as your team matures.
Multi-team coordination and planning
One key feature of an agile organization is multiple cross-functional teams (or “Scrums”). These groups usually work independently, but when faced with a larger, more complex project, multiple teams might come together as an Agile Release Train (ART) to work on a single backlog.
Agile project management’s primary concern is coordination and planning. You must ensure each Scrum’s work aligns with the project’s objectives and advance company goals as a group. Keeping agile cross-functional teams on the same page requires implementing various practices to maintain a shared backlog’s organization and ensure productivity. Depending on the project and ART size, you may need to schedule some (or all) of the following planning meetings:
- Integration: Create a single development environment where work on each product increment can occur concurrently and integrate immediately with other components.
- Architecture decisions: Determine how to decentralize oversight of architectural or technical standards to allow autonomous team operation while maintaining project and company standards.
- Decomposition: If your backlog contains epics, divide them into smaller projects for faster turnaround. The process requires research and review from all Scrums, so appoint a facilitator to initiate and direct these discussions to ensure productivity.
- Project planning: Establish the project vision with the broader team. Once complete, solicit collaborative input to establish the project roadmap and backlog and note any potential roadblocks.
- Release planning: Identify dependencies, scope gaps, and talent allocation based on who will do what work and when throughout the release cycle
- Sprint planning: Determine which task from the backlog each Scrum will complete over a defined period (usually about two weeks). Use the planning process to flag dependencies not identified in the product roadmap and determine how to address them.
- Routine meetings: Hold regular sprint reviews, retrospectives, and daily stand-up meetings to ensure progress stays on course. (More on these below.)
Scaling daily stand-ups, reviews, and retrospectives
Because of the focus on collaboration, agile encourages a variety of meetings to promote communication and coordination between Scrum members, Scrum leaders and stakeholders, and ART members. These include daily agile stand-ups, sprint reviews, and retrospectives.
A stand-up is a short, daily meeting led by the Scrum master that updates team members on yesterday’s progress, shares the current workday’s tasks, and identifies potential roadblocks. Each session should end with a clear-cut action plan to accomplish the day’s work and overcome any challenges.
Reviews occur at the end of each sprint, allowing Scrums and ARTs to present their work to the team, stakeholders, and clients. A sprint review generally includes:
- Check-in: Ask how your team is faring and adjust pace and workload if they are overworked or if team members have availability.
- Overview: Take note of which tasks your team completed, postponed, or returned to the backlog during the sprint.
- Evaluation: Discuss what went well, what didn't, and how your team adjusted. Make note of what lessons they learned.
- Discussion: Talk through completed items in depth and perform demonstrations to clarify concepts or processes. And don’t forget to conduct a feedback session with stakeholders.
- Planning: Review feedback, the backlog, and any new requirements for additions to upcoming sprints. Discuss any concerns about capacity, budget, or other potential roadblocks with the team and offer everyone a chance to share their ideas.
Retrospectives occur at the end of a sprint or upon project completion. Scrum masters lead sprint reviews to identify improvements to workflow and team-level processes. Meanwhile, project managers conduct project retrospectives. Both are vital opportunities to identify high-level systemic issues and brainstorm solutions. Once the team has landed on an idea, this is the time to create an action plan for change, including a follow-up to assess impact.
Organizing these meetings is straightforward at the individual team level, but once you begin to Scale Agile, coordinating multiple teams across entire departments becomes more challenging. Add meetings at various levels depending on your organizational structure to accommodate the added complexity and provide visibility. Here’s how:
1. Program level: Bring together a representative from each Scrum to ensure alignment with broader goals. Meetings may include:
- PI planning
- ART syncs
- Scrums of Scrums
- System demos
- Inspect and adapt workshops
2. Portfolio level: Representatives of each program gather to ensure organizational alignment through:
- Lean budget reviews
- Communities of practice
- Portfolio syncs
Transparency is an essential part of the agile methodology — information should be easily accessible to promote engagement with company activities and goals. Build organizational transparency by investing in project management software and communication tools that encourage the free flow of information between all levels of the company.
Scaling backlog management and prioritization
Agile project management involves creating and organizing each Scrum’s backlog of project items. An agile backlog is a prioritized list of tasks drafted by the product owner based on the project or product roadmap and requirements. The Scrum can continually pull from the backlog when planning each iteration of a Kanban-based project management system or individual iterative sprints. To do this:
- Analyze the roadmap to identify and decompose epics into smaller requirements and user stories.
- Organize the smaller tasks into a list for the Scrum master to use in sprint planning or add to the Kanban board for the development team to draw from.
- Prioritize items based on
- Customer priority
- Feedback urgency
- Implementation difficulty
- Item dependencies
As the backlog grows, the product owner can subdivide tasks into near-term and long-term items. Near-term tasks are fully defined before product development begins, meaning the team has completed the user stories, coordinated design and development activities, and established all relevant timelines. Long-term items can be less defined but still require a rough development timeline for proper prioritization.
Keep in mind that the backlog is a fluid, living document that requires ongoing management. The product owner has the agility to make adjustments at any time based on customer feedback, changing market forces, or refined estimates — so long as work on an item hasn’t begun. Regular reviews, known as “backlog grooming,” incorporate feedback from prior sprints and ensure the product owner continues to prioritize tasks appropriately.
Coordinating cross-team dependencies
The software development industry evolved the agile method to do away with the dependencies that characterize the Waterfall methodology of project management. Expecting agile development practices to remove dependencies entirely from a project is unrealistic, especially when coordinating numerous cross-functional teams. But, with some planning, agile can help minimize them.
A project can develop several types of dependencies:
- Internal/external: A dependency controlled by the Scrum is considered internal. A dependency based on the relationship between teams, functions, or organizations is external.
- Mandatory/discretionary: A mandatory dependency requires hard logic — completing one task before starting the next. An activity that doesn’t require completion but finishing it is preferable before moving to the next is considered discretionary.
- Finish-to-start (FS): FS is the most common form of dependency. In this case, Task 2 can only begin once Task 1 is complete.
- Start-to-finish (SF): For this type of dependency, Task 2 must begin before you can complete Task 1
- Start-to-start (SS): Task 1 must begin — but doesn’t require completion — before work can start on Task 2
- Finish-to-finish (FF): Task 2 can’t finish until work on Task 1 is complete1
1 - Tasks can have both SS and FF dependencies.
Dependency management is the process of recognizing, anticipating, and managing dependencies between teams, processes, and systems by:
- Identifying relationships between tasks
- Recognizing dependent activities
- Visualizing how dependencies affect the development process
- Documenting dependencies between systems, processes, and resources
- Leveraging project management tools to integrate dependency management into planning and execution activities
By working to reduce and manage project dependencies, you can remove roadblocks, minimize wasted resources, and speed up the development process. It also empowers teams to establish more realistic timelines by removing variability from the process and improving predictability.
Tools to take your agile team to the next level
We get it: Scaling agile can be a demanding process, and meeting agile principles of transparency and flexibility necessitates sophisticated tools. Fortunately, Structure by Tempo allows you to manage your portfolio and simplify the processes of plotting and decomposing epics into user stories and projects. Integrated with the Roadmunk platform, you can quickly create a visual roadmap of each project, simplifying planning activities and empowering you to more easily identify requirements and dependencies.
For more resources like this visit tempo.io/agile-at-scale.