The importance and presence of agile principles in agile software development

Aygun Shafagatova
Waarden en Principes van Agile Softwareontwikkeling: Percepties en realiteiten. It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change.Charles Darwin. De afgelopen jaren is de populariteit van agile softwareontwikkelingsmethoden enorm toegenomen. De ideeën, waarden en praktijken die agile softwareontwikkeling omvat hebben een grote invloed op de manier waarop softwareontwikkeling in de praktijk gebeurt.

The importance and presence of agile principles in agile software development

Waarden en Principes van Agile Softwareontwikkeling: Percepties en realiteiten. 

It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change.

Charles Darwin. 

De afgelopen jaren is de populariteit van agile softwareontwikkelingsmethoden enorm toegenomen. De ideeën, waarden en praktijken die agile softwareontwikkeling omvat hebben een grote invloed op de manier waarop softwareontwikkeling in de praktijk gebeurt. Agile is en wordt gebruikt als een parapluwoord voor verschillende softwareonwkkelingsmethoden, en die methoden zijn allemaal gebaseerd in basis waarden en principes die voor agile staan. Wat betekent agile: open zijn voor veranderingen bij projecten, in staat zijn om al die veranderingen effectief behandelen; flexibel zijn; in een korte periode werkende software ontwikkelen zelfs het bevat heel weinig functionalitetien; effectieve samenwerking bouwen tussen business en ontwikelingsteam;  zorgen voor feedback en verbetering indien nodig. Hoewel er reeds behoorlijk wat onderzoek gedaan is naar agile ontwikkelingsmethoden en praktijken in het algemeen, is er nog relatief weinig aandacht besteed aan het belang van waarden en principes en hun aanwezigheidsgraad in agile ontwikkelingsprocessen. In deze context komen enkele vragen naar boven. Zijn de waarden en principes die in het Agile Manifesto vermeld staan bijvoorbeeld nog steeds in dezelfde mate aanwezig in agile softwareontwikkeling en zijn deze nog steeds belangrijk? In dit opzicht ontbreken empirische bewijsmiddelen en academische analyses in mainstream onderzoek.

Dit onderzoek heeft daarom als doel een volledig begrip te krijgen van de percepties en de werkelijkheid over de aanwezigheid van agile principes in agile ontwikkelingsprocessen. Het uiteindelijke doel van dit onderzoek is om een empirisch bewijs te leveren dat de originele ideeën en bouwstenen van de agile methode nog steeds gevolgd worden en om aan te tonen in welke mate beoefenaars voldoen aan deze waarden en principes. Om dit doel te bereiken, werd in dit onderzoek een enquête en een mapping gebruikt als onderzoeksmethodes voor het verzamelen van gegevens. De online- enquête werd uitgevoerd om te bepalen in welke mate agile praktijken gebruikt worden onder beoefenaars, en in welke mate zij belang hechten aan de agile principes. Verder is er een mapping gemaakt door agile deskundigen van academische en industriële achtergrond om te achterhalen in welke mate een agile praktijk welke agile principes ondersteund.

Uit de resultaten van het onderzoek blijkt dat er een aantal belangrijke verschillen bestaan in de mate van implementatie in de praktijk en in de belangrijkheidsgraad van de verschillende principes. Uit de analyse van de empirische gegevens blijkt dat er mogelijke inconsistenties zouden kunnen bestaan in het belang van de principes en de aanwezigheidsgraden, aangezien de naleving van de principes die als belangrijk beschouwd wordt zich op een verschillend niveau blijkt te bevinden. Bovendien is het lijst van het meest gebruikte en het minst gebruikte praktijken gemaakt die op de survey resultaten gebaseerd zijn. Dus basis praktijken en praktijken van Scrum methode zijn meest geimplementeerde praktijken, terwijl praktijken die gerelateerd zijn in technische en design zijn het minst populiar praktijken. De studie wordt afgesloten met een aantal speculatieve opmerkingen over mogelijke verklaringen voor deze resultaten. Het kan zijn dat agile gebruikers niet bewust zijn van agile principes en waarden tijdens het process van adoptie van agile sofwtareontwikkeling. Ze kiezen en implementeren agile praktijken gewoon mechanisch en kennen die basiswaarden en principes niet die staan voor agile. Daarom waarderen ze bepaalde agile principes meer, terwijl wat ze implementeren dezelfe waarden niet steunt. Het is een heel interessante bevinding die verder bestudeerd en onderzocht kan worden.   

 

Bibliografie

1. Bibliography

 

Abrahamsson, P. C. (2009). Lots done, more to do’: the current state of agile systems development research. European Journal of Information Systems, 18, 281-284.

