SAFe System Team - A Detailed Guide on System Team in SAFe

Welcome to PremierAgile!

Recognized for 'Outstanding Leadership in Education and Learning' by the Education 2.0 Conference Dubai 2024

Proud to Announce "AGILE51 SUCCESS FACTORS" by Suresh Konduru, featured in Times of India - 2024!

*Avail a Flat 10% Discount Across our Agile-Scrum certification courses use coupon code SCRUM10

We Offer World-class guidance to transform yourself as well as your organizations

PremierAgile

With an objective to enable continuous learning and progression for our learners, PremierAgile curated several learning articles in the areas of Agile, Scrum, Product Ownership, Scaling, Agile Leadership, Tools & Frameworks, latest market trends, new innovations etc...

Introduction to System Team in SAFe

Introduction to System Team in SAFe

A system team in any organization is responsible to assist with the development and utilization of the development environment infrastructure. The system team will even evaluate the system increments; the role of this team can encompass integrating code from Agile Teams, testing automation and testing platform. The team will even take care of building environments and development and maintenance of continuous integration. Further, the system team in any organization will have the required tools and skills. These skills and tools will help them perform end-to-end system testing. The team will also have the tools and skills for explaining solutions to stakeholders. Even, they guide teams in an organization with non-functional requirements system testing.

Source: Scaled Agile

System Team in SAFe:

Is the SAFe system team different from the regular system team in any organization? Yes, as per SAFe, a system team will guide the Agile teams in an organization. The system team will guide with ART for different activities like:

  • The creation and up-keeping of a continuous delivery pipeline tool chain. This encompasses automated deployment, automated build verification testing, automated builds and continuous integration
  • The creation of platforms and atmospheres for user acceptance testing, solution demonstration and deployment.
  • Facilitating the technical elements of associating with third parties like hosting and data service providers.

In SAFe, Agile teams are not detached units. The reason is that they are a portion of Agile Release Trains and they are responsible jointly for the release of solution value and larger system. The innate quality procedure needs extra infrastructure work for releasing, deploying, integrating and building solution assets at frequent intervals. These things happen in different phases of the pipeline. To make this happen, one or more exclusive system teams are to be formed in an organization. As a system team is an enabling kind of Agile Team, it will be in a position to construct the atmosphere and help with the solution and system integration. They make the teams speed faster by carrying out some non-functional requirement tests. Even, the team can aid with the demonstration of solutions as they are in the process of development.

As months and years pass by, System Teams are at times eliminated from the Agile Release Trains. The reason is that the Agile Teams take up the responsibilities of system teams themselves. When it comes to larger solutions, the chances of specialty expertise to stay with a single or a few system teams. In this case, the best economic value achievement becomes possible. It becomes possible by centralizing some skills, people and scientific assets.

The Role of System Teams in SAFe:

The System Team guides single or more Agile Release Trains with the development and use of Agile Development atmosphere architecture. At the close of each iteration, the members of a system team often take part in the demonstration of the system and the solution. The team does this at the end of every Program Increment as well. Otherwise, they do it at the required intervals. The demonstrations that this team releases will underpin the stakeholders and other teams. This assistance is provided in the form of quick feedback on the robustness for the usage and solidarity of the top-to-bottom solution that is being developed. Even, the system team can assist with the delivery and solution trains coordination in the case of large development value streams. Nevertheless, the Agile teams and system team share their responsibility. When this does not happen, the system team may turn out to be a hindrance. Also, the Agile teams cannot be accountable or capable of complete top-to-bottom value delivery. System teams are specifically helpful with supporting challenges that are part of large-scale integration. Based on the complexity and the value of the development value stream, you can follow one of the three essential styles when composing the system team in your organization:

  • There will be a system team both for Solution Train and Agile Release Trains.
  • For the whole solution train, there will be a sole system team, which can meet all these responsibilities for all its Agile Release Trains.
  • There will be a single System Team per Agile Release Train that jointly coordinates the validation and solution integration.

You can decide a particular style based on your particular context. Some of the factors you will have to consider when making this decision are the development infrastructure and system testability. The other factors encompass integration policies across the Agile Release Trains, the architecture of the solution and the Agile Release Train structure within the development value stream.

Reasons to have a System Team:

