This follows on from my last article about Scaled Agile. I'd said that there were some new roles introduced. The basic concept being of having 'scrum of scrums' to coordinate the work of the teams.
The 'Essential' model of Scaled Agile introduces the concept of a Program Level. This sits above the individual scrum teams and provides a common level of coordination. These Program level roles help the teams to stay aligned on the same set of goals. They coordinate the way that software is released. They also help prevent conflicting demands from different customers or parts of the organization.
For bigger organizations or more complex solutions SAFe introduces higher levels. These extend this pattern of having a small coordinating team working with the individual teams.
This coordinating level consists of a few key roles.
The System Architect or Engineer defines the architecture of the overall product. For big products, there may be a System Engineering scrum team. They help define the non-functional requirements. They outline the major elements and subsystems and define the interfaces between them. Their job is to provide the vision. How the contributions from the individual teams will fit together to make a unified product.
Product Management is the internal voice of the Customer. The Product Manager is like the Scrum Master of the Product Owner 'scrum of scrums'. They help the Product Owners work together to define the vision for the product in terms of its features and its benefits. They are responsible for the program backlog and the relative value of each item on the backlog.
The Release Train Engineer is the chief Scrum Master for the release train. Their job is optimizing the flow of value through the program to the customers. They coordinate and assist the individual scrum masters. Their job is to ensure that the overall process across all the teams works well. That teams have the tools and knowledge they need to be able to keep delivering.
The metaphor of the Agile Release Train refers to the way the teams deliver value to the customer. The key concept is that the train keeps delivering, always keeps moving at the same speed and it is the responsibility of its engineer to keep it running smoothly.
Described as people it is the long-lived team of teams. Each working to the same rhythm and developing and delivering incrementally. A pattern of two-week iterations, starting and ending at the same time, within a larger 8-12 week Program Increment. Each increment each team delivers some value to the customer.
The release train is also 'how' the product reaches the customer. Another way of looking at is as the tools and processes. Through these the work developed by the teams is integrated, tested and delivered. The idea is that at any point there is always a working though not necessarily fully featured product, that could be released on demand.
Business Owners are a small group of key stakeholders. They are not necessarily the main customers. They do however have the primary business and technical responsibility for the product.
They are responsible for the legal and governance aspects of the product. They also ensure that it gives the organization the return on investment they wanted. They are key stakeholders on the release train, and actively participate in all the key events.
The main events of this Scaled organization are the same as for an individual Scrum. These are the Planning at the start of a Program Increment, and the regular review of the product delivered.
How the Planning Increment and the PI event work, however, merits its own post.