Rafaela Mantovani Fontana Sheila Reinehr Andreia Malucelli Maturing in Agile: What Is It About? Introduction Related Work Research Design Data Analysis Discussion Conclusion Pontifical Catholic University of Paraná Software Engineering Research Group 2014 Combination of agile methods with CMMI-DEV and ISO/IEC 15504 • Higher maturity levels hamper agility Agile maturity models • Sustain agility • Models are still initial and few are scientifically tested • There is evidence that practitioners dislike “models” Rafaela Mantovani Fontana 3 Pontifical Catholic University of Paraná Software Engineering Research Group 2014 Models that focus on developing agile values and practices by means of stages or levels: Packlick (2007) Sidky et al. (2007) • Goal oriented approach • 5 levels to reach maturity: awareness, transformation, breakthrough, optimization, mentoring • 5 maturity levels: collaborative, evolutionary, effective, adaptive, encompassing Nottonson and DeLong (2008) • 3 steps of agile adoption: craw, walk, run Qumer and HendersonSellers (2008) • 6 maturity levels: agile infancy, agile initial, agile realization, agile value, agile smart, agile progress Patel and Ramachandran (2009) • Similar to CMMI-DEV • 5 levels: initial, explored, defined, improved, sustained Rafaela Mantovani Fontana 4 Pontifical Catholic University of Paraná Software Engineering Research Group 2014 Other approaches to measure agility Measure how agile a team is ▪ Layman et al. (2004), Williams et al. (2004) Evaluate agility comparatively ▪ Williams et al. (2010) Relate agile practices to project success ▪ Abbas et al. (2010) Define practices to assess maturity ▪ Buglione (2011) Assess adequacy of an agile method ▪ Soudarajan et al. (2012) Identify if agile practices match the organization strategy ▪ Kettunen (2012) Rafaela Mantovani Fontana 5 Pontifical Catholic University of Paraná Software Engineering Research Group 2014 Practices were grouped according to SWEBOK areas and used as foundation to the measurement instrument: Focus on agile requirements Focus on software architecture Focus on agile coding Focus on agile testing Focus on agile planning Focus on project monitoring Focus on agile values in the team Focus on agile quality assurance Focus on defining an agile physical environment Focus on involved customer Focus on metrics Focus on defining processes Focus on controlling processes Rafaela Mantovani Fontana 6 Pontifical Catholic University of Paraná Software Engineering Research Group Literature Research 2014 • List of agile practices grouped in 13 different “focuses”, or practices Collecting data • Respondents had to number the 13 practices in the sequence of implementation to get to maturity • Respondents also pointed out the perceived usefulness of an agile maturity model • 87 valid questionnaires • Average experience in agile software development of respondents was 3.6 years Rafaela Mantovani Fontana Analyzing data • 1) We analyzed the usefulness of an agile maturity model • 2) We verified for each practice: • Is it relevant in the road map to maturity? • Is there a trend to implement it in the beginning, in the middle or in the end of the process? • Is there a difference in the opinion of respondents based on their experience? 7 Pontifical Catholic University of Paraná Software Engineering Research Group 2014 The usefulness of an agile maturity model The relevant practices to maturity Rafaela Mantovani Fontana The difference in practitioners opinions 8 Pontifical Catholic University of Paraná Software Engineering Research Group The usefulness of an agile maturity model Is an agile maturity model useful? The difference in practitioners opinions Yes, it is useful: To help organizations to recognize the implementation of agile methods To help as a guide To define agility To help in the beginning of the adoption 3% 28% No, it is not useful: Maturity is too dependent on the 69% Yes 2014 The relevant practices to maturity Not Blank context There is not a model to all organizations A model would limit agile values and creativity Rafaela Mantovani Fontana 9 Pontifical Catholic University of Paraná Software Engineering Research Group 2014 The usefulness of an agile maturity model The relevant practices to maturity The difference in practitioners opinions We analyzed data from three perspectives: All respondents 2. Experienced practitioners (> 3 years) 3. Non-experienced practitioners (<= 3 years) 1. Rafaela Mantovani Fontana 10 Pontifical Catholic University of Paraná Software Engineering Research Group The usefulness of an agile maturity model The difference in practitioners opinions All respondents All practices appeared to be relevant in the road map to maturity Indifference regarding the classification of the following practices: Defining an agile physical environment, Agile quality assurance, Agile project monitoring The road map to maturity: 1. 2. 3. 4. 5. 2014 The relevant practices to maturity Agile values in team Involved customer Agile planning Agile requirements Agile testing Agile coding 7. Software architecture 8. Metrics 9. Defining processes 10. Controlling processes 6. Rafaela Mantovani Fontana 11 Pontifical Catholic University of Paraná Software Engineering Research Group The usefulness of an agile maturity model The difference in practitioners opinions Experienced practitioners (> 3 years) 3 practices did not appear relevant to maturity: Defining processes, Metrics and Controlling processes Indifference regarding the classification of the following practices: Defining an agile physical environment, Software architecture, Agile project monitoring, Agile quality assurance The road map to maturity: 1. 2. 3. 4. 2014 The relevant practices to maturity Agile values in team Involved customer Agile requirements Agile coding 5. 6. Agile planning Agile testing Rafaela Mantovani Fontana 12 Pontifical Catholic University of Paraná Software Engineering Research Group The usefulness of an agile maturity model The difference in practitioners opinions Non-experienced practitioners (<= 3 years) All practices appeared to be relevant in the road map to maturity Indifference regarding the classification of the following practices: Agile testing, Defining an agile physical environment, Agile quality assurance, Agile coding, Defining process, Agile process monitoring The road map to maturity: 1. 2. 3. 4. 2014 The relevant practices to maturity Agile values in team Involved customer Agile planning Agile requirements 5. 6. 7. Software architecture Metrics Controlling processes Rafaela Mantovani Fontana 13 Pontifical Catholic University of Paraná Software Engineering Research Group 2014 The usefulness of an agile maturity model The relevant practices to maturity The difference in practitioners opinions Experienced and non-experienced practitioners disagree on the implementation sequence of: Agile requirements Software architecture Agile coding Agile testing Rafaela Mantovani Fontana 14 Pontifical Catholic University of Paraná Software Engineering Research Group 2014 A maturity model is not well-suited for agility because organizations are too different in context Traditional software process improvement endeavors usually do not accomplish the benefits in small companies (Staples et al., 2007) People focus on having the job done (Adolph et al., 2012) Codified processes tend to be abandoned (Coleman and O’Connor, 2008) Rafaela Mantovani Fontana 15 Pontifical Catholic University of Paraná Software Engineering Research Group When teams are recognized as complex adaptive systems (Stacey, 1996) it is understood that the behavior is emergent Trials to command and control overcome system’s potential (McDaniel Jr., 2007) The trend to tailor agile methods is already established – agile practitioners prefer to do the job as the context demands (Sheffield and Lemétayer, 2012; Armbust and Rombach, 2011; Cesare et al., 2010; Coleman and O’Connor, 2008; Kirk and Tempero, 2012; Bustard et al, 2013) Although organizations have their particular way to improve processes, it is possible to identify “best practices” (Eisenhardt and Martin, 2000) 2014 Rafaela Mantovani Fontana 16 Pontifical Catholic University of Paraná Software Engineering Research Group 2014 Process-related practices – metrics, defining processes and controlling processes – were not related to agile maturity Based on experienced practitioners responses we could identify groups of practices and their implementation sequence Essential Agile values Intermediate Involved customer Agile coding Agile planning Agile testing Optional Metrics Defining processes Agile requirements Controlling processes Software architecture Agile physical environment Agile quality assurance Agile project monitoring Rafaela Mantovani Fontana 17 Pontifical Catholic University of Paraná Software Engineering Research Group 2014 Organizational maturity has been mainly expressed as the adherence to a structured process Objective assessments For agile maturity, we propose the evaluation or description of software processes based on how efficient it is to reach objectives (Packlick, 2007; Kirk and Tempero, 2012; Kettunen, 2012) This goals-based approach would leave space for teams to do the job as they please Rafaela Mantovani Fontana 18 Pontifical Catholic University of Paraná Software Engineering Research Group Summary 2014 • We conducted a survey with agile practitioners • Some disagree with the need for an agile maturity model • We proposed, then, a guide to maturity Limitations • Study conducted exclusively with Brazilian practitioners • Solely based on the perception of respondents, not on projects observation Take-home message • We want to argue on the probable impossibility of predefining the path to agile maturity • More research needed on how to develop maturity leaving space to the emergency of behaviors • Maturity has to be rethought in some more subjective ways Rafaela Mantovani Fontana 19 Pontifical Catholic University of Paraná Software Engineering Research Group 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 2014 Abbas, Nouras; Gravell, Andrew M.; Wills, Gary B, 2010. Using Factor Analysis to Generate Clusters of Agile Practices – A guide for agile process improvement. 2010 Agile Conference. DOI 10.1109/AGILE.2010.15. pp. 11-20. Available at http://goo.gl/5w95y4 Adolph, Steve; Krutchen, Philippe; Hall, Wendy. 2012. Reconciling perspectives: A grounded theory of how people manage the process of software development. J Syst Softw. Vol. 85. Issue 6. June. pp. 1269-1286. DOI 10.1016/j.jss.2012.01.059. Available at http://goo.gl/vjUHS8 Armbrust, O., Rombach, D.: The right process for each context: objective evidence needed. ICSSP '11: Proceedings of the 2011 International Conference on Software and Systems Process (ICSSP'11), 237--241 (2011) Buglione, Luigi, 2011. Light Maturity Models (LMM): an Agile application. Profes '11: Proceedings of the 12th International Conference on Product Focused Software Development and Process Improvement. pp. 57-61. DOI 10.1145/2181101.2181115. Available at http://goo.gl/6GZhxL Bustard, D., Wilkie, G., Greer, D.: The Maturation of Agile Software Development Principles and Practice: Observations on Successive Industrial Studies in 2010 and 2012. 20th Annual IEEE International Conference and Workshops on the Engineering of Computer Based Systems (EBCS). doi:10.1109/ECBS.2013.11 (2013) Cesare, S. d., Lycett, M., Macredie, R. D., Patel, C., Paul, R.: Examining Perceptions of Agility in Software Development Practice. Commun. ACM, 53 (2010) Coleman, G., O’Connor, R.: Investigating software process in practice: A grounded theory perspective. J. syst. softw., 81, 772--784 (2008) Eisenhardt, K. M., Martin, J. A.: Dynamic Capabilities: What are they? Strat. Mgmt. J., 21, pp. 1105--1121 (2000) Kettunen, Petri, 2012, Systematizing Software Development Agility: Towards an Enterprise Capability Improvement Framework. J Enterp Transform, 2(2). pp. 81-104. DOI 10.1080/19488289.2012.664610. Available at http://goo.gl/tbM5Fh Kirk, D., Tempero, E. A lightweight framework for describing software practices. J. syst. softw., 85, 582--595 (2012) Layman, Lucas; Williams, Laurie; Cunningham, Lynn, 2004. Motivations and Measurements in an Agile Case Study. QUTE-SWAP '04: Proceedings of the 2004 workshop on Quantitative techniques for software agile process. pp. 14-24. DOI 10.1145/1151433.1151436. Available at http://goo.gl/gcf9HD McDaniel Jr., R. R.: Management Strategies for Complex Adaptive Systems. Performance Improvement Quarterly, 20(2), 21--42 (2007) Rafaela Mantovani Fontana 20 Pontifical Catholic University of Paraná Software Engineering Research Group 13. 2014 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Nottonson, K., DeLong, K. 2008. Crawl, Walk, Run: 4 Years of Agile Adoption at BabyCenter.com. pp.116-120, Agile 2008. DOI http://doi.ieeecomputersociety.org/10.1109/Agile.2008.84. Available at http://goo.gl/dEDxSN Packlick, Jay, 2007. The Agility Maturity Map – a Goal Oriented Approach to Agile Improvement. Agile Conference 2007. 13-17 Aug. pp. 266-271. DOI 10.1109/AGILE.2007.55. Available at http://goo.gl/VdaaTh Patel, Chetankumar; Ramachandran, Muthu, 2009. Agile Maturity Model (AMM): A Software Process Improvement framework for Agile Software Development Practices. Int J Softw Eng, vol. 2. no. 1. pp. 3-28. Available at http://goo.gl/FGe0eE Qumer, A.; Henderson-Sellers, B, 2008. A framework to support the evaluation, adoption and improvement of agile methods in practice. J Syst Softw. Vol. 81. Issue 11. pp. 1899-1919. DOI 10.1016/j.jss.2007.12.806. Available at http://goo.gl/LnrDMX Sheffield, J., Lemétayer, J.: Factor associated with the software development agility of successful projects. Int. J. Proj. Manag. doi:http://dx.doi.org/10.1016/j.ijproman.2012.09.011 (2012) Sidky, Ahmed; Arthur, James; Bohner, Shawn. 2007. A disciplined approach to adopting agile practices: the agile adoption framework. Innov Syst Softw Eng. Vol. 3. Issue 3. pp. 203-216. DOI 10.1007/s11334-007-0026-z. Available at http://goo.gl/F4Vdxa Soundararajan, Shvetha; Arthur, James D.; Balci, Osmar, 2012. A Methodology for Assessing Agile Software Development Methods. Agile Conference 2012. 13-17 Aug. pp. 51-54. DOI 10.1109/Agile.2012.24. Available at http://goo.gl/uGd9vO Stacey, R.: Complexity and Creativity in Organizations. San Francisco: Berret-Koehler Publishers (1996) Staples, M., Niazi, M., Jeffery, R., Abrahams, A., Byatt, P., Murphy, R.: An exploratory study of why organizations do not adopt CMMI. J. syst. softw., 80, 883--895 (2007) Williams, L.; Krebs, W.; Layman, L.; Antón, A.; Abrahamsson, P., 2004. Toward a Framework for Evaluating Extreme Programming. 8th International Conference on Empirical Assessment in Software Engineering (EASE 04), pp. 11-20. DOI 10.1049/ic:20040394. Available at http://goo.gl/r29m0P Williams, Laurie; Rubin, Kenny; Cohn, Mike, 2010. Driving Process Improvement Via Comparative Agility Assessment. Agile Conference 2010. 9-13 Aug. pp. 3-10. DOI 10.1109/AGILE.2010.12. Available at http://goo.gl/DA3zP6 Rafaela Mantovani Fontana 21 Rafaela Mantovani Fontana ([email protected])
© Copyright 2024 ExpyDoc