The foundation of SAFe is its 4 core values and it is important to understand these before jumping into the concepts of SAFe. So, what is SAFe? SAFe is a model for scaling Agile.
Agile development is based on iterative and incremental development, in which requirements and solutions evolve through team collaboration. It recommends a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a theoretical framework and does not specify any particular practice that a development team should follow.
Agile uses short iterations of 1 to 4 weeks so that the development process is aligned with the changing business needs. Instead of a single-pass development of 6 to 18 months where all the requirements and risks are predicted upfront, Agile adopts a process of frequent feedback where a workable product is delivered after 1 to 4-weeks of iteration.
SAFe is particularly well-suited for complex projects that involve multiple large teams at the project, program, and portfolio levels. It enables larger organizations to manage projects with a higher degree of agility, and helps in getting feedback faster from multiple stakeholders across the globe. This accelerated feedback loop leads to higher engagement levels, increased productivity and improved work quality.
Core Values of SAFe® Model:- SAFe has defined 4 core values as part of their framework, which are as follows:
- Alignment- alignment means that the whole organization has a clear vision of where it’s going, and how it’s working to reach that goal. The whole company has a clear destination, and purposefully moves toward that destination. When a company is misaligned, on the other hand, it’s unlikely to reach its destination, even if it thinks it knows where it’s going. What’s worse is that an organization lacking in alignment doesn’t respond well to changes in direction. In any organization multiple teams contribute to a program to ensure that all the people in the team act as one and are moving in the same direction. Alignment means that the strategic themes and product backlogs are aligned with the vision, roadmap, and backlogs.
- Built-in Quality- Built-in quality also means that each team views quality as an enabler of speed and ensures that every product increment reflects the best quality standards. Quality is not added later but rather it’s built in.
- Transparency- The main reason transparency is crucial is because it makes organizations more robust and resistant to failures. When things go wrong, trust and openness of information make troubleshooting and fixing problems easier. Transparency is an essential ingredient of a healthy organization. This is because it leads to healthy relationships based on trust, which makes for happier and more productive team members.
- Program execution- Program execution is at the heart of SAFe. Since multiple teams work and integrate a product, SAFe places intense focus on working systems and business outcomes.
- Flow- Flow can be achieved by test first and continuous delivery pipeline. Agile teams carry out tests at every stage; from the feature, user stories and the code. Right from the time the item was created, testing is done for both functional and non-functional requirements. In order to ensure faster delivery, the team automates the scripts and executes them, ensuring that the test will run faster.
This also helps in continuous delivery pipeline, which means releasing the product much faster and providing the ability to release on demand.
- Architecture & Design quality- A well designed system’s architecture determines how well the current system supports the current and future business and also helps in making future requirements easier to implement and deliver. While designing, it is always good to apply good coupling/cohesion and with appropriate abstraction/encapsulation which helps in making implementations easier to understand and modify for future requirements. Always ensure that the system must be flexible enough to easily support new requirements. An effective usage of Design Patterns helps in well-known ways to support these principles and provide a common language to ease understanding and readability. It’s advised to explore multiple solutions to arrive at the best design choice, and not just go with the first choice.
- Code quality- We will achieve code quality by following the below practices:
- Unit Testing, where developers write test cases by breaking the code into several smaller parts and execute those parts as automated test cases, which in turn help the developer write the code in an effective manner and provide better built-in quality deliverables.
- Pair Programming, where 2 developers work on the same station and on the same user story. One will write the code and the other will be the reviewer providing real time feedback. This helps the developers to think about the problems in a broader perspective, even including some unknown edge cases which may come in. This helps in effective built-in quality deliverables.
- Coding Standards – Collective ownership should be there with the team for the work that is being delivered. This will reduce the inter dependencies within the team and help individuals add functionality, fix any errors, refactor the code and improve the design. Always following the standard coding standards helps in consistent deliverables.
- System quality- Design and coding ensures that the underlying system and its artifacts, and the system/product quality are as they should be with no surprises and everyone agrees that the delivered system/product is working as expected producing the desired results and the business value.
- Release quality- As an organization we must focus on release on demand. Focus should be on the new functionality that is incrementally released for production based on customer demand. Always target smaller/incremental changes for production, which ensures faster, frequent and defect free / riskless release.
- Transparency - As per SAFe it is best to ensure open communication across all levels of the team. Right from the top to the bottom of the team, there should be clear and open communications about the road map. This can be done by providing PI objectives and ensuring access to everyone on the Jira, Kanban boards, backlogs and to new upcoming initiatives.
- Program execution- SAFe focuses on working systems and business outcomes and ensures that teams deliver more substantial amounts of solution value, reliably and efficiently. Things always go wrong and do not work out as planned. There must be openness within the team/organization. To ensure openness, trust is required, and trust only exists when the business and development can confidently rely on another to act with integrity, particularly in times of difficulty. Without trust we cannot build high-performance teams or programs. Again, the core value of program execution is key for a successful SAFe implementation. Yes, aligning, checking quality and being transparent cannot be possible as the team cannot execute and deliver the value constantly.
An Overview of its Core Values, Principles, Implementation & Program execution:
The four Core Values of alignment, built-in quality, transparency, and program execution represent the fundamental key beliefs of SAFe effectiveness. SAFe provides guiding principles and helps in directive behaviour and action for everyone who participates in SAFe. Successful teams and programs who implemented SAFe had aligned their organizations along these core values and gained many benefits including employee engagement, productivity, quality, and time to market.
How SAFe Core Values stabilize and accelerate the progress of agile teams:
SAFe Core Values are responsible for ordering the behaviour and action of an organization working in a SAFe portfolio. Determining core values of an organization is an essential part of its success. Adhering to these values makes the path to accomplishing your business objectives consistent and creates a unified thriving culture.
SAFe is essential for Agile Teams and it should be incorporated to help achieve our business goals as it encourages quick adaptability to changes in technology and economic conditions. SAFe promotes collaboration and transparency between the development and the top management with an active interaction between the development team from top to bottom and ensures we attain business value within sustainable time.
Regardless of the size of the enterprise, SAFe allows scalability and configurability that suits our business needs, and helps in focusing on delivering working software after every two weeks. Agile Release Train (ART) brings together multiple agile teams on a consistent routine every 8-12 weeks in what is known as a Program Increment (PI). Planning cadence based sessions where agile teams come together to define the goals they wish to achieve is next fixed and time bound. PI planning is a face to face, collaborative, interactive and innovative session that builds team spirit and synergy and promotes the sharing of strategy, common vision and architecture amongst development and the managerial teams.
Continuous integration and validation among the teams and constant feedback from customers helps maintain a successful business relationship leaving room for improvement throughout the entire process; which in turn provides significant improvement in business productivity, quality, employee engagement and time to market.
SAFe Core Values are responsible for ordering the behaviour and action of an organization working in a SAFe portfolio. Determining core values of an organization is an essential part of its success. SAFe is an industry-proven, value-focused method for scaling Agile at the Enterprise level. SAFe helps teams in large organizations to meet the organization's strategic goals, not just individual project goals.
The framework offers the ability to maintain and create a centralized strategy to deliver value. The SAFe model has four levels that centralize the strategic themes of an organization. Centralized strategy is combined with the decentralized agile development execution. Adhering to these values makes the path to accomplishing your business objectives consistent and creates a unified thriving culture for all participants.