Scaled Agile: Resolving Dependencies at Enterprise Level

Over the past few decades, Agile software development methodologies have become more popular and proved their contributions to the success of a business.

These methodologies contain 4 core values:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

After being put into place, people soon recognized that agile methodologies work best with a small organization and a lot of gaps show up when applying it to an enterprise.  

Dean Leffingwell’s SAFe (Scaled Agile Framework) allows for large organizations (1000+ people in IT and 250+ people in software development) to move toward a more agile way of working. It can also be just as effective for smaller teams of 50–100 people.

In a large organization, it’s not easy for all the business units, programs and teams to work toward the same goal without having a clear way to plan, identify the dependencies and resolve the blocks before they move forward with the execution. With SAFe, it’s less painful to figure out a solution for this as long as you keep in mind the following three practices:

Have a transparent plan across the organization

A common issue that happens in large organizations is the lack of awareness on what exactly other teams, programs and business units are doing. To ensure all teams are working toward a common business goal, priorities and plans should be made transparent early on.

One of the recommendations when implementing SAFe is having all the delivery streams doing the planning at the same cadence (for example: quarterly planning, iteration planning…etc.). It’s also recommended to have a central place to keep track of all the planning and show the progress of each team as well as identify the dependencies between each work. Once the team knows that their work is dependent on the other teams, they will have a better plan to address it.

Define a clear communication channel across all levels of the organization

Effective communication is essential for agile teams. In SAFe, the communication channel should be defined clearly from the bottom level upward: team (delivery team) → program (release train) → business unit (delivery stream) → enterprise. At each level, there should be a dedicated resource to follow up, address any issues and escalate to upper levels if necessary. This will bridge the gap in communication between groups of a large organization which can be common when multiple groups are assigned to the same workforce.

Be ready for urgent requests

It may seem redundant to mention, but an agile team is supposed to be flexible and adapt well to any request. That’s why it’s important to know how to react and plan for urgent requests items.

In a large organization, it’s pretty tough to shift the whole plan for a seemingly small request. Teams should allow for some capacity to be reserved for urgent requests like resolving a dependency or reacting against the market’s request.

Working in a big environment, urgent requests can come from anywhere or any team. It may mess up your business unit delivery goals. Be sure to keep in mind these practices to stay on track:

  • Stay organized of all urgent requests
  • Share and prioritize them across the organizations
  • Work toward an agreement plan to address them
  • Have a SWAT team or reserve some of your team’s capacity

There are many considerations to keep in mind when applying SAFe to your organization but these items should provide some help in tackling the dependencies for your team, ensuring all groups can perform at an optimized level and bring more value to your growing business.

Learn about Product Development Partnership

Schedule a Free Consultation

Quickly ramp-up teams and accelerate the delivery of your new software product.