are resolved to determine the final set of agile practices that will be adopted. When organization readiness level (from Stage 3) is less than the project target level (from Stage 2), reconciliation is necessary. The framework provides two options for reconciling this situation (see Figure 4).
Option 1: The first option relies on how ready and willing the organization is for changes and improvements. The results of the organizational assessment have identified exactly which characteristics are hindering the organization from reaching higher levels of agility (i.e., the project's target level). If changing any of these characteristics is within the control of the organization, then the organization can undertake the necessary steps to improve these characteristics. Once all the recommended changes have been successfully made, the organization can support agile practices at the project's target level.
Option 2: The second option is suitable for organizations that are not willing to invest time, effort, or money towards change, and only want to adopt those agile practices that are within their current capacity. In that case, it is recommended to adopt only the agile practices for which the organization is ready. The obvious downside to this approach is that the project is restricted to operating at a lower level of agility than its potential.
This reconciliation stage helps the organization realistically identify the agile practices it can adopt. At the same time, if the organization is able and willing to improve, then this stage guides it as to where the improvements need to occur so that an individual project can operate at its full agile potential. Moreover, by utilizing this approach, the organization prepares itself sufficiently before starting the process of introducing agile practices into the development process.
The Agile Adoption Framework provides organizations with a structured and repeatable approach to guide and assist them in the move toward agility. The framework is independent of any one particular agile method or style, there are no restrictions on using XP or SCRUM or any other agile practices within the framework. Moreover, the framework has two levels of assessment: one at the project level and another on an organizational level. Hence, it accommodates the uniqueness of each project, and at the same time, recognizes that each project is surrounded by, and is part of, an overall organization that must be ready to adopt the requisite agile practices. We view the Agile Adoption Framework as an initial contribution towards answering the complex question of how to adopt agile practices. While we recognize that the framework has yet to reach its full potential, we are encouraged by the comments given to the Agile Adoption Framework from members of the agile community.
About the authors
Ahmed Sidky is a senior agile consultant with Tangible Software. He graduated as Valedictorian with a Bachelor's degree in Computer Science from the Modern Science and Arts (MSA) University in Cairo, Egypt. While working as an Internet Solution Developer for one of the leading corporations in Egypt, he received the award for the Best Creative Solution for that year. With his research focused on Requirements Engineering, he earned a Masters degree in Software Engineering from Virginia Tech. Ahmed's research interests then moved towards Agile Software Development Methodologies. His latest research is a process framework for the adoption of agile practices known as the Agile Adoption Framework.
James D. Arthur is an Associate Professor of Computer Science at Virginia Tech. He received B.S and M.A. degrees in Mathematics from the University of North Carolina at Greensboro, and M.S. and Ph.D. degrees in Computer