Barış Erkent // Çevik Koç - Allianz Türkiye
One of the achievements of agile work is speed. But getting certain things done faster depends on the dependencies between functions. For teams, dependencies on other functions or external partners are challenging, as are dependencies where multiple teams work on the same product backlog.
So let's ask: Why do inter-team dependencies arise?
Let's start with the most common causes:
- Complex architectures.
- Lots of microservices belonging to different teams.
- Outdated systems and processes.
- Centralized information.
- Only certain teams and members have access to data or systems.
- Hierarchical structure between functions and environment of distrust.
- Teams couldn’t meet new project requirements when there is a plan change.
- Lack of cross-functionality or teams with limited skills don’t rely on other teams.
- Resistance to process or organizational change.
For effective dependency management, it is necessary to know the types of dependencies as well as their causes. Is this situation internal or external to the team? Is it mandatory or optional? Or is it due to the nature of the job?
Let's review the most basic types of dependencies.
Technical dependency: This occurs when technical changes are required in an area beyond the team's control. For example, when changes are required on an API service managed by another team, different dependencies arise as stakeholders are affected.
Activity dependency: Inability to progress until an external activity is completed. For example, waiting for a suitable environment for development to be provided before a development starts.
Dependency in business processes: Some business processes, such as reviews, audits, or compliance, can affect the team's ability to complete work.
Requirement dependency: It occurs when the team is unsure about the need or when people having domain knowledge (such as product owner, stakeholder, program manager) are not available at the moment to identify the need.
Expert dependency: The need for special expertise and technical knowledge on a subject. If the team has this expertise, it is called internal dependency and, thus, it easier to manage.
Effective management of dependencies is a topic that has been on the agenda recently. It covers many critical points, such as the relationships between the elements that make up the business, their visualization, and awareness of dependent activities, documentation between systems and resources, and utilizing the right technologies. In this context, let's learn how to reduce dependencies in the next article.
P.S. You can contact us by clicking here to share your experiences and ask questions about the agile working method.
****
Sources:
https://www.scrum.org/resources/blog/eliminate-dependencies-dont-manage-them
https://medium.com/agile-outside-the-box/dependency-management-techniques-187f888a6aad
Comments