Towards a Systems Thinking View of Process Improvement
SEPG North America 2010
Presentation Abstract
Current focus on processes and process improvement emphasizes seeing and modeling systems (e.g., organizations, departments, projects, and teams) as interchangeable components that can be decomposed and managed as independent parts, and on the forward flow of work products through the development activities. While this approach is useful to understand how processes in an organization work, it does not help people understand the effects of several critical aspects of process that affect performance: dynamic interdependence of components (e.g., projects and teams) and nonlinearity (where the effect of a change is not linearly proportional, such as the relationship between product complexity and productivity rates). Both aspects are pervasive throughout any organization engineering computer-based products.
Furthermore, current industry-standard process modeling tools are “static” and thus do not help improvement teams analyze and understand the relationship between processes and performance; nor do they predict the effects of process changes being considered. This means process improvements are relegated to “live” pilots and deployments as the basis for determining their effectiveness, a risky and expensive endeavor, where the analyses of change results are not always conducted objectively.
And finally, to meet the growing demand for faster, cheaper and greater product complexity, organizations are shifting towards more dynamic development methodologies and increased coordination between suppliers, developers and customers during development. Thus, development processes are becoming more dynamic, nonlinear and open, all of which inhibit their ability to predict and manage changes to them.
Such dynamic, nonlinear systems can exhibit non-intuitive behavior as noted here.
- A small change can have dramatic long-term effects while significant changes can have almost no effect at all. When given limited budget or resources to introduce process changes, it is essential to make the right choices. High leverage change becomes an essential component to long-term improvement success and company survival.
- Effects of changes made to systems are not well understood. For example, we hear that “Things get worse before they get better.” But little is understood as to why this is true, how “worse” things might get, or how long it might take before things get better. This law seems to contradict another law, known as the Hawthorne Effect, which states any change to a process (or environment), no matter how insignificant, can have a positive short-term (reactive) effect on performance. Teams need tools to help understand how a system may respond, and then later be able to explain why it responded as it did to a change.
- Performance can seem stable at one point, and later seem unstable, without making any changes to the system. As a result, it is difficult to determine in such systems the true effects a change has on performance.
- Few understand how to analyze and distinguish random variations in a system from variations caused by chaos, both of which are inherent within development systems. Most of the tools used today to manage variations were developed to support analyzing mechanical systems (e.g., machines that repetitively produce a widget), where chaos plays an insignificant part. As dynamics and nonlinearity increase, so does the possibility for chaos. Mistaking the effects of chaos as random variation may lead analysts to erroneously mistaking a process as not under statistical control, leading to further process changes that do not address the issue of dynamics and nonlinearity.
Managing and meeting these demands will require empowering people to not only master their personal processes, but to also see how their actions and decisions have short- and long-term effects on the greater systems of which they are a part. This requires integrating new tools and methods with existing ones that help people:
- model and simulate systems (e.g., projects) to understand why systems behave as they do
- understand and analyze the effects of interdependent components and nonlinear feedback on performance, identify when and how chaos is contributing to variability, and describe how to distinguish random and chaotic variations
- select the right system level for improving performance
- conduct what-if scenarios to predict potential short- and long-term improvement results and identify high leverage change opportunities
Through a number of real-world situations and examples, this presentation will provide participants with a better understanding of how they can expand their existing process improvement skills to include tools and methods based on gaining insights into system dynamics.
During the presentation, the presenter will:
- cover a set of well-established and practical industry tools and techniques that are proven and available to begin developing necessary system dynamics skills
- list cases where system dynamics tools have been proven to be useful in system/software development (project planning, risk management, and skills development)
- describe a path towards seamlessly integrating these tools into existing ones (e.g., measurements, performance analysis, process modeling)
- list issues organizations face in developing their system dynamics capability, based on the presenter’s observations in applying this technology in systems/software engineering situations

Software Process Dynamics, LLC
Helping our clients discover the dynamic structures that shape their software companies' success.