Chapter 4: Systems Thinking
Scrum has been an amazingly successful Agile methodology and has largely won the Agile wars as an industry standard. Scrum's strength comes from the following critical success factors:
Its foundations in empirical process control theory help teams to solve complex adaptive problems.
Relatively simple to learn.
Minimizes prescriptive practices.
Teams and organizations can implement their preferred business and user requirements analysis and engineering practices within the framework.
By now, you should have a strong understanding of how the basic Scrum framework supports Agile-based values and principles.
In this chapter, we'll turn our attention to systems thinking, which is an important branch of management, social, and engineering sciences. Most succinctly, systems thinking is an approach to looking at complex things as a set of interconnected parts that together create a dynamic environment, resulting in interactions and behaviors that are often difficult to predict. For example, biological organisms, plate tectonics, weather, business and manufacturing processes, and management and social organizations all represent types of complex systems. Relevant to this book, IT-based products, product life cycle development and support processes, and organizational structures are all examples of complex systems in software and systems development.
Systems thinking has become an increasingly important issue as organizations attempt to scale Agile and Scrum practices, both at the product and organizational levels. In later sections in this book, you will learn how systems thinking is an important concept within the Large-Scale Scrum (LeSS) and Scaled-Agile Framework (SAFe) methodologies.
In this chapter, you will learn the basic concepts behind systems thinking. Next, you will learn how to apply systems thinking to address the complexities of large products and software development processes. Lastly, you will learn how systems thinking is critical to assessing the complexities associated with implementing Agile and Scrum practices across the entire organization.
In this chapter, we will cover the following topics:
Real-life application of systems thinking
Learning to think holistically, and seeing how the sum of the parts is greater than the whole
Basic terminology and concepts of systems thinking
Applying systems thinking to Agile development practices
Applying systems thinking to manage large and complex product-development efforts
Applying systems thinking to manage enterprise-scale Scrum transformations