DevOps or Economies of Flow
Premier Developer Consultant Ron Vincent challenges the assumptions tied to “economy of scale” in the world of DevOps.
According to the dictionary “Economies of scale are the financial advantages that a company gains when it produces large quantities of products.” The very notion of economies of scale arose during the early industrial age but unfortunately is still prevalent in many industries, including software development. However, that has changed with DevOps but it still isn’t obvious otherwise I would not come across customers that still work in this paradigm. In this article, I’ll discuss this as it relates to software development.
It should be clear that in software we don’t create widgets on a factory assembly line but most organizations still operate as if that makes sense.
The problem with this view is that in software development we work with a lot of variety. Every sprint the feature is of differing size and complexity. As noted in “Leading Lean Software Development: Results Are Not the Point” by Mary and Tom Poppendieck, “Many of our instincts, policies, and procedures are rooted in the economies of scale, which drove huge improvements in productivity as industrial production replaced craft production in the first half of the twentieth century. But during the second half of that century, it became apparent that in any system with high variety, the economies of flow outperform the economies of scale, even in manufacturing. Software groups develop one-of-a-kind systems—the essence of variety.”