How different scrum teams implement shared components?
One of the basic rules when forming a SCRUM team is that the team should have all necessary skills to create releasable increment each sprint. In my logic this leads to feature teams.
Let's say that two or more different feature teams have need for common component. For example the login logic. How will this be implemented?
How can this be resolved? How will the different teams collaborate with each other to create the common component so we don't end up with two different solutions for the same thing? Is horizontal team an option?
For smaller features and once off scenarios it would be ideal to keep the communication open and make sure that the teams are talking to each other. If the dependency is higher, I would consider scaled scrum (https://www.scrum.org/Resources/The-Nexus-Guide)
To minimize inter-team dependencies, one team could first implement the smallest valuable feature which would utilize and validate the necessary technical components.
In the case of a login this ought to be straightforward - logging in clearly aligns to a discrete feature capability. Once this minimum feature has been provided, the technical elements will be available for use and further enhancement.
Hello All,
I have a similar dysfunction within the organizational team structure where they have "vertical" teams working for different demographic regions across the world due to few varying customer requirements and are also having "horizontal" teams serving them for various customer channels,data access layer, personalization, content management, payments and accounting.
Based on few observations have gone through Nexus case studies which I feel might help but before recommending the leadership team.
I would like to seek recommendations/view regarding the same from fellow practitioners and also help on below queries.
- In what ways the information/evidences can be shared about slicing the horizontal teams to vertical teams to minimize dependencies?
- What practices can be kick started in such circumstances?
- How can we transform towards building cross-functional/features teams given the current structures (explain above) ?
Thanks,
Umar
Vertical slicing implies that one team will build anything and everything needed to implement a fully functional piece of value. If you have horizontal sliced teams they usually will not be working on functionality that the teams need. They tend to build "standard" or "corporate" functionality that all teams are then expected to use. Can that be helpful? Sure in a large organization where there are some specific standards. But it can still be vertically sliced.
Remember that cross functional teams contain all of the skills and knowledge needed to build their increments. So why not distribute the horizontal team members across the vertical teams and increase the skill sets for every team? Then you have a Community of Practice formed along the horizontal boundaries where individuals from all teams can meet, discuss and incorporate "corporate best practices" into the work that they do? In this way, each team can actually deliver vertical slices while still maintaining the organizational horizontal requirements.