Essential SAFe comprises of a number of Agile delivery Teams along with their various roles, activities, events, ceremonies and processes to build and deliver value, augmented by the Program level dedicated to continuously deliver solutions within an ART (Agile Release Train).
The ART is a virtual team of Agile cross-functional teams and stakeholders that develop and deliver solutions incrementally using a series of fixed length iterations within a PI (Program Increment) timebox. The ART aligns teams to a common business and technology mission.
The PI is a timebox during which the ART (Agile Release Train) delivers incremental value in the form of working, tested software and systems.
- PI - Program Increment
- ~10 weeks duration, comprising of 5 Sprints:
- 4 x standard Backlog based iterations
- 1 x Innovation & Planning iterations
The Innovation & Planning iteration provides:
- Estimating buffer for meeting PI Objectives
- Dedicated time for innovation, training/education, PI Planning and I&A (Inspect & Adapt) events
With so much dedicated focus on delivery, the team might lose focus on other aspects such as innovation, i.e. the potential "Tyranny of the urgent iteration" might override the opportunity to innovate, hence SAFe provides a dedicated Innovation & Planning iteration.
At the team level the usual Agile processes and ceremonies (Kanban, Backlog, Scrum) are followed by the ongoing Sprints to deliver NFRs (Non-Functional requirements) and Stories taken from the Team Backlog as prioritised by the PO (Product Owner). Additionally Enablers are also delivered that provide the supporting activities required to extend the Architectural Runway to provide future business functionality.
The Architectural Runway provides the technical foundation for developing business initiatives and implementing new features and/or capabilities, consisting of exiting code, components and infrastructure to implement near term features without excessive redesign and delay. Since the development of new features and capabilities consumes the architectural runway, continual investment must be made to extend it by implementing Enablers. Some enablers fix existing problems with the Solution, such as improving the performance or UX (User Experience). Others might provide foundational capabilities that will be used to support future functionality.
At the Program level, Product Management are responsible for Program Backlog, which consists of stories defined as a result of their research and collaboration with various stakeholders such as Customers, Business Owners, Product Management, Product Owners, Systems and Solution Architects/Engineering, etc.
The Program Backlog items are identified, refined, prioritised and sequenced using WSJF (Weighted Shorted Job First) to provide an economic success for the solution.
System Demos provide an integrated view of new features for the most recent iteration delivered by all the teams in the ART and gives each stakeholder an objective measure of progress during a PI.
On top of all this we have the Continuous Delivery Pipeline (aka "pipeline") which represents the workflows, activities and automation needed to provide a continuous release of value to the Customer.
DevOps is a mindset, culture and set of technical practices, essential within a SAFe enterprise, that provides communication, integration, automation and collaboration amongst all those required to plan, develop, test, deploy, release and maintain a solution.
Built-In Quality (SAFe core principle) practices ensure that each increment's solution delivers the required quality standards throughout development and is essential to allow a rapidly changing business environment to adapt to provide new functionality within the shortest lead time.
e* Agile Team should:
- Be Empowered, Self Organising, Self Managing, Cross-Functional
- Deliver valuable, tested, working system every two weeks
- Shorter iterations (because Fail Fast)
- Use a team framework which combines the best of Scrum project management, XP inspired technical practices and Kanban for flow.
- Team MUST be Agile trained!
Team of Agile Teams:
- Self organising, self managing, team of Agile teams
- Delivers working, tested full system every two weeks
- Operates with Vision, Architecture and UX guidance
- Common iteration lengths and estimating
- Face-to-Face Planning for Collaboration, Alignment and Adaption