transformation, it is all too frequent an occurrence that key stakeholders, including those in IT operations, are not adequately consulted, often with disastrous consequences. To put it in more concrete business terms, “IT organizations that fail to confront and reconcile the widening gap between their development and operations teams stand to lose their footing in today’s competitive business environment” (Orr, 2012, p. 1). The fact is, in organizations where an agile transformation not only survives but thrives, the agile mindset, values, and principles span the entire organizational value stream, from concept to cash. Exhibit 1 shows the nature of the cyclical relationship among business stakeholders (application owners), the software development function, and the IT operations function.
This simple diagram is also a good metaphorical representation of the four agile values, as articulated in the Agile Manifesto (Beck et al., 2001). The four values are: Individuals and interactions over processes and tools; Working software over comprehensive documentation; Customer collaboration over contract negotiation; and Responding to change over following a plan. Imagine how well such a cycle would work if there were insufficient interaction and collaboration among the parties involved, or if they did not all see the delivery of working software as important. These four values, along with twelve principles (which constitute the second part of the Agile Manifesto), must be at the very core of every agile initiative, regardless of which set of practices an organization decides to adopt. In other words, an agile mindset is needed for an organization to be agile, as opposed to just doing some agile practices without the accompanying mindset, values, and principles. Shifting focus to another Lean principle, a concept that is relevant to those working in both software IT operations, is the need to keep batch sizes as small as possible. To start with a reasonably simple definition, batch size is synonymous with the size of a software module or similar work product that moves from one environment to another. Thus, every time a developer checks in code, they are batching a certain amount of work. Leanagile software development employs various prac-
tices to keep batch size reasonably small, such as Continuous Integration (CI), where relatively small sets of changes are run against a set of tests that ensure build integrity is maintained. Some of the benefits of smaller batch size and CI include faster feedback to developers, keeping any problems that do occur localized, and reduced code integration risk, all of which benefit parties involved with software development and deployment (Ries, 2009, ¶ 2 –7). Stated slightly differently, CI is an excellent illustration of how lean and agile concepts, when used in combination, can produce superb results. And, CI can benefit both software development and IT operations staff, in the former case by catching defects early, along with making the build process more robust, and in the latter case by making it easier to migrate software from one environment to another in a much more predictable fashion. “In lean thinking terminology, CI replaces big batches and long cycle times of integration (the practice of traditional configuration management) with small batches and short cycles of integration—a repeating lean theme” . So ,on lean software development, as with agile, there are many lean success stories. And, just as it is with agile, successful lean implementations tend to follow certain patterns. Lean inherits ideas from the world of manufacturing to drive efficiency and effectiveness, ideas that are particularly relevant in IT operations. Lean ideas can work very nicely in tandem with agile, given its strong alignment with the thought processes patterns associated with software development. “What is really behind companies that succeed at sustained lean implementation is the level of thinking driven by lean principles and rules. Thinking is powerful in changing an organization. Thinking drives behaviors. Behaviors drive action. Action drives results.” (Flinchbaugh, 2012, p. 4) Conclusion To sum up this when it comes to realizing the benefits of lean-agile software development, some of the more obvious benefits include faster development of features but it is important not to lose sight of the most important benefit, which is the ability to rapidly deliver business value, in whatever form business value might be realized for an organization. When viewed from the perspective of one of the most critical manifestations of business value delivery — competitive advantage — organizations that practice development and that “… have the ability to quickly and inexpensively evolve a product closest to the end of the development lifecycle will have a tremendous competitive advantage. Ultimate customer value is delivered at the point-of-sale, not the point-of-plan” (Highsmith,
Synergy Oct 2015, Page 10
Quarterly Newsletter of PMI North India Chapter