Software is consuming the world. Industries of all types are faced with growing competitive pressures that can be addressed only through more innovative and productive IT operations, software-based systems, products, solutions and services. Many of today’s systems are of such complexity that they require hundreds, and even thousands, of practitioners to build.
As always, we, the software development community, have the responsibility to develop and deploy the next generation of practices than deliver better quality, faster. Fortunately, in addition to our traditional experience in building successful systems, we have access to new knowledge pools that can help us address this challenge. These include not only Agile methods, but Lean and Systems Thinking, and Product Development Flow.
In this tutorial, Dean Leffingwell will summarize some of this knowledge into a manageable and memorable set of nine core principles that can be implemented in any software business context. Building on Agile, Lean Systems Thinking and product development flow, the principles are:
• Take an economic view
• Apply systems thinking
• Assume variability; preserve options
• Build incrementally with fast, integrated learning cycles
• Base milestones on objective evaluation of working systems
• Visualize and limit WIP, reduce batch sizes; manage queue lengths.
• Apply cadence; synchronize with cross-domain planning
• Unlock the intrinsic motivation of knowledge workers
• Decentralize decision-making
Understanding and applying these critical principles can unlock significant business benefits, regardless of business context, development frameworks and specific methods of choice.