System Team and Shared Services
In their book, Team Topologies, Mathew Skelton and Manuel Pais, describe four fundamental teams types that enhance and simplify this task of organizing around value, These team ‘topologies’ provide insights on how to organize solution builders and create a clear model for organizing Agile Teams within SAFe. The four team topologies are show in the diagram below.
When it comes to adding up the teams or delivering a large solution it becomes difficult to maintain every team and solution. In such situations system team and shared services are a relief. When there is someone to maintain your track, planning path, and deliverable, gives an added advantage for the team. In a small agile team, this is done by members of the agile team itself. But when it comes to multiple teams working together to develop a solution, the job becomes complicated as it's so much more to handle. To integrate the entire solution the ART needs the help of system team and shared service to ensure they are able to deliver the integrated solution.
The system team is a guide in building and supporting the development environment in an agile team. It is a specialized agile team. It helps in jobs like; developing and maintaining the toolchain which is for a continuous delivery pipeline, integration of assets for an agile team, solution testing, and releasing it on demand. As we know, the agile team is part of the Agile Release Train (ART) responsible for delivering larger system and solution value.
To support this one or more specialized team is required. In such cases, the system team and agile team share responsibility in reaching the goals in more defined and agile ways. Sometimes system teams are not part of ART as only an agile team is enough to handle the responsibility but in larger solutions, a specialty expert is required including the system team.
The System Team assists one or more ARTs in building and using the Agile development environment infrastructure—including the Continuous Delivery Pipeline toolchain—as well as integrating assets from Agile teams and performing end-to-end solution testing. They often participate in the System Demo at the end of each Iteration and the Solution Demo at the end of each Program Increment (PI), or more frequently as the case may be. The demos support the teams and other stakeholders by providing quick feedback concerning the fitness for use and integrity of the evolving end-to-end solution.
System Teams may also assist with releasing and with Coordination of Solution Trains for large Development Value Streams. However, the System Team and Agile teams share this responsibility. Otherwise, the System Team can become a bottleneck, and the Agile teams will not be fully capable of—or accountable for—full end-to-end value delivery.
In structuring the system team there are three keys considered based on the scope and complexity of the development value.
As per ART, there is one system team that aligns the solution integration and validation.
There is a single system team for complete solution train to complete the responsibilities of all of its Agile Release Train.
There is a system team for Agile Release Train and solution train.
The responsibilities of the system team are
System team building and maintain the development infrastructure.
Create and maintain the CI-CD pipeline tool chain, including CI, automated build , automated build verification testing, and automated deployment.
Creating Platforms and environments, which may be cloud based - PaaS for development and system demos.
Facilitate technical aspects of collaborations with third parties, such as data or service providers and hosting facilities.
The system team does solution integration to achieve complex solutions.
Participate in PI Planning and the Pre and Post-PI Planning events in Large Solution SAFe and in backlog refinement to define integration and test backlog items
Determine and help maintain decisions and policies for version management
Run solution-level build and integration scripts or manually integrate where automation does not yet exist
Attend other teams’ stand-ups to support daily activities
It does end-to-end testing necessary that supports the Agile Teams
Create newly automated test scenarios
Extend test scenarios to data sets that more closely match production
Organize test cases designed by individual teams into ordered suites
Perform manual testing and run automated tests for new Features
Prioritize time-consuming tests, refactor, and run reduced test suites where applicable
Help teams create ‘smoke tests‘, reduced-test suites that they can run quickly and independently for developer builds
Test solution performance against NFRs and assist System and Solution Architects/Engineering in identifying system shortfalls and bottlenecks
At every iteration, they perform system and solution demo.
At the appropriate time during every iteration, the ART demonstrates the current, whole system to stakeholders in the system demos.
Likewise, the Solution Train must integrate and show progress at the solution demo.
The System Team typically helps prepare the technical environments to reliably demo the new solution functionality.
It helps in preparation, package, and deploys solution deliverable.
The System Team often has unique skills and experience related to the evolving solution. It may include QA and operations personnel and members of the System Architect/Engineering team may serve as a member of this team. They have a broad, end-to-end solution experience, which means they understand what it is and what it does.
With this perspective, the System Team can support the ART or Solution Train to prepare, package, and deploy a solution as part of DevOps and the Continuous Delivery Pipeline activities.
By collaborating with an agile team, they balance solution integration and testing efforts.
The System Team, however, can never be the entire solution to the pipeline tooling and integration challenges.
They must collaborate with Agile teams on a shared vision to implement DevOps and the continuous delivery pipeline.
It is a service that includes specialized people, roles, services that help Agile Release Train and solution train to achieve their required goals. But as specified in its name it’s a shared service it doesn’t work full time in a single system. The individuals in this service are highly skilled in a specific skill forming their need in various teams at once, making them quite busy. To avoid such on-time emergencies it's required to be pre-planned to engage for the shared services when a team needs it. Sometimes they may become a part of an agile team for short time, or choose to act as a single team or they may work with a multi-team it depends on the goals and objectives they have to perform. However, in which role they perform, they are always committed to their responsibilities.
Every Agile Release Trains and solution train have the required knowledge, skills, and abilities to deliver values but it's not possible to expertise specialty function to every single Agile Release Train. In some cases, the need for skills in Agile Release Train may also fluctuate. To solve this, shared service support resolve the development issue with the required special knowledge and skill. Examples of shared services are:
Application or web portal management
Information and Enterprise architecture
International and localization support
IT service management etc.
The shared services carry responsibilities like:
Engage in Program Increment (PI), Pre Program Increment, and Post Program Increment planning.
Driving requirements as per need, adding to a solution and accepting ownership for their dependent backlog items.
Complete dependency occurred during Program Increment execution by integrating with the agile team.
Take part in system demos, solution demos, inspect and adaption workshops.
System team and shared services are the specialty teams and services that may not work throughout the journey with the agile team but they are always there if a team has any difficulty or bottleneck to overcome, making SAFe an agile success. They always create a sense of balancing between them and the agile team, prioritizing the shared vision by implementing the decided roadmap and achieving the estimated milestones.
About Advance Agility
We, at Advance Agility, are the new-age Agile Coaching, Consulting and IT services company. We enable end-to-end Digital Transformation. Agile execution is integral to our being. We are doing SAFe implementation with small, medium and large organization across the globe. Our vision is to be the leading Agile execution player globally. To keep adding value at every process stage. We are on a mission to empower our clients, move from concept to cash in the shortest sustainable lead time by adopting human centric approach to business agility. Embracing the change is in our DNA. Things that keep us apart are Quicker and Seamless execution with End-to-end gamut of services. Our Global presence and Stellar Track Record give us an edge over our competitor.
Connect with us at advanceagility.com to learn about SAFe and SAFe Implementation. Write to us at email@example.com for any agile training or consulting needs. We are always looking for competent agile trainers as well. So if you are a good trainer or want to become one, do get in touch with us to that we can learn, grow and achieve together.