Are you wondering whether it is crucial to have a system team in your organization? The main reason to have this team is to have a capability available for constantly increasing the speed of Agile Release Trains. Above all, you can get the speed without participating in the never-ending stress associated with product priorities. You can consider a well-maintained agile release train like a race car. Yes, you are right! It cannot run. Rather, it relies greatly on automation. Even, it relies on interconnected tooling for releasing demands to solutions with agility. For these reasons, it is important to have a system team.

Responsibilities of System Team:

The very basic responsibility of a system team is to build development infrastructure, solution and system demos, end-to-end testing, solution integration and releasing them. You can gain a better understanding of these responsibilities here:

Development Infrastructure Building:

A good infrastructure will extend the best help for high Agile Release Train speed.  So, a system team may:

  • Make the technical aspect of association with third parties possible. These third parties include hosting and data service providers as examples.
  • Generate atmosphere and platforms for user acceptance testing, automated builds and ongoing integration.
  • Generate and upkeep ongoing delivery pipeline toolchain. It can include automated deployment, automated build verification testing, automated builds and continuous integration.
Solution and System Demos:

At the most suitable time during every iteration, the Agile Release Trains demonstrate the entire system of stakeholders and the present system in the system demos. In the same way, at the solution demo, the solution train should include and show growth. The system team will aid with the preparation of the technical atmosphere to dependably demonstrate the new solution functionality.

End-to-End Testing:

When talking about SAFe system team responsibilities, you should know that this team might also carry out some testing works. The team does it for supporting the Agile teams. It engages in the creation of a new automated test layout. Even, it extends test layouts to data sets that are very much similar to the production. Also, a System Team will bring together the test cases that different teams in your organization have developed. Thereafter, these cases are converted into ordered suites by the system team. Here is the list of other responsibilities that a system team takes:

  • Carries out manual testing
  • Run automated tests for new features
  • Gives importance to tests that consume time
  • Refactor and run reduced test suits, wherever applicable
  • Tests solution performance against Non-functional requirements and aids with a solution and system engineering/architects in recognizing hindrances and shortfalls in systems.
  • Aids teams with the creation of smoke tests 
  • Helps with the creation of reduced-test suits that can operate independently and quickly for developer builds.
Solution Integration:

When it comes to developing complex solutions, a System Team might be required to do the following tasks:

  • Attend the stand-ups of other teams for supporting day-to-day activities
  • Operate solution-level integration and build scripts or manually bring them together in places, where automation is yet to be done in your organization.
  • For version management, the system team can identify and aid with the maintenance of policies and decisions.
  • Take part in Large Solution SAFe, Post PI-Planning and PI Planning. Even, the team can take part in the refinement of the Backlog for explaining testing and integrating items in the backlog list.
Release:

When it comes to evolving solutions, the System Team generally will have unique experience and skills. The reason is that this team will encompass people from the operations department and system engineering and architect. So, together they can provide an end-to-end solution experience. It means that the team members can understand not only what it is but also what it does. With this point of view, the system team back the solution train or Agile Release Train to get ready, pack and release a solution as a part of continuous delivery pipeline and DevOps activities.

Balancing Testing and Solution Integration Efforts:

Of course, a SAFe system team can perform a wide range of tasks. Nevertheless, this team can never turn out to be the whole solution to the integration challenges and pipeline tooling. They should associate with Agile teams on a shared vision for the implementation of a continuous delivery pipeline and implement DevOps. Efficient development of solutions needs sharing of the best practices. For instance, if the System Team carries out end-to-end performance testing but individual teams do not perform even lightweight performance testing, there will be an increased probability of rework and delays and performance issues. Even, the reverse is true and needs teams to perform extensive performance tests for every story slows down their speed. Improving the speed of Agile Release Trains needs a sense of balance between system and Agile Teams. 

References:
  1. https://www.scaledagileframework.com/system-team/
  2. https://www.oreilly.com/library/view/safe-45-reference/9780134892917/ch076.xhtml
  3. https://wearemovement.se/blog/2021/system-teams-why-who-and-how/
  4. https://www.solutionsiq.com/agile-glossary/system-team/

 

Author

Paula

Is a passionate learner and blogger on Agile, Scrum and Scaling areas. She has been following and practicing these areas for several years and now converting those experiences into useful articles for your continuous learning.