Abrahamsson, P. S. (2002). Agile software Development: Review and Analysis. VTT.

Abrahamsson, P. W. (2003). New directions on agile methods: a comparative analysis. Software Engineering, 244 - 254.

Ågerfalk, P. a. (2006). Flexible and Distributed Software Processes: Old Petunias in New Bowls? Communications of the ACM, 27-34.

AgileAlliance. (n.d.). Guide to Agile Practices. Retrieved July 15, 2015, from AgileAlliance: http://guide.agilealliance.org/

Ambler, S. (2002). Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process. New York: John Wiley & Sons, Inc.

Ambler, S. V. (2008). Agile Practices and Principles Survey. Retrieved June 16, 2015, from www.agilemodeling.com/surveys/

Barlow, J. e. (2011). Overview and Guidance on Agile Development in Large Organizations. Communications of the Association for Information Systems, 29.

Beck, K. ,. (2005). Extreme Programming Explained: Embrace Change. Boston: Addison-Wesley.

Bermejo, P. Z. (2014). Agile principles and achievement of success in software development: A quantitative study in Brazilian organizations. Procedia Technology, 718 – 727.

Boehm, B. (2002). Get ready for agile methods, with care. Computer, 35(1), 64–69.

Boehm, B. T. (2003). Balancing Agility and Discipline: A Guide for the Perplexed. Boston: Addison-Wesley Longman Publishing Co.

Boehm, B. T. (2005). Management Challenges to Implementing Agile Processes in Traditional Development Organizations. IEEE Software, 30-39.

Bryman, A. (2004). Social Research Methods. New York: Oxford University Press.

Chow, T. C. (2008). A survey study of critical success factors in agile software projects. The Journal of Systems and Software, 81, 961–971.

Coad, P. D. (1999). Java Modeling in Color. Englewood Cliffs, NJ: Prentice.

Cockburn, A. (2001). Agile software development. Boston: Addison-Wesley.

Cockburn, A. (2001). Crystal Clear: A Human-Powered Software Development Methodology for Small Teams. Reading, MA: Addison-Wesley.

Cockburn, A. (2007). Agile Software Development: The Cooperative Game. Addison-Wesley.

Cockburn, A. H. (2001). Agile software development: The business of innovation. IEEE Computer, 120-122.

Cohen, D. L. (2004). An Introduction to Agile Methods. ADVANCES IN COMPUTERS.

Cohen, D. L. (2004). An Introduction to Agile Methods. Advances in Computers, 62.

Cohn, M. (2010, June 17). What Does It Mean to Be Agile? Retrieved June 17, 2015, from https://www.mountaingoatsoftware.com/blog/what-does-it-mean-to-be-agile

Conboy, K. (2009). Agility from First Principles: Reconstructing the Concept of Agility in Information Systems Development. Information Systems Research, 329 - 354.

Conboy, K. F. (2007). The Views of Experts on the Current State of Agile Method Tailoring. In Organizational Dynamics of Technology-Based Innovation: Diversifying the Research Agenda (pp. pp 217-234). US: Springer.

Couper, M. P. (2000). Web Surveys: A Review of Issues and Approaches. The Public Opinion Quarterly, 64, 464-494.

Creswell, J. W. (2003). Research Design: Qualitative, Quantitative, and Mixed Methods Approaches. Thousand Oaks: Sage Publications.

Descriptive Statistics. (n.d.). Retrieved June 20, 2015, from Research methods knowledge base: http://www.socialresearchmethods.net/kb/statdesc.php

Dingsøyr, T. D. (2010). Agile Software Development: Current Research and Future Directions. Berlin/Heidelberg: Springer.

Dingsøyr, T. N. (2012). A decade of agile methodologies: Towards explaining agile software development. The Journal of Systems and Software, 85, 1213– 1221.

Dybå, T. D. (2008). Empirical studies of agile software development: a systematic review. Information and Software Technology, 50, 833–859.

Dybå, T. D. (2009). What Do We Know about Agile Software Development? IEEE Software, 6-9.

Erickson, J. L. (2005). Agile Modeling, Agile software development, and extreme programming: the state of research. Journal of Database Management, 16(4), 88–100.

Fogelström, N. T. (2010). The impact of agile principles on market-driven software product development. Journal of Software Maintenance and Evolution: Research and Practice, 53–80.

Fowler, M. H. (2001). The Agile Manifesto.

Glass, R. J. (2001). Agile versus Traditional: make love not war. Cutter IT Journal, 12-18.

Hastie, S. (2010, June 25). What does it mean to be Agile - survey results. Retrieved June 17, 2015, from http://www.infoq.com/news/2010/06/what-means-agile-survey

Highsmith, J. (2002). Agile Software Development Ecosystems. Boston: Addison-Wesley.

Highsmith, J. (2010). Agile Project Managent: Creatinng Innovative Products. Boston: Pearson Education.

History: The Agile Manifesto. (2001). Retrieved March 24, 2015, from Agile Manifesto: http://agilemanifesto.org/history.html

HP, L.P. (2015, May). Agile is the new normal.

Jalali, S. a. (2010). Agile practices in global software engineering-a systematic. Global Software Engineering (ICGSE), 2010 5th IEEE International Conference, (pp. 45–54).

Kalermo, J. R. (2002). Agile Software development in theory and practice.

Kongyai, B. E. (2011). Adaptation of Agile Practices:A Systematic Review and Survey.

Larman, C. B. (2003). Iterative and Incremental Development: A Brief History. IEEE Computer Society, 47-56.

Livari, J. M. (1998). The usage of systems development methods: Are we stuck to old practices? Information Software Technology, 501–510.

Lyytinen, K. R. (2006). Information system development agility as organizational learning. European Journal of Information Systems, 183–199.

Martin, R. (2014). Agile Software Development, Principles, Patterns, and Practices: Pearson New International Edition. Essex: Pearson Education Limited.

Medinilla, A. (2012). Agile Management Leadership in an Agile Environment. Berlin Heidelberg: Springer.

Meyer, B. (2014). Agile! The Good, the Hype and the Ugly . Berlin: Springer.

Misra, S. K. (2009). Identifying some important success factors in adopting agile software development practices. Journal of Systems and Software, 1869-1890.

Muijs, D. (2004). Doing Quantitative Research in Education with SPSS. Sage Publications.

Nerur, S. M. (2005). Challenges of migrating to agile methodologies. Communications of the ACM, 72-28.

Neuman, L. (2011). Social Research Methods.

Poppendieck, M. (2001). Lean Programming. Software Development Magazine, 71-75.

Rajlich, V. (2006). Changing the Paradigm of Software. Communications of the ACM, 67 - 70.

Rea, M. L. (2005). Designing and Conducting Survey Research: A Comprehensive Guide. San Fracisco: Jossey Bass.

Robson, C. (2002). Real World Research. Blackwell.

Salo, O. A. (2004). Empirical Evaluation of Agile Software Development: The Controlled Case Study Approach. In Product Focused Software Process Improvement (pp. 408-423). Berlin Heidelberg: Springer.

Schwaber, K. S. (2013, July). The Scrum Guide: Definitive guide to scrum – rules of the game. Retrieved April 15, 2015, from http://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-us.pdf

Siau, K. (2005). A retrospective review of JDM from 2003 to 2005 and a discussion on publication emphasis of JDM for the next two to three years. Journal of Database, 16, 1.

Smith, G. S. (2009). Becoming Agile in an imperfect world.

Stapleton, J. (1997). DSDM: Dynamic Systems Development Method. Harlow, England: Addison-Wesley.

The Standish Group. (2013). Chaos Manifesto 2013: Think big, act small. Retrieved May 14, 2015, from http://www.versionone.com/assets/img/files/ChaosManifesto2013.pdf

Turk, D. F. (2002). Limitations of Agile Software Processes. Third International Conference on Extreme Programming and Flexible Processes in Software Engineering, (pp. 43-46). Alghero.

Turk, D. F. (2005). Assumptions Underlying Agile Software Development Processes. Journal of Database Management, 62-87.

VersionOne. (2015). State of Agile.

Vilain, P. M. (2011). Neglecting Agile Principles and Practices: A Case Study. the 23rd International Conference on Software Engineering & Knowledge Engineering (SEKE'2011). Miami.

Vinekar, V. S. (2006). Can agile and traditional systems development approaches co-exist? An ambidextrous view. Information Systems Management, 31-42.

West, D. G. (2010). Agile Development: Mainstream Adoption Has Changed Agility. Retrieved March 25, 2015, from http://programmedevelopment.com/public/uploads/files/forrester_agile_de…

Williams, L. C. (2003). Agile Software Development: Its about feedback and change. IEEE Computer Society, 39-42.

Williams, L. D. (2014). Agile Software Development in Practice. In G. M. Cantone (Ed.), Agile Processes in Software Engineering and Extreme Programming (pp. 32-45). Rome: Springer International Publishing.

Williams, L. R. (2010). Driving Process Improvement via Comparative Agility Assessment. AGILE '10 Proceedings of the 2010 Agile Conference, (pp. 3-10). Washington.

 

Universiteit of Hogeschool
Master in Handelswetenschappen: management en informatica
Publicatiejaar
2015
Kernwoorden
Share this on: