This 101 is for those who would like to get basic overview on SAFe and its application.
Assume you are building a products, comprises of 10 smaller software units. You will start implementing scrum in one of the software implementation team and benefits are seen by other teams and they embrace scrum too. We now have 10 teams following scrum, where they maintain their own backlogs and cadence (time box, when to demo, what to demo)
When there is no cadences
With this setup, you will start releasing that the coordination and dependency between the teams is getting more and more difficult. Typically, team 1 could be giving the demo, but the team 2 could have just started sprint and they will be using old codebase because they are not aligned to team 1. This never be a never ending loop, with 10 teams working in silos.
This can be overcome, by introducing the same time box (cadence – start and stop) for all the teams. Its evident that Scrum doesn’t help when you scale. SAFe guide teams on how to handle similar situations.
when there is cadences
Scrum will be the first thing an organization implements, with independent projects. As the organizations matures on scrum practices, Safe like practices helps in scaling planning from strategies to bottom level engineer.
SAFe combines the power of Agile with systems thinking and lean product development. It provides the framework to collaborate, synchronize between multiple agile teams.
SAFe is based on lean, systems thinking, product development flow and agile development. Broader and deeper lean-agile mindset is needed to support lean and agile development at scale across the entire enterprises.
This mindset is exhibited in SAFe, by house of lean
Purpose: Best quality and value to society. High morale, safety and customer delight.
Value: The roof represents the goal of Lean, which is the delivery of maximum value and quality to the customer in the shortest sustainable lead time. High employee morale, physical, intellectual and emotional safety, and customer delight are further objectives and benefits. Value is supported by the four ‘pillars’ of the House of Lean.
Respect for people and culture – Management challenges people to change and may recommend what to improve, but the teams learn retrospective and problem-solving skills and make the appropriate improvements. Leaders understand the role that culture plays, and work to move the culture forward to align with the new value system and principles.
Flow – Establishing a continuous stream of work is critical to fast value delivery. Emphasis is on avoiding the ‘start-stop-start’ delay of project-based work, and a high value is placed on work visibility, long-lived teams, continuous knowledge acquisition and sharing, and decentralized decision-making.
Innovation – Flow builds a solid foundation for the delivery of value. But without innovation, both product and process will stagnate. Innovation doesn’t simply ‘happen.’ The right environment, including dedicated time for innovation, must be allocated. One element of this is the Innovation and Planning (IP) iteration, a free-form iteration that provides the time and intellectual freedom needed for innovation.
Relentless improvement – An enterprise improves through continuous reflection and relentless improvement. A constant sense of competitive danger drives the learning organization to aggressively pursue opportunities to improve and to respond quickly to challenges and opportunities.
Leadership: enables to lead the change, develop people and emphasize life-long learning. Decentralize decision making, unlock the intrinsic motivation of knowledge workers.
SAFe core values define the ideals and beliefs that are essential to apply framework . They guide teams and organizations to be on right path to fulfil their business goals.
Alignment – When management and teams are aligned to a common mission, all the energy is directed toward helping the customer. Everyone is on the same team, working toward the same goals. Alignment communicates the intent of the mission and enables teams to focus on how to accomplish it. Alignment occurs when everyone in the portfolio, and every team member on every ART, understands the strategy and the part they play in delivering it.
Built-in quality – The economic impact of poor quality is much higher at scale. Built-in quality practices increase customer satisfaction and provide faster, more predictable value delivery. They also improve the ability to innovate and take risks. Without built-in quality, the Lean goal of maximum value in the shortest sustainable lead time cannot be achieved. Built-in quality practices also ensure that each solution element, at every increment, achieves appropriate quality standards throughout.
Transparency – ‘You can’t manage a secret.’ Transparency builds trust. Trust, in turn, is essential for performance, innovation, risk-taking, and relentless improvement. Large-scale solution development is hard; things don’t always work out as planned. Creating an environment where ‘the facts are always friendly’ is key to building trust and improving performance. It enables fast, decentralized decision-making and higher levels of employee empowerment and engagement.
Program execution – To achieve broader change, the entire development value stream— from concept to release—must become leaner and more responsive to change. Traditional organizational structures and practices were built for control and stability; they were not specifically designed to support innovation, speed, and agility.
9 principles drive the roles and practices to make SAFe effective
Take economic view
this principle talks about the benefits of economics while building systems
- Deliver early and often
- Deliver value incrementally
- Early delivery has higher value
- It talks about the making economic choices continually’
- Sequencing jobs for maximum benefits
- Quantify the cost of delay
- Do not consider money already spent
Apply systems thinking
this principle explains how the systems thinking can be applied to system that is been built. Basic aspects are
- Optimizing a component doesn’t optimize systems
- For the system to behave well as a system, higher level understanding of behavior and architecture is required
- Value of systems passed through interconnections
- System can evolve no faster than its slowest integration point
Assume Variability, preserve options
it emphasis if the start point is wrong, then future adjustments take too long
- One cannot possibly know everything at the start
- Preservations of options improves economic results
- Take set based approach – where you have multiple/alternatives design options, lean from prototype and refine over time
Build incrementally fast, integrated learning cycles
this principle is focused on fast feedback accelerating knowledge. Also short iterations helps in
- Reducing cost of risk-taking by terminating unsuccessful paths quickly
- Shorter the cycle, faster the learning – PDCA
- Integration points reduce risks
Base milestones on objective evaluation of working systems
phase-gate development model doesn’t mitigate risk as intended. Requirements re fixed, and making adjustments are too costly.
- Shorter Integration points deliver objective progress
- Objective milestones facilitate learning and allow for continues cost-effective adjustments towards an optimum solutions.
Visualize and limit WIP, reduce batch sizes, and manage queue lengths
it talks about 3 keys implementing flows
- Visualize and limit the amount of work-in-progress to best utilize available capacity
- Reduce batch size for higher predictability
- Manage queue lengths so as to reduce the wait times for new capabilities
- long queues are bad
- shorter queue lengths decreases wait time
Apply cadence, synchronize with cross domain planning
- Cadence transforms unpredictable events into predictable events
- Synchronization causes multiple perspectives to be understood, resolved and integrated at the same time
Unlock the intrinsic motivation of knowledge workers
compensation alone cannot motivate the knowledge workers. Providing autonomy, mission and purpose, minimizing constraints, leads to higher levels of employee engagement and results in better outcomes for customers and the enterprises.
Decentralized decision making
achieving fast value delivery requires fast, decentralized decision-making.
- Any decision escalated introduces delay
- Decentralized makes it easy to address issues, risk which are of local context
SAFe combines the power of Agile with systems thinking and lean product development. It provides the framework to collaborate, synchronize between multiple agile teams.
- SAFe has the highest level of engagement with employees
- SAFe increases the productivity with fail early
- SAFe enables business to deliver value to market more quickly
- Built in quality practices increases customer satisfaction and provide faster and more predictable value delivery
- Collaborative empowered teams
- Engagement with other teams via PI planning’s
- High employee engagement fosters retention
Faster to market
- More frequent releases
- Advantage of being first in market
- Higher gross margins
- Simple and transparent visualization of team performance – velocity
- Reduced average feature cycle time
- Self-team assessment and improve – retrospective
Built in quality
- Continuous integration
- Test driven development
- Collective ownership
SAFe supports the full range of development environments with four out-the-box configurations. SAFe’s configurable framework provides just enough guidance to meet the needs of a product, service, or organization. An enterprise can start simply, and yet have the ability to grow, as its needs evolve over time.
- Essential SAFe – consists of team and program levels
- Portfolio SAFe – consists of team, program and portfolio levels
- Large Solution SAFe – consists of team, program and solution levels
- Full SAFe – consists of team, program, solution and portfolio levels
The Spaning palette
Metrics – The primary measure in SAFe is the objective measurement of working solutions. Moreover, SAFe defines some additional intermediate and long-term measures as well, metrics that teams, programs, and portfolios can use to measure progress.
Shared Services – Represents the speciality roles that are necessary for the success of an ART or value stream, but that cannot be dedicated full time to any specific train.
Community of Practice (CoP) – A community of practice is an informal group of team members and other experts, acting within the context of a program or enterprise, that has a mission of sharing practical knowledge in one or more relevant domains.
Milestones – A milestone is used to track progress toward a specific goal or event. These include fixed-date, Program Increment (PI) and learning milestones.
Roadmap – The roadmap communicates planned ART and value stream deliverables and milestones over a time line.
Vision – The vision describes a future view of the solution to be developed, reflecting customer and stakeholder needs, as well as Features and Capabilities, which are proposed to address those needs.
System Team – This is a special Agile team that provides assistance in building and using the Agile development environment, including Continuous Integration and test automation and automating the delivery pipeline. Lean User Experience (UX) – Lean UX is the application of Lean principles to user experience design. It uses an iterative, hypothesis-driven approach to product development, through constant measurement and learning loops (build-measure-learn). In SAFe, Lean UX is applied at scale, with the right combination of centralized and decentralized UX design and implementation.
Lean-Agile Leaders – Management has the ultimate responsibility for business outcomes. Leaders must be trained, and then become trainers of, these leaner ways of thinking and operating. To this end, SAFe describes a new style of leadership exhibited by the enterprise’s leaders.
Core Values – Four core values define the belief system for SAFe: Alignment, Built-In Quality, Transparency, and Program Execution.
Lean-Agile Mindset – Lean-Agile Leaders are lifelong learners and teachers. They understand and embrace Lean and Agile principles and practices.
SAFe Principles – SAFe practices are grounded in nine principles that synthesize Agile methods, Lean product development, systems thinking, and decades of field experience.
Implementation Roadmap – Implementing the changes necessary to become a Lean-Agile technology enterprise is a substantial change for most companies. SAFe provides an implementation roadmap to help guide organizations on this journey. SAFe Program Consultants (SPCs) – SPCs are change agents who combine their technical knowledge of SAFe with an intrinsic motivation to improve their company’s software and systems development processes.
- Starting point for any implementations
- Basic building block for all SAFe configuration
- It contains most critical elements to realize the majority of frameworks’ benefits
- Consists of team and program level to form an organizational structure called Agile Release Train
- system Architect
- product management
- Release train engineers
- Business owners
Builds on essential SAFe, with additional elements
- Lean budgets
- value steams
- Portfolio kanban
- Epic owner
- Enterprises architect
- Lean portfolio management
Builds on essential SAFe, with additional elements addressing solution
- Solution train
- Economic framework
- Solution intent
- Solution context
- Solution kanban
- Solution architect
- Solution management
- Solution train engineer
•Enables organizations to combine multiple instances of SAFe configurations
•It is intended to meet the needs of largest enterprises
Use case of SAFe configuration at enterprise level – Health care industry
Strategic themes connect portfolio to strategy of the enterprises, few example of the same in health care one can relate to
Value streams represents the series of steps to build the solutions, and realize the portfolio business objectives by launching/organizing agile release train.
Solutions train build large and complex solutions, which coordinates multiple agile release trains as well as contribution from suppliers.
Agile release train is a team of agile teams, which, along with other stakeholders, develop and delivers solutions incrementally within time box (PI increments)
- Understand customer needs and validate solutions
- Develop and communicate the program vision and roadmap
- Manage and prioritize the flow of work
- Participate on PI planning
- Define release and program increments
- Participate in demos and inspect and adapt
- Work with system architect to understand enabler work
- Manage and optimize the flow of value through program board
- Establish and communicate the annual calendars for iterations and PI
- Facilitate PI’s
- Synchronizes ART
- Aggregate team and PI objectives and publish
- Escalate and track impediments
- Attend system demos
- Coach leaders, teams, Scrum masters
- Responsible for building & maintaining backlog
- Iteration planning – main source for story detailing and prioritizing
- Accept stories
- Participate in team demo and retrospective
- Servant leader & Facilitates the team’s progress towards the goal
- Eliminates impediments
- Builds high performing team
- Coordinates with other teams in Scrum of Scrum meetings
- Facilitates preparations an readiness for ART ceremonies
- Supports estimation
- Responsible for managing their work
- Estimate the size and complexity of the work
- Determine technical design, within architectural guidelines
- Commits the work that can be accomplished in iteration and PI
- Continuously commit to find ways to improve
Principles mapping to SAFe framework
SAFe practices are grounded in fundamental principles. if the practices don’t directly apply, the underlying principles can guide you to make sure that they are moving on a continuous path to the ‘shortest sustainable lead time, with best quality and value to people and society.
Real Agile Teams and Agile Release Trains (ARTs) are fully cross-functional. They have everything, and everyone, necessary to produce a working, tested increment of the solution. They are self-organizing and self-managing, which enables value to flow more quickly, with a minimum of overhead. Product Management, System Arch/Eng, and Release Train Engineer provide content and technical authority, and an effective development process. Product Owners and Scrum Masters help the Dev teams meet their PI Objectives. The Agile teams should engage the customer throughout the development process.
Cadence and synchronization
Cadence provides a rhythmic pattern, a steady heartbeat for the development process. It makes routine those things which can be routine. Synchronization allows multiple perspectives to be understood and resolved at the same time.
No event is more powerful in SAFe than PI Increment (PI) planning. It’s the cornerstone of the PI, which provides the rhythm for the ART. When 100 or so people work together toward a common mission, Vision, and purpose, it’s enables alignment. Gaining that alignment in just two days can save months of delays.
The primary measure of the ART’s progress is the objective evidence provided by a working solution in the System Demo. Every two weeks, the full system— the integrated work of all teams on the train for that iteration is demoed to the train’s stakeholders. Stakeholders provide the feedback the train needs to stay on course and take corrective action.
Inspect and adapt
Inspect and Adapt is a significant event held every PI. A regular time to reflect, collect data and solve problems, the inspect and adapt assembles teams and stakeholders to assess the solution, and define and take action on the improvements needed to increase the velocity, quality, and reliability of the next PI.
Innovation and planning iterations
The Innovation and Planning Iteration occurs every PI and serves multiple purposes. It acts as an estimating buffer for meeting PI objectives, and provides dedicated time for innovation, continuing education, and PI planning and Inspect and Adapt events. It’s like extra fuel in the tank: Without it, the train may start straining
Architectural Runway consists of the existing code, components and technical infrastructure necessary to support the implementation of high priority, near-term features, without excessive delay and redesign. Without enough investment in the architectural runway, the train will slow down, needing to redesign for each new Feature.
For SAFe to be effective, the enterprise’s leaders and managers must take responsibility for Lean-Agile adoption and success. They must become leaders who are trained—and become trainers in—these leaner ways of thinking and operating. Without leadership taking responsibility for the implementation, the transformation will likely fail to achieve the full benefits
Agile development avoids Big Design Up-front (BDUF) and replaces it with a simple belief that “the best architectures, requirements, and designs emerge from self-organizing teams This yields the practice of emergent design—the process of discovering and extending the architecture only as necessary to implement and validate the next increment of functionality.
It simply isn’t possible for all teams to anticipate changes that may occur well outside their environment. Nor can individual teams fully understand the entire system and avoid producing redundant and/or conflicting designs and implementations. Simply put, no one team in a larger Enterprise can see the whole picture or reasonably anticipate all the changes headed their way—many of which arise outside their local control.
- The enablers which are implemented now, which creates and infrastructure for next PI’s
- Business features of next PI’s can be realized easily without redesign and delay
The architects who define the enablers help steer them through the Kanban systems, providing the guidance needed to analyze, estimate, and implement them. This support ensures that the affected elements—subsystems, components, functions, protocols, internal system functions—have the architecture necessary to support the near-term features and capabilities on the Roadmap
Enabler epics shall be split into enabler features and/or capabilities, which are ultimately implemented by individual ARTs. Each enabler feature must be completed within a Program Increment (PI), ensuring that the system always runs—meaning it’s potentially deployable, even during its development. This means that new architectural initiatives are implemented incrementally. In this way, the architectural runway can be implemented and tested behind the scenes, yet allowing shipment throughout. The new architecture can be exposed to users when it’s ready to support new business epics and features.
- Optimal balance should be maintained
- if team works too much on enablers, current context is compromised
- if team works too little, near future business features shall not be met
To support a stable velocity, the architectural runway needs to be continuously maintained and extended. Capacity allocations are used to ensure continuous investments in enablers—the activities required to extend the runway.
While supporting successful near-term delivery, the architectural runway should not overly constrain development with long-range technical commitments. Just the right amount of architectural runway is required
Built-in Quality practices ensure that each Solution element, at every increment, meets appropriate quality standards throughout development.
Figure above illustrates two important implications for compliance. First, building smaller, working parts of the solution early allows compliance activities to also begin early, removing the large effort of performing such actions at the end. Each increment assesses the viability of the current solution, as well as progress toward compliance, providing early feedback on the system’s correctness. Second, specifications are created and evolved over time in small batches, with faster feedback on decisions and the opportunity for continuous review and assessment.
Figure above illustrates Agile Release Trains (ARTs), primary value delivery organizations in SAFe. Each train requires all the skills necessary to build and release the Solution, including those responsible for Quality Assurance (QA), security, testing, and Verification and Validation (V&V). Solution and Product Management ensure that the Solution Intent and backlog properly reflect compliance requirements. Teams also ensure that their work includes appropriate compliance activities.
QMS systems of many organizations are still heavily influenced by traditional phase-gated waterfall methods. This seriously inhibits, and can even prevent, the adoption of newer methods, as the older methods are hard-coded into the only approved way of working. This means those who want the benefits of Lean-Agile development (faster time to market and higher quality, to name a few) will typically have to evolve a Lean QMS.
Recommended practices for achieving built-in quality
SW practices: CI – it is the practice of merging the code from each developer’s workspace into a single main branch of code, multiple times per day. This lessens the risk of deferred integration issues and their impact on system quality and program predictability. Teams perform local integration at least daily. But to confirm that the work is progressing as intended, full system-level integration should be achieved at least one or two times per iteration.
Test-First: Is a set of practices that encourage teams to think deeply about intended system behavior, before implementing the code. Test-first methods can be further divided into two categories: 1) Test-Driven Development (TDD), where developers write an automated unit test first, run the test to observe the failure, and then write the minimum code necessary to pass the test, and 2) Acceptance Test Driven Development (ATDD), where Story and Feature acceptance criteria are expressed as automated acceptance tests, which can be run continuously to ensure continued validation as the system evolves.
Refactoring: This is a “disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behaviour. To maintain system robustness, teams continuously refactor code in a series of small steps, providing a solid foundation for future development
Pair work:Agile teams can pair using a variety of techniques, many of which can be used in combination. Teams can use pair programming for all code development, Other could be pairing developers and testers on a story; each reviews the other’s work as the story moves to completion. Pair work is also a great foundation for refactoring, CI, test automation, and collective ownership. It also reduces or eliminates the need for post-implementation code reviews and rework.
Collective ownership: This practice invites a shared understanding and responsibility for the solution by all team members. “Any developer can change any line of code to add functionality, fix bugs, improve designs, or refactor. Without collective ownership, there is no collective knowledge, resulting in a higher risk to maintain or enhance the solution.
Agile Architecture: like discussed in last slide by balancing emergent design with intentional architecture, Agile architecture practices enable incremental value delivery. This avoids Big Design Upfront (BDUF). Creating Architectural Runway is one of the primary tools for implementing agile architecture.
Together, scalable DevOps and the continuous delivery pipeline help accelerate the build-measure-learn cycle that supports faster innovation and more frequent releases.
SAFe enterprises implement DevOps to break down silos and empower each Agile team, ART, and Solution Train to continuously deliver new features to end users. This is indeed achievable, as “high-performing IT organizations deploy 30x more frequently
Culture – Establish a culture of shared responsibility for development, deployment, and operations.
Automation – Automate the continuous delivery pipeline.
Lean flow – Keep batch sizes small, limit Work in Process (WIP), and provide extreme visibility.
Measurement – Measure the flow through the pipeline. Implement application telemetry. Recovery – Architect and enable low-risk releases. Establish fast-recovery, fast-reversion, and fast fix-forward.
Continuous Exploration – Is the process of constantly exploring market and user needs, and defining a vision, roadmap, and set of features that address them
Continuous Integration – Is the process of taking features from the Program Backlog and developing, testing, integrating, and validating them in a staging environment that prepares them for deployment and release
Continuous Deployment – Is the process that takes validated features from continuous integration and deploys them into the production environment, where they are tested and readied for release
Release on Demand – Is the process by which deployed features are released to customers incrementally or immediately based on market demand
planning process flow
- State of the business and upcoming objectives by product manager
- Vision and prioritized features explained by product manager
- Architecture explained by system architect
- RTE explains the planning process
- Teams develops draft plans and identify risks and impediments
- Teams present draft plans, risks and implements
- Moving forward
- Final instructions
- Planning adjustment based on plan review
- Breakout again
- Teams develop final plans and refine risk and impediments
- Business owners circulate and assign value to team objectives
- Team present final plans, risk and impediments
- Program level risks are discussed
- Team and program confidence vote
- If necessary, planning is refined until the commitment is achieved
- Planning retrospective
- Moving forward
- Final instructions
SAFe implementation roadmap
- Need for change is convinced – embracing lean mindset
- Economic view makes sense – Early delivery
Train Lean-Agile Change agents
- SPC – provides knowledge to implement the chnage,
- Leading SAFe – managers and other leaders
- Create Lean-Agile center of excellence team – who implement SAFe lean-Agile way of working
Identify Value streams and ARTs
- Identify value streams
- Identify systems that will support value streams
- Identify people who develops systems
- Derive development value streams
- Identify ARTs which will realize the value – takes care of development value streams
Create Implementation plan & Prepare for ART launch
- Pick first value stream & Select associated first ART
- Also plan roadmap for other value streams and ARTs
- Define ART, launch date and cadence
- Establish Agile teams
- Train PO’s and Scrum Master’s
- Prepare program backlog
Train team and Launch ART
- Training: SAFe for teams
- Basic of SAFe
- Events – PI, retrospective, more..
- Conduct first PI planning and start the ART
- Helps teams plan, execute, review and retrospect
- Coach new PO’s & SM’s
- Help team establish best process and practices (DevOps and infrastructure)
- Feature progress (plan vs actual) – status of each feature compared to program increment plan
- Program Kanban board
- Program performance metrics – depicts features planned versus completed
- PI Burn chart
- Program predictability – compares actual business value achieved to planned business value
- PI performance reports
- ART self assessment – at the end of each PI, to continually strive to improve the performance
- Iteration metrics – amount of work the team can handle
- Team performance metrics – depicts stories planned versus completed
- Sprint burn down chart
- Scrum team self assessment – continually asses and improve
Presentation video of slides above PPT avlable in Youtube
references of pictures and text in this blog is extracted/taken from: Scaled agile framework website