Generally, organizations think about implementing Agile development after acknowledging a need for change. These...
organizations see Agile as a way out of a cycle of projects continually behind schedule, over budget and lacking high standards of quality. They expect it to be the quick fix they desperately need. It could be just that, but only for organizations that really understand what Agile is and what an Agile mind-set means.
Some organizations experiment with various Agile approaches, usually starting with Scrum or kanban. Some more adventurous organization may try Extreme Programming or Lean software development. Sometimes organizations succeed in implementing an iterative approach with some Agile principles sometimes known as Scrum but. Unfortunately, Agile initiatives sometimes fail and the usual reason for failure is a lack of understanding of the nature of Agile principles.
To understand the nature of Agile, we look to the Agile Manifesto and the 12 principles on which the Agile Manifesto is based. The Agile Manifesto describes the values of Agile software development, and the 12 principles describe how software is developed according to those values. Since Agile is based on values, we can accurately conclude that it is more than a framework or a set of methodologies for software development. The signers of the manifesto described a more fundamental change in the way the industry looks at software development.
About the Agile Alliance
Some of the original signers of the Agile Manifesto founded the Agile Alliance. The mission of the Agile Alliance, taken from its website, is "to support those who explore and apply Agile principles and practices to make the software industry productive, humane and sustainable.
In order to implement any Agile development approach, an organization must accept and espouse a new set of values, and this involves a true transformation. Organizations that attempt to implement Agile frameworks or methodologies without transforming their value systems are likely to fail. So, the question becomes how an organization approaches and manages a value transformation.
A successful Agile transformation (or a transformation of any kind) involves a deep commitment to change. An organization must approach an Agile transformation beginning with a change in values; by getting commitment to Agile values from senior management first and then proliferating it through all levels of the organization. This involves changing both the organizational mind-set and the mind-sets of the individuals therein.
An organization's mind-set is closely tied to its culture. For example, is the culture of the organization collaborative, where individuals of all levels are encouraged to share ideas and take risks? Or is it more command and control, where individual contributors follow the directives of their managers and obtain approval on all deliverables? If an organization's culture is not aligned with Agile values prior to attempting an Agile transformation, this change will need to happen first.
An organization can begin the process of changing its culture or mind-set with its current software development methodology, even if that is waterfall. It can begin as simply as giving the project teams responsibility and accountability for establishing and meeting schedules for production releases. Developers can be paired and given shared responsibility in order to encourage collaboration.
An individual's mind-set is simply a set of beliefs about one's abilities, basic qualities, intelligence and personality. Psychologist Carol Dweck developed mind-set theory from her research on why some people succeed whereas others fail. She found that those who were most successful had a "growth mind-set." They believed that they could improve themselves through learning and viewed failures as opportunities for growth. Less successful people tended to have a "fixed mind-set" in which they believed that their basic qualities could not be changed, therefore took small failures as personal inadequacies.
Obviously, individuals who have a growth mind-set will be more like to embrace an Agile transformation and function effectively within an Agile methodology than those who don't. However, most individuals' mind-sets are not either fixed or growth; most people have aspects of both. Managers can encourage individuals to develop their growth mind-sets by offering training and professional development opportunities.
When an organization understands Agile as a mind-set and begins an Agile transformation by building an Agile mind-set, it develops a foundation for commitment to Agile values, which leads to a more successful implementation of Agile frameworks and methodologies.