What is Scaled Agile Framework (SAFe)?
About SAFe
Scaled Agile Framework (SAFe) extends the core concepts of Agile systems development and is designed to be used for an entire organization. While Agile is typically designed as an implementation framework for an individual team, SAFe enables Agile concepts to scale beyond a single team. SAFe is designed for implementing Agile concepts for multiple Agile teams working concurrently. SAFe encompasses concepts from three bodies of knowledge related to systems deployment: agile software development, lean product development, and devops. Moreover, SAFe is the most commonly utilized approach for scaling and common management of Agile implementation practices.
Dean Leffingwell and Drew Jemilo created and released SAFe in 2011 in order to assist organizations to more effectively develop and deploy systems and solutions to better satisfy their client’s changing requirements. Their idea of SAFe has been to enhance the effectiveness of systems development and enable systems development processes to embraced at the enterprise level. Moreover, they designed SAFe to help businesses continually and more efficiently deliver value on a regular and predictable schedule.
SAFe Four Core Values
SAFe encompasses four core values that define the essential ideals and beliefs of this enterprise framework. These core values establish an organizational culture that enables effective utilization of the framework.
Value #1: Alignment – SAFe requires that planning and reflection cadences be put in place at all levels of the organization and for all teams. Cadences are also known as sprints and are consistent two, three, or four week periods in which a set amount of work is planned, conducted, completed, and reviewed. Value #2: Built-in Quality – SAFe requires teams at all levels to provide a definition of complete or “done” for each unit of work (i.e. task, issue, feature, story, epic, etc.) and to include quality assurance within the development process. Value #3: Transparency – SAFe enables visibility into all aspects of the development process for all implementation teams including proposed features, priority of features, estimates of tasks, work being performed, work completed, and reviewed features. Value #4: Program Execution – SAFe requires that both programs and individual teams deliver quality working solutions that have business value on a incremental and regular basis.SAFe Ten Principles
SAFe is based upon ten fundamental principles that guide behaviors and influence how decisions are made for all implementation teams at all levels of an organization. These underlying principles are not just intended for use by leaders and managers, but for all members of the organization. Further, these principles enable a shift from a traditional waterfall approach for development to the effective use of Agile system development practices.
Principle #1: Take an Economic View – The entire chain of leadership, management, development team members workers must understand the financial impact of the choices they make and everyone should be make decisions based upon both the benefit and cost of the decision. Principle #2: Apply System Thinking – Systems development must take a holistic approach that incorporates all aspects of the system and its environment into its design, development, deployment, and maintenance. Principle #3: Assume Variability; Preserve Options – The goal of the process is to manage unknowns and to manage options, providing both the controls and flexibility development teams require to build quality systems. Principle #4: Build Incrementally with Fast, Integrated Learning Cycles – Development cycles and integration points must be planned with short repeatable cycles in order to enable feedback, learning, synchronization, and coordination among teams. Principle #5: Base Milestones on Objective Evaluation of Working Systems – Demonstrations of working features provide a better mechanism for making decisions than a requirements document that is only documented on paper. Principle #6: Visualize and Limit Work-in-Place (WIP), Reduce Batch Sizes, and Manage Queue Lengths – Maintain a constant flow of tasks in the development process by controlling the amount of overlapping work, the complexity of work items, and the total amount of work in-progress at a particular time. Principle #7: Apply Cadence, Synchronize with Cross-Domain Planning – A regular cadence makes everything in the development process that can be routine be routine and enables team members to focus on system development. Synchronization allows multiple perspectives to be understood, integration issues to be resolved, and features to deployed at the same time. Principle #8: Unlock the Intrinsic Motivation of Knowledge Workers – Leaders should leverage the mindset of coaching and serving team members rather utilizing command and control techniques. Principle #9: Decentralize Decision-Making – Tactical decisions are delegated to the individual teams and teams are provided the autonomy they need to make informed decisions on their own. Principle #10: Organize Around Value – Organizations should create a structure that focuses on both the innovation and growth of new ideas as well as the operation and maintenance of existing solutions.