Agility Assessment Model to Measure Agility Degree of Agile Software Companies

This paper presents an Agility model to measure Agility degree of software companies. The model presented in this paper is easy to use and compatible to Agile principles and values. Focusing on Agile practices, this study identified the importance of Agile practices in being Agile. The underpinnings of the proposed model are Agile practices and their importance in achieving Agile values.


Introduction
Software companies are replacing traditional methods in software development with Agile methods, primarily due to prevent the inherent challenges of traditional methods. However, transitioning to Agile is not an easy process and needs enough time and effort 1,2 .
Several different values have been offered to software companies including quick and frequent delivery, embracing changes in requirements, increasing customer satisfaction, empowering development team, increasing team collaboration, achieving higher quality, and so on 3,4 . Different Agile methods focus on different Agile values. While some of them focus on achieving values in project management, some others focus on software development process. However, combination of them may help software companies to achieve the maximum possible values.
The ultimate goal of Agile transformation -leaving traditional methods and adopting to Agile methods-is being Agile. Achieving more Agility degree means that company can achieve more Agile values. However, measuring Agility degree is somewhat subjective. This is mainly because of the nature of Agility which is not a quantitative value. Furthermore, measurement approach in Agile software development is different from traditional approach 5 . Nonetheless, there are some studies focused on Agility assessment. These studies mainly have focused on comparing companies in term of Agility, considering particular Agility level, and goodness of Agile methods adopted by software companies. However, the primary disadvantage of the proposed methods, tools and assessment techniques is their limited scope and application 6 .
We got motivated by lack of a well-known and comprehensive Agility assessment approach to conduct a research study in order to develop a simple and easy to use Agility assessment model. We particularly wanted to develop a quantitative based model to indicate Agility degree of software companies by a ratio scale. In this way, such a model, can simply a ratio value to each company and so, comparing software companies in term of Agility degree would be easy and perceptible.
The rest of this paper is organized as follows: Section 2 presents the previous studies and background of the study. Section 3 provides the proposed model, and finally, Section 4 concludes the paper.
Keywords: Agility Assessment, Assessment Model, Agile Practices, Agile Software Development

Related work
Several studies have been conducted regarding to Agile assessment, Agility measurement, and goodness of Agile methods. This section presents the most significant related work and provides a concise discussion on drawbacks of their proposed models or tools.
Sidky et al. 7 proposed a multi-level Agility model. Considering a set of objectives for each level, a set of Agile practices are mapped to each level. Indeed, the practices identified for each level reflect some of the values identified by Agile manifest to 8 . Like CMMI approach, they considered five levels of Agility. Companies adopted all practices in each level are considered in that level of Agility. Following CMMI approach, maintaining Agility level in each level of Agility requires adopting to all practices in lower Agility levels. The primary drawback of this Agility assessment model is forcing companies to accept a pre-defined set of practices for each level of Agility 6 . This seriously compromise the flexibility promised by Agile approach 6 .
Qumer and Henderson-Sellers 9 proposed Agile Adoption and Improvement Model (AAIM) to measure degree of Agility of an Agile method. Like Sidky et al. 7 , they also created a multi-level Agility model comprising six levels of Agility within three Agile blocks. They also used five parameters including "flexibility, speed, leanness, responsiveness, and learning" to define Agility 10 . The degree of Agility at each block is measured using the 4-DAT, "4 Dimensional Analytical Tool" 10 . The 4-DAT can examine an Agile method from four dimensions. Like sidky et al. 's model, AAIM follows CMMI approach and potentially reduces the flexibility afforded by Agile methods 11 .
Two other approaches focused on Agility assessment based on the adopted Agile practices. These third party Agility assessment tools are Comparative Agility (CA) and Thoughtworks Agile Assessment survey 12,13 . The rationale behind CA is that usually software companies only intend to being more Agile than their competitors 13 . The assessment tools, developed based on the CA approach, help software companies to assess their Agility degree relative to other companies that responded to the tool 13 . This survey-based tool is freely accessible through a particular website 14 . A serious drawback of CA is that when comparing companies in term of Agility, it is unclear whether or not the adopted Agile practices are suitable for a company 11 .
Toughtworks, a leading consulting company in Agile software development, developed an online Agility assessment tool 12 . This tool shows the Agility degree of an organization based on the twenty questions about existence of Agile practices in an organization. However, this tool does not identify the effectiveness of Agile methods in the survey. Also, it seems that considering only twenty practices is not enough, while there are many other Agile practices.
Soundararajan et al. 11 proposed a framework for assessing goodness of an Agile method. The main focus of this framework is assessing Agile methods from adequacy, capability, and effectiveness perspectives. Although this framework is helpful for assessing goodness of an Agile method compared to other Agile methods, it is not applicable to assess Agility degree of a software company.
Considering the advantages and disadvantages of the previous works, we intended to propose a model to assess Agility degree of an organization and overcome the drawbacks of the previous models.

Agility Assessment Model
The most important thing in proposing an assessment model is identifying measurement criteria.

Assessment Criteria
Agility assessment criteria need to have particular characteristics as follow.

Method-independent
The selected criteria should be method-independent; otherwise, they will lead to the superiority of one or some methods over others. For instance, "team size" may be used for identifying Agility, but since team size may vary from one Agile method to another Agile method, it could not be a good metric for assessing Agility. The best team size has been defined 7-9 for scrum 15 , but the best team size for Crystal Family totally depends on the project type and criticality 16 .

Agility Indicator
Good Agility assessment criteria should reflect an organizational or behavioral change 17 . In other words, assessment criteria should be different from those which are applicable in traditional methods. This causes that organization does not inherit those criteria from traditional methods. Indeed, any improvement in achieving these criteria directly is the result of trying to achieve more Agility.

Simplicity
Agility assessment criteria should be simple as much as possible. Obviously, those criteria which are simple and understandable are more effective and are more acceptable in industrial environments 18 .
Considering the above features, Agile practices were considered as the assessment criteria to measure Agility of an organization. Although reviewing the literature may show more than 50 Agile practices, 44 Agile practices are the most important one 19 . These practices almost cover the concept of Agility in Software Company. The list of these practices will be presented in next section.

Criteria's Weight
The weight of each practices extracted from a previous survey performed previously by Prof. Laurie Williams. A decade after creating Agile manifesto, she intended to assess to what extent Agile principles and their associated practices are still important from the perspective of communities 19 . The importance of each Agile practice was asked using a five point likert scale (1= not very important; 5= essential).
Regarding to the Agile practices, 326 responses were received. However, some of the participants did not answer some of the questions. More detailed information about the survey and respondents is available in 19 . Table 1 shows the mean score of Agile practices and weight of them according to the responses received.

Agility Assessment Model in Action
With respect to the assessment criteria and their weights, the application of the model is quite easy. Agility degree of a company is calculated by the following formula.
In this formula, P i represents the extent of an Agile practice adopted in company. The accepted range for this value can be set by companies. However, in our model, we set it to equal 10. This number reflects the range in the above formula too. W i shows the weight of P i in our Agility model and can be obtained from the Table 1.
This model can be easy developed as a web service and software companies can use it simply to indicate their Agility degree based on the existence of Agile practices in their companies.

Comparison with Previous Models
Considering the previous models, we tried to prevent their drawbacks when developing this model. Our model does not consider any Agility level, like Sidky et al. 7 and Qumer et al. 9 models. It also does not force companies to adopt any particular Agile practices for achieving specific Agility degree or level. Comparing to the thoughtworks and CA, our model covers more Agile practices and highlights the importance of each Agile practice in achieving Agility. Finally, unlike the Soundararajan et al. 11 model, the main focus of our model is on all practices rather than any particular Agile methods. All of these advantages herald usefulness of the model comparing to the previous models.

Conclusion
Assessing Agility degree of software companies has been a center of focus for many of software engineering researchers. Although a few Agility assessment model have been proposed, they suffer from some serious disadvantages including incompatibility with Agile approach, less flexibility, limited scope and application, and so on. In this paper, we proposed a model which has none of the drawbacks of the previous models. We used 44 Agile practices and their importance (values) in achieving Agility in software companies to create an assessment model. The proposed model can simply calculate the Agility of a company based on the adopted practices in that company. It will be later implemented as a web service to be easily accessible by software companies.

Acknowledgement
This study was performed as a research plan and was finan cially supported by Islamic Azad University, Boroujen Branch, Iran. The authors also intend to express their gratitude to Prof. Laurie Williams who contributed to this study by having provided the data.