Some insights from working with Flow-based product development

Software product development organizations operate in an environment of ever-increasing volatility, uncertainty, complexity, and ambiguity. The pace of change is accelerating, business and technology complexity is growing, and organizations are struggling to keep pace. The software development industry has a $300 billion productivity problem, according to one study. Value is not flowing as it should. Flow-based software development is part of the continued evolution of contemporary software development approaches contributing to addressing this problem. It builds on agile and lean software development approaches and incorporates lessons from Deming’s management method, the Toyota Production System, Lean Product Development, Theory of Constraints, Operations Management, and other influences. Flow-based development is foundational to modern systems approaches, including DevOps, Continuous Delivery, Site Reliability Engineering, and more. Creating and sustaining flow in organizations is a challenging problem. Drawing on insights developed over many years working with multiple global product development organizations, this session presents a framework for establishing, understanding, and sustaining flow in organizations.

I presented this session at the XP2020 conference. The slides are available here.

This session addressed the following questions:

  • What is flow?
  • What is the relationship between flow, lean, and agile?
  • Why do organizations adopt flow?
  • Where to get started?
  • What contributes to flow happening?
  • How do we measure flow?
  • What makes flow difficult to achieve?
  • How can organizations overcome these impediments to flow?
  • What is the role of culture in determining how effective flow can be?

Improving Flow in Large Software Product Development Organizations: A sensemaking and complex adaptive systems perspective

For my PhD research I studied several large software product development organizations to get a better understanding flow and impediments. Flow-based development is a rich and growing field with many concepts; the specific focus for this study is impediments to flow. This study takes the perspective that organizations are complex adaptive systems. This research uses sensemaking to get a richer, more-informed understanding of flow, impediments, and the context and culture of the organizations that are experiencing impediments to flow. The organizations that are part of this study are all large software product development organizations. The focus of this study, then, narrows to managing impediments to flow in large software product development organizations, using a sensemaking and complexity perspective.

More details, including a link to my thesis, can be found here.