techniques and methods, which can be implemented by command and control. Rather, it is a fully integrated management and software development philosophy and approach which must be practiced throughout the organization from top to bottom and consistently.
Another common reason iterative and agile software development adoption fails is that organizations try to implement disparate elements instead of a common and interrelated set of key concepts. Each element of such an approach will only fully blossom if grown in an environment that contains and nourishes the philosophies and managerial practices needed to support it. I liken this to a greenhouse, where just the right combination of soil, light, temperature, humidity, water and nutrients allow plants to grow and flourish. If any one of these elements is removed, the plants will weaken and eventually die.
An iterative and agile approach is an interlocking set of three underlying elements: the philosophical underpinnings, the managerial culture and the technical tools. The philosophical underpinnings include a self-organizing team, customer-first focus, emphasis on people first, a commitment to continuous improvement, and a belief that harmony with the environment is of critical importance. The managerial culture for an iterative and agile approach is rooted in several factors, including developing and sustaining a sense of trust, a commitment to involving those affected by first, teamwork, equal and fair treatment for all, and finally, fact-based decision making and long-term
All of these facets of an iterative and agile approach - the philosophical mindset, the managerial culture and the technical tools - must be in place and in practice for an iterative and agile approach to truly flourish and provide customer value, the high-quality, high-productivity results it is capable of producing.
What have I learned from my experiences as a practitioner can I pass along to you? First, I have learned that the human dimension is the single most important element for success. Management has no more critical role than motivating and engaging large numbers of people to work together toward a common goal. Defining and explaining what that goal is, sharing a path to achieving it, motivating people to take the journey with you, and assisting them by removing obstacles - these are management's reason for being.
What I've realized is that our greatest challenge is to lead teams not through the power of will or dictate, but rather through example, through coaching and through understanding and helping others to achieve their goals. This, I truly believe, is the role of management in a healthy, thriving, iterative and agile work environment.
About the Author
Russell Pannone is the Founder of We Be Agile and the Agile Lean Phoenix User Group, as well as the Agile-Lean Adoption Lead. With almost 30 years of system-software development and delivery experience, my focus is on working side-by-side with folks on real projects helping them deliver valuable system-software to production early and often, giving those I collaborate with the best opportunity to beat the competition to market, realize revenue and discover insights that we can use to help us improve.