skip to main content
Skip header Section
Agile software developmentJanuary 2002
Publisher:
  • Addison-Wesley Longman Publishing Co., Inc.
  • 75 Arlington Street, Suite 300 Boston, MA
  • United States
ISBN:978-0-201-69969-2
Published:01 January 2002
Pages:
278
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

Software development paradigms are shifting. The development group's "team" ability, and the effects of the individual developer, become more important as organizations recognize that the traditional approach of increasing process pressure and overworking team members is not getting the job done. The pioneers of Agile methodologies question the preconceived processes within which development teams work. Rather than adding to the burden of the individual developer, Agile asks "how can we change the process so that the team is more productive, while also improving quality?" The answer is in learning to play the "game." Written for developers and project managers, Agile Software Development compares software development to a game. Team members play the game knowing that the ultimate goal is to win---always remembering what they have learned along the way, and always keeping in mind that they will never play the same way twice. Players must keep an open mind to different methodologies, and focus on the goal of developing quality software in a short cycle time.

Cited By

  1. ACM
    Huang E, Garg K, Gómez-Zará D, Hui J, Kulkarni C, Massimi M, Churchill E and Gerber E Supporting Workers in Developing Effective Collaboration Skills for Complex Work Companion Publication of the 2023 Conference on Computer Supported Cooperative Work and Social Computing, (486-489)
  2. Saxena A, Venkatagiri S and Bandi R (2023). Conflict management in agile distributed development: evidence from product development and services engagements, Information Technology and Management, 24:3, (247-266), Online publication date: 1-Sep-2023.
  3. ACM
    Garg K, Gergle D and Zhang H Orchestration Scripts: A System for Encoding an Organization’s Ways of Working to Support Situated Work Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems, (1-17)
  4. ACM
    Fronza I, Corral L, Wang X and Pahl C Keeping fun alive Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Software Engineering Education and Training, (165-175)
  5. Strode D, Dingsøyr T and Lindsjorn Y (2022). A teamwork effectiveness model for agile software development, Empirical Software Engineering, 27:2, Online publication date: 1-Mar-2022.
  6. Radhakrishnan A, David D and Davis J (2022). Examining the Critical Success Factors in IT Projects, International Journal of Information Technology Project Management, 13:1, (1-38), Online publication date: 31-Jan-2022.
  7. Spiegler S, Heinecke C and Wagner S (2021). An empirical study on changing leadership in agile teams, Empirical Software Engineering, 26:3, Online publication date: 1-May-2021.
  8. Benfell A (2021). Modeling functional requirements using tacit knowledge: a design science research methodology informed approach, Requirements Engineering, 26:1, (25-42), Online publication date: 1-Mar-2021.
  9. ACM
    Vieira C, Lohmann P, Magdaleno A and Engiel P APRUMO (Agile Process Modeling) – A Method to Process Modeling Using Agile BPM Proceedings of the XVI Brazilian Symposium on Information Systems, (1-8)
  10. Godlevsky A and Morokhovets M (2020). Cyber-Physical Systems: The Linguistic Aspect, Cybernetics and Systems Analysis, 56:6, (878-892), Online publication date: 1-Nov-2020.
  11. ACM
    Stojko L, Fietkau J and Koch M Design guidelines for micro information radiators to increase seniors' safety in urban space Proceedings of Mensch und Computer 2020, (443-447)
  12. Wang Y, Graziotin D, Kriso S and Wagner S (2022). Communication channels in safety analysis, Journal of Systems and Software, 153:C, (135-151), Online publication date: 1-Jul-2019.
  13. Falke S Developing a Knowledge Graph for a Question Answering System to Answer Natural Language Questions on German Grammar The Semantic Web: ESWC 2019 Satellite Events, (199-208)
  14. Kortum F, Klünder J and Schneider K Behavior-driven dynamics in agile development Proceedings of the International Conference on Software and System Processes, (34-43)
  15. ACM
    Walker H and Dooley J The History of the SIGCSE Submission and Review Software Proceedings of the 50th ACM Technical Symposium on Computer Science Education, (1074-1080)
  16. Gerardo C, Shameem M, Kumar R, Kumar C, Chandra B and Khan A (2018). Prioritizing challenges of agile process in distributed software development environment using analytic hierarchy process, Journal of Software: Evolution and Process, 30:11, Online publication date: 14-Nov-2018.
  17. Gannod G, Eberle W, Talbert D, Cooke R, Hagler K, Opp K and Baniya J Establishing an Agile Mindset and Culture for Workforce Preparedness: A Baseline Study 2018 IEEE Frontiers in Education Conference (FIE), (1-9)
  18. Slaats T, Debois S and Hildebrandt T Open to Change: A Theory for Iterative Test-Driven Modelling Business Process Management, (31-47)
  19. ACM
    Wang Y and Wagner S On groupthink in safety analysis Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice, (266-275)
  20. Senapathi M and Drury-Grogan M (2017). Refining a model for sustained usage of agile methodologies, Journal of Systems and Software, 132:C, (298-316), Online publication date: 1-Oct-2017.
  21. ACM
    Raith F, Richter I and Lindermeier R How Project-management-tools are used in Agile Practice Proceedings of the 21st International Database Engineering & Applications Symposium, (30-39)
  22. Liechti O, Pasquier J and Reis R Beyond dashboards Proceedings of the 10th International Workshop on Cooperative and Human Aspects of Software Engineering, (16-22)
  23. ACM
    Rossi C, Shibley E, Su S, Beck K, Savor T and Stumm M Continuous deployment of mobile software at facebook (showcase) Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, (12-23)
  24. Walsh P, Lawlor B, Kelly B, Manning T, Heuss T and Leopold M Visualizing Next-Generation Sequencing Cancer Data Sets with Cloud Computing Advanced Visual Interfaces. Supporting Big Data Applications, (50-62)
  25. ACM
    Teka D, Dittrich Y and Kifle M Usability challenges in an Ethiopian software development organization Proceedings of the 9th International Workshop on Cooperative and Human Aspects of Software Engineering, (114-120)
  26. ACM
    Savor T, Douglas M, Gentili M, Williams L, Beck K and Stumm M Continuous deployment at Facebook and OANDA Proceedings of the 38th International Conference on Software Engineering Companion, (21-30)
  27. Misra S, Singh V, Jha N and Bisui S (2016). Modeling privacy issues in distributed enterprise resource planning systems, International Journal of Communication Systems, 29:2, (378-401), Online publication date: 25-Jan-2016.
  28. ACM
    Schneider K, Liskin O, Paulsen H and Kauffeld S (2015). Media, Mood, and Meetings, ACM Transactions on Computing Education, 15:4, (1-33), Online publication date: 23-Dec-2015.
  29. ACM
    Schümmer T, haake J and Stark W Theoretical and practical thoughts on the interplay of patterns and creativity Proceedings of the 20th European Conference on Pattern Languages of Programs, (1-21)
  30. da Silva G, Amaral J, Matsubara P and Graciano V Influences of Organizational Culture in the Adoption of Agile Methodologies in Information Systems Development Proceedings of the annual conference on Brazilian Symposium on Information Systems: Information Systems: A Computer Socio-Technical Perspective - Volume 1, (227-234)
  31. Schneider K and Liskin O Exploring FLOW distance in project communication Proceedings of the Eighth International Workshop on Cooperative and Human Aspects of Software Engineering, (117-118)
  32. ACM
    Randall D, Diamant E and Lee C Creating Sustainable Cyberinfrastructures Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems, (1759-1768)
  33. Perkusich M, Soares G, Almeida H and Perkusich A (2015). A procedure to detect problems of processes in software development projects using Bayesian networks, Expert Systems with Applications: An International Journal, 42:1, (437-450), Online publication date: 1-Jan-2015.
  34. ACM
    Saito S, Iimura Y, Takahashi K, Massey A and Antón A Tracking requirements evolution by using issue tickets: a case study of a document management and approval system Companion Proceedings of the 36th International Conference on Software Engineering, (245-254)
  35. ACM
    Igaki H, Fukuyasu N, Saiki S, Matsumoto S and Kusumoto S Quantitative assessment with using ticket driven development for teaching scrum framework Companion Proceedings of the 36th International Conference on Software Engineering, (372-381)
  36. ACM
    McMillan C and Oosterhoff R Teaching students to understand large programs by understanding historical context Companion Proceedings of the 36th International Conference on Software Engineering, (287-290)
  37. ACM
    Rodrigues L, Costa C and Oliveira A How to develop financial applications with game features in e-banking? Proceedings of the 2013 International Conference on Information Systems and Design of Communication, (124-134)
  38. Hovorka D and Pries-Heje J Don't ignore the iceberg Proceedings of the 8th international conference on Design Science at the Intersection of Physical and Virtual Design, (228-241)
  39. ACM
    Adams R, Evans B and Brandt J Creating small products at a big company CHI '13 Extended Abstracts on Human Factors in Computing Systems, (2331-2332)
  40. ACM
    Chatty S Réconcilier conception d'interfaces et conception logicielle Proceedings of the 2012 Conference on Ergonomie et Interaction homme-machine, (73-80)
  41. ACM
    Pierce R User assistance for complex systems Proceedings of the 30th ACM international conference on Design of communication, (9-16)
  42. ACM
    Braga M, Bezerra C, Monteiro J and Andrade R A pattern language for agile software estimation Proceedings of the 9th Latin-American Conference on Pattern Languages of Programming, (1-15)
  43. Krčadinac U, Jovanović J and Devedžić V Visualizing the affective structure of students interaction Proceedings of the 5th international conference on Hybrid Learning, (23-34)
  44. Petre M, Sharp H and Freudenberg S The mystery of the writing that isn't on the wall Proceedings of the 5th International Workshop on Co-operative and Human Aspects of Software Engineering, (120-122)
  45. Smartt C and Ferreira S (2012). Constructing a general framework for systems engineering strategy, Systems Engineering, 15:2, (140-152), Online publication date: 1-Jun-2012.
  46. ACM
    Khaled R and Ingram G Tales from the front lines of a large-scale serious game project Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (69-78)
  47. ACM
    Williams L (2012). What agile teams think of agile principles, Communications of the ACM, 55:4, (71-76), Online publication date: 1-Apr-2012.
  48. ACM
    Socha D Group whiteboards and modeler/customer teams Proceedings of the 43rd ACM technical symposium on Computer Science Education, (331-336)
  49. ACM
    Gkatzidou V, Pearson E, Green S and Perrin F Widgets to support disabled learners Proceedings of the 23rd Australian Computer-Human Interaction Conference, (130-139)
  50. ACM
    Karlgren J, Järvelin A, Eriksson G and Hansen P Use cases as a component of information access evaluation Proceedings of the 2011 workshop on Data infrastructurEs for supporting information retrieval evaluation, (19-24)
  51. ACM
    Baumeister J and Reutelshoefer J Developing knowledge systems with continuous integration Proceedings of the 11th International Conference on Knowledge Management and Knowledge Technologies, (1-4)
  52. ACM
    Abdullah N, Honiden S, Sharp H, Nuseibeh B and Notkin D Communication patterns of agile requirements engineering Proceedings of the 1st Workshop on Agile Requirements Engineering, (1-4)
  53. ACM
    Bougie G, Starke J, Storey M and German D Towards understanding twitter use in software engineering Proceedings of the 2nd International Workshop on Web 2.0 for Software Engineering, (31-36)
  54. Iivari J and Iivari N (2011). The relationship between organizational culture and the deployment of agile methods, Information and Software Technology, 53:5, (509-520), Online publication date: 1-May-2011.
  55. Conboy K and Morgan L (2011). Beyond the customer, Information and Software Technology, 53:5, (535-542), Online publication date: 1-May-2011.
  56. ACM
    Bird C, Murphy B, Nagappan N and Zimmermann T Empirical software engineering at Microsoft Research Proceedings of the ACM 2011 conference on Computer supported cooperative work, (143-150)
  57. ACM
    Dorairaj S, Noble J and Malik P Bridging cultural differences Proceedings of the 4th India Software Engineering Conference, (3-10)
  58. Magdaleno A, Werner C and De Araujo R Analyzing collaboration in software development processes through social networks Proceedings of the 4th international conference on Leveraging applications of formal methods, verification, and validation - Volume Part I, (435-446)
  59. ACM
    Rehman I, ullah S, Rauf A and Shahid A Scope management in agile versus traditional software development methods Proceedings of the 2010 National Software Engineering Conference, (1-6)
  60. ACM
    Petrillo F and Pimenta M Is agility out there? Proceedings of the 28th ACM International Conference on Design of Communication, (9-15)
  61. ACM
    Korkala M, Pikkarainen M and Conboy K A case study of customer communication in globally distributed software product development Proceedings of the 11th International Conference on Product Focused Software, (43-46)
  62. Jarke M, Loucopoulos P, Lyytinen K, Mylopoulos J and Robinson W The brave new world of design requirements Proceedings of the 22nd international conference on Advanced information systems engineering, (470-482)
  63. ACM
    Conboy K and Fitzgerald B (2010). Method and developer characteristics for effective agile method tailoring, ACM Transactions on Software Engineering and Methodology, 20:1, (1-30), Online publication date: 1-Jun-2010.
  64. ACM
    de Cesare S, Lycett M, Macredie R, Patel C and Paul R (2010). Examining perceptions of agility in software development practice, Communications of the ACM, 53:6, (126-130), Online publication date: 1-Jun-2010.
  65. Kriplean T, Borning A, Waddell P, Klang C and Fogarty J Supporting agile modeling through experimentation in an integrated urban simulation framework Proceedings of the 11th Annual International Digital Government Research Conference on Public Administration Online: Challenges and Opportunities, (112-121)
  66. ACM
    Black S and Jacobs J Using Web 2.0 to improve software quality Proceedings of the 1st Workshop on Web 2.0 for Software Engineering, (6-11)
  67. ACM
    Black S, Harrison R and Baldwin M A survey of social media use in software systems development Proceedings of the 1st Workshop on Web 2.0 for Software Engineering, (1-5)
  68. ACM
    Hanssen G Opening up software product line engineering Proceedings of the 2010 ICSE Workshop on Product Line Approaches in Software Engineering, (1-7)
  69. ACM
    Salleh N, Mendes E, Grundy J and Burch G An empirical study of the effects of conscientiousness in pair programming using the five-factor personality model Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, (577-586)
  70. ACM
    Neogi M and Bhattacherjee V (2010). Evaluating the effectiveness of VOSDM, ACM SIGSOFT Software Engineering Notes, 35:2, (1-8), Online publication date: 27-Mar-2010.
  71. ACM
    Sewchurran K and Scott E Learning and making sense of project phenomena in information systems education Proceedings of the 2nd International Conference on Interaction Sciences: Information Technology, Culture and Human, (1-8)
  72. ACM
    Kandogan E, Maglio P, Haber E and Bailey J Scripting practices in complex systems management Proceedings of the Symposium on Computer Human Interaction for the Management of Information Technology, (9-18)
  73. ACM
    Gu L and Cheung S Constructing and testing privacy-aware services in a cloud computing environment Proceedings of the First Asia-Pacific Symposium on Internetware, (1-10)
  74. ACM
    Wurster G and van Oorschot P The developer is the enemy Proceedings of the 2008 New Security Paradigms Workshop, (89-97)
  75. ACM
    Caspersen M and Kolling M (2009). STREAM, ACM Transactions on Computing Education, 9:1, (1-29), Online publication date: 1-Mar-2009.
  76. Vavpotic D and Bajec M (2009). An approach for concurrent evaluation of technical and social aspects of software development methodologies, Information and Software Technology, 51:2, (528-545), Online publication date: 1-Feb-2009.
  77. Bennett B and Barrett M (2008). Preparing for project retrospectives, Journal of Computing Sciences in Colleges, 24:2, (157-163), Online publication date: 1-Dec-2008.
  78. ACM
    Pinzger M, Nagappan N and Murphy B Can developer-module networks predict failures? Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, (2-12)
  79. ACM
    Rostal P Thoughts on weak links and Alexandrian life in Scrum Proceedings of the 15th Conference on Pattern Languages of Programs, (1-19)
  80. Winter J, Rönkkö K, Ahlberg M and Hotchkiss J Meeting organisational needs and quality assurance through balancing agile and formal usability testing results Proceedings of the Third IFIP TC 2 Central and East European conference on Software engineering techniques, (275-289)
  81. Ehn P Participation in design things Proceedings of the Tenth Anniversary Conference on Participatory Design 2008, (92-101)
  82. ACM
    Pierce R Using customer input to drive change in user assistance Proceedings of the 26th annual ACM international conference on Design of communication, (23-30)
  83. Raike A, Saad-Sulonen J, Scheible J, Suzi R and Toikkanen T Visual Tools for Accessible Computer Supported Collaboration Proceedings of the 11th international conference on Computers Helping People with Special Needs, (142-149)
  84. ACM
    Ollila E, Suomela R and Holopainen J (2008). Using prototypes in early pervasive game development, Computers in Entertainment, 6:2, (1-17), Online publication date: 1-Jul-2008.
  85. Hanssen G and Fígri T (2008). Process fusion, Journal of Systems and Software, 81:6, (843-854), Online publication date: 1-Jun-2008.
  86. Atkinson C, Brenner D, Hummel O and Stoll D A Trustable Brokerage Solution for Component and Service Markets Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems, (64-75)
  87. ACM
    Mirakhorli M, Khanipour Rad A, Shams F, Pazoki M and Mirakhorli A RDP technique Proceedings of the 2008 international workshop on Scrutinizing agile practices or shoot-out at the agile corral, (23-32)
  88. ACM
    Jiang L and Eberlein A Towards a framework for understanding the relationships between classical software engineering and agile methodologies Proceedings of the 2008 international workshop on Scrutinizing agile practices or shoot-out at the agile corral, (9-14)
  89. ACM
    Ramsin R and Paige R (2008). Process-centered review of object oriented software development methodologies, ACM Computing Surveys, 40:1, (1-89), Online publication date: 1-Feb-2008.
  90. Shinkawa Y Logic based formalization of UML use case modeling Proceedings of the 11th IASTED International Conference on Software Engineering and Applications, (176-181)
  91. Damm L and Lundberg L Quality impact of introducing component-level test automation and test-driven development Proceedings of the 14th European conference on Software Process Improvement, (187-199)
  92. Hanssen G, Bjørnson F and Westerheim H Tailoring and introduction of the rational unified process Proceedings of the 14th European conference on Software Process Improvement, (7-18)
  93. Memmel T, Gundelsweiler F and Reiterer H Agile human-centered software engineering Proceedings of the 21st British HCI Group Annual Conference on People and Computers: HCI...but not as we know it - Volume 1, (167-175)
  94. Bouhdadi M, Balouki Y and Chabbar E Meta-modelling syntax and semantics of structural concepts for open networked enterprises Proceedings of the 2007 international conference on Computational science and its applications - Volume Part III, (45-54)
  95. ACM
    Koivisto E and Suomela R Using prototypes in early pervasive game development Proceedings of the 2007 ACM SIGGRAPH symposium on Video games, (149-156)
  96. Mishra D and Mishra A Achieving success in supply chain management software by agility Proceedings of the 8th international conference on Product-Focused Software Process Improvement, (237-246)
  97. Qumer A and Henderson-Sellers B An agile toolkit to support agent-oriented and service-oriented computing mechanisms Proceedings of the 8th international conference on Product-Focused Software Process Improvement, (222-236)
  98. Wilcox E, Nusser S, Schoudt J, Cerruti J and Badenes H Agile development meets strategic design in the enterprise Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming, (208-212)
  99. Damiani E, Colombo A, Frati F and Bellettini C A metamodel for modeling and measuring Scrum development process Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming, (74-83)
  100. Tessem B and Maurer F Job satisfaction and motivation in a large agile team Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming, (54-61)
  101. Elshamy A and Elssamadisy A Applying agile to large projects Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming, (46-53)
  102. Mitra S and Bullinger T (2007). Using formal software development methodologies in a real-world student project, Journal of Computing Sciences in Colleges, 22:6, (100-108), Online publication date: 1-Jun-2007.
  103. Williams L, Layman L, Slaten K, Berenson S and Seaman C On the Impact of a Collaborative Pedagogy on African American Millennial Students in Software Engineering Proceedings of the 29th international conference on Software Engineering, (677-687)
  104. Capiluppi A, Fernandez-Ramil J, Higman J, Sharp H and Smith N An Empirical Study of the Evolution of an Agile-Developed Software System Proceedings of the 29th international conference on Software Engineering, (511-518)
  105. Jazayeri M Some Trends in Web Application Development 2007 Future of Software Engineering, (199-213)
  106. ACM
    Hazzan O and Dubinsky Y (2007). Why software engineering programs should teach agile software development, ACM SIGSOFT Software Engineering Notes, 32:2, (1-3), Online publication date: 1-Mar-2007.
  107. Christiansen H Meeting the challenge of communication in offshore software development Proceedings of the 1st international conference on Software engineering approaches for offshore and outsourced development, (19-26)
  108. ACM
    Prior J, Robertson T and Leaney J Technology designers as technology users Proceedings of the 18th Australia conference on Computer-Human Interaction: Design: Activities, Artefacts and Environments, (353-356)
  109. ACM
    Hadar E and Hadar I The composition refactoring triangle (CRT) practical toolkit Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, (786-797)
  110. ACM
    Davies R and Hussman D Creating an informative workspace Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, (628-628)
  111. Koutsoukos G Mentality patterns Proceedings of the 13th European conference on Software Process Improvement, (147-158)
  112. ACM
    Lee G, DeLone W and Espinosa J (2006). Ambidextrous coping strategies in globally distributed software development projects, Communications of the ACM, 49:10, (35-40), Online publication date: 1-Oct-2006.
  113. Mohamed B, Chabbar E and Aqarrout A OCL for the ODP information viewpoint specifications Proceedings of the 10th WSEAS international conference on Computers, (1336-1341)
  114. Damm L and Lundberg L (2006). Results from introducing component-level test automation and Test-Driven Development, Journal of Systems and Software, 79:7, (1001-1014), Online publication date: 1-Jul-2006.
  115. Sfetsos P, Stamelos I, Angelis L and Deligiannis I Investigating the impact of personality types on communication and collaboration-viability in pair programming – an empirical study Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering, (43-52)
  116. Elshamy A and Elssamadisy A Divide after you conquer Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering, (164-168)
  117. Wils A, Van Baelen S, Holvoet T and De Vlaminck K Agility in the avionics software world Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering, (123-132)
  118. Winkler D and Biffl S An empirical study on design quality improvement from best-practice inspection and pair programming Proceedings of the 7th international conference on Product-Focused Software Process Improvement, (319-333)
  119. Qumer A and Henderson-Sellers B A Framework to Support Non-fragile Agile Agent-Oriented Software Development Proceedings of the 2006 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the fifth SoMeT_06, (84-100)
  120. ACM
    Hazzan O and Dubinsky Y Can diversity in global software development be enhanced by agile software development? Proceedings of the 2006 international workshop on Global software development for the practitioner, (58-61)
  121. ACM
    Kakihara M Strategizing software development Proceedings of the 2006 international workshop on Workshop on interdisciplinary software engineering research, (37-44)
  122. Fruhling A and Vreede G (2006). Field Experiences with eXtreme Programming, Journal of Management Information Systems, 22:4, (39-68), Online publication date: 1-Apr-2006.
  123. ACM
    Frieze C, Hazzan O, Blum L and Dias M (2006). Culture and environment as determinants of women's participation in computing, ACM SIGCSE Bulletin, 38:1, (22-26), Online publication date: 31-Mar-2006.
  124. ACM
    Frieze C, Hazzan O, Blum L and Dias M Culture and environment as determinants of women's participation in computing Proceedings of the 37th SIGCSE technical symposium on Computer science education, (22-26)
  125. ACM
    Mišić V (2006). Perceptions of extreme programming, ACM SIGSOFT Software Engineering Notes, 31:2, (1-8), Online publication date: 1-Mar-2006.
  126. Nord R and Tomayko J (2006). Software Architecture-Centric Methods and Agile Development, IEEE Software, 23:2, (47-53), Online publication date: 1-Mar-2006.
  127. LeJeune N (2006). Teaching software engineering practices with Extreme Programming, Journal of Computing Sciences in Colleges, 21:3, (107-117), Online publication date: 1-Feb-2006.
  128. ACM
    Augustine S, Payne B, Sencindiver F and Woodcock S (2005). Agile project management, Communications of the ACM, 48:12, (85-89), Online publication date: 1-Dec-2005.
  129. Nawrocki J, Jasiński M, Olek Ł and Lange B Pair programming vs. side-by-side programming Proceedings of the 12th European conference on Software Process Improvement, (28-38)
  130. ACM
    Burns T and Klashner R A cross-collegiate analysis of software development course content Proceedings of the 6th conference on Information technology education, (333-337)
  131. ACM
    Bills D and Biles J The role of programming in IT Proceedings of the 6th conference on Information technology education, (43-49)
  132. ACM
    Vanderburg G A simple model of agile software processes -- or -- extreme programming annealed Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (539-545)
  133. ACM
    Patton J Finding the forest in the trees Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (266-274)
  134. ACM
    Vanderburg G (2005). A simple model of agile software processes -- or -- extreme programming annealed, ACM SIGPLAN Notices, 40:10, (539-545), Online publication date: 12-Oct-2005.
  135. Perez-Torres J and Mejia M Software Development Using Agile Methodologies Proceedings of the Sixth Mexican International Conference on Computer Science, (129-135)
  136. Nawrocki J and Wojciechowski A Extreme89 Proceedings of the Second international conference on Rapid Integration of Software Engineering Techniques, (278-287)
  137. ACM
    Loftus C and Ratcliffe M (2005). Extreme programming promotes extreme learning?, ACM SIGCSE Bulletin, 37:3, (311-315), Online publication date: 1-Sep-2005.
  138. Boehm B and Turner R (2005). Management Challenges to Implementing Agile Processes in Traditional Development Organizations, IEEE Software, 22:5, (30-39), Online publication date: 1-Sep-2005.
  139. Teiniker E, Schmoelzer G, Faschingbauer J, Kreiner C and Weiss R A Hybrid Component-Based System Development Process Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications, (152-159)
  140. Ramler R and Auer D Encouraging Self-Organization Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications, (284-291)
  141. Theunissen W, Boake A and Kourie D In search of the sweet spot Proceedings of the 2005 annual research conference of the South African institute of computer scientists and information technologists on IT research in developing countries, (268-277)
  142. ACM
    Segal J (2005). Two principles of end-user software engineering research, ACM SIGSOFT Software Engineering Notes, 30:4, (1-5), Online publication date: 1-Jul-2005.
  143. ACM
    Segal J, Grinyer A and Sharp H (2005). The type of evidence produced by empirical software engineers, ACM SIGSOFT Software Engineering Notes, 30:4, (1-4), Online publication date: 1-Jul-2005.
  144. ACM
    Loftus C and Ratcliffe M Extreme programming promotes extreme learning? Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education, (311-315)
  145. Hazzan O and Dubinsky Y Social perspective of software development methods Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering, (74-81)
  146. Śmiałek M From user stories to code in one day? Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering, (38-47)
  147. Nawrocki J and Olek Ł UC workbench – a tool for writing use cases and generating mockups Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering, (230-234)
  148. da Silva A, Kon F and Torteli C XP south of the equator Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering, (10-18)
  149. Canfora G, Cimitile A and Visaggio C Empirical study on the productivity of the pair programming Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering, (92-99)
  150. Dooms K and Kylmäkoski R Comprehensive documentation made agile Proceedings of the 6th international conference on Product Focused Software Process Improvement, (224-233)
  151. ACM
    Segal J Two principles of end-user software engineering research Proceedings of the first workshop on End-user software engineering, (1-5)
  152. ACM
    Segal J, Grinyer A and Sharp H The type of evidence produced by empirical software engineers Proceedings of the 2005 workshop on Realising evidence-based software engineering, (1-4)
  153. ACM
    Nerur S, Mahapatra R and Mangalaraj G (2005). Challenges of migrating to agile methodologies, Communications of the ACM, 48:5, (72-78), Online publication date: 1-May-2005.
  154. Mellor S (2005). Editor's Introduction, IEEE Software, 22:3, (17-20), Online publication date: 1-May-2005.
  155. Little T (2005). Context-Adaptive Agility, IEEE Software, 22:3, (28-35), Online publication date: 1-May-2005.
  156. Salo O Systematical validation of learning in agile software development environment Proceedings of the Third Biennial conference on Professional Knowledge Management, (106-110)
  157. ACM
    Blake M, Cleary K, Ranjan S, Ibanez L and Gary K Use case-driven component specification Proceedings of the 2005 ACM symposium on Applied computing, (1470-1477)
  158. ACM
    Bergin J, Kussmaul C, Reichlmayr T, Caristi J and Pollice G Agile development in computer science education Proceedings of the 36th SIGCSE technical symposium on Computer science education, (130-131)
  159. ACM
    Bergin J, Kussmaul C, Reichlmayr T, Caristi J and Pollice G (2005). Agile development in computer science education, ACM SIGCSE Bulletin, 37:1, (130-131), Online publication date: 23-Feb-2005.
  160. Kussmaul C (2005). Using agile development methods to improve student writing, Journal of Computing Sciences in Colleges, 20:3, (148-156), Online publication date: 1-Feb-2005.
  161. Bauckhage C, Hanheide M, Wrede S, Käster T, Pfeiffer M and Sagerer G (2005). Vision systems with the human in the loop, EURASIP Journal on Advances in Signal Processing, 2005, (2375-2390), Online publication date: 1-Jan-2005.
  162. ACM
    Marick B (2004). Methodology work is ontology work, ACM SIGPLAN Notices, 39:12, (64-72), Online publication date: 1-Dec-2004.
  163. Luqi , Zhang L, Berzins V and Qiao Y (2004). Documentation Driven Development for Complex Real-Time Systems, IEEE Transactions on Software Engineering, 30:12, (936-952), Online publication date: 1-Dec-2004.
  164. Sharp H and Robinson H (2004). An Ethnographic Study of XP Practice, Empirical Software Engineering, 9:4, (353-375), Online publication date: 1-Dec-2004.
  165. ACM
    Reed K, Damiani E, Gianini G and Colombo A Agile management of uncertain requirements via generalizations Proceedings of the 2004 workshop on Quantitative techniques for software agile process, (40-45)
  166. ACM
    Middleton P Aligning individual and organizational values to facilitate information systems adoption Proceedings of the 2004 ACM workshop on Interdisciplinary software engineering research, (72-77)
  167. ACM
    Rank S, O'Coill C, Boldyreff C and Doughty M Software, architecture, and participatory design Proceedings of the 2004 ACM workshop on Interdisciplinary software engineering research, (45-48)
  168. ACM
    Carleton L An invitation to the dance of progress Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, (158-159)
  169. Serrano M State of the Art and Future of Research in Software Process Improvement Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01
  170. Ramler R Decision Support for Test Management in Iterative and Evolutionary Development Proceedings of the 19th IEEE international conference on Automated software engineering, (406-409)
  171. ACM
    Beznosov K and Kruchten P Towards agile security assurance Proceedings of the 2004 workshop on New security paradigms, (47-54)
  172. ACM
    Williams L (2004). On the need for a process for making reliable quality comparisons with industrial data, ACM SIGSOFT Software Engineering Notes, 29:5, (1-4), Online publication date: 1-Sep-2004.
  173. Kontio J, Hoglund M, Ryden J and Abrahamsson P Managing Commitments and Risks Proceedings of the 26th International Conference on Software Engineering, (732-733)
  174. Manhart P and Schneider K Breaking the Ice for Agile Development of Embedded Software Proceedings of the 26th International Conference on Software Engineering, (378-386)
  175. O'Reilly C A Weakly Constrained Approach to Software Change Coordination Proceedings of the 26th International Conference on Software Engineering, (66-68)
  176. Keenan F Agile Process Tailoring and probLem analYsis (APTLY) Proceedings of the 26th International Conference on Software Engineering, (45-47)
  177. ACM
    Glass R (2004). Matching methodology to problem domain, Communications of the ACM, 47:5, (19-21), Online publication date: 1-May-2004.
  178. ACM
    Berenson S, Slaten K, Williams L and Ho C (2004). Voices of women in a software engineering course: reflections on collaboration, Journal on Educational Resources in Computing, 4:1, (3-es), Online publication date: 1-Mar-2004.
  179. ACM
    Dugan R Performance lies my professor told me Proceedings of the 4th international workshop on Software and performance, (37-48)
  180. Noble J, Marshall S, Marshall S and Biddle R Less Extreme Programming Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30, (217-226)
  181. ACM
    Dugan R (2004). Performance lies my professor told me, ACM SIGSOFT Software Engineering Notes, 29:1, (37-48), Online publication date: 1-Jan-2004.
  182. Reifer D (2003). Is the Software Engineering State of the Practice Getting Closer to the State of the Art?, IEEE Software, 20:6, (78-83), Online publication date: 1-Nov-2003.
  183. Theunissen W, Kourie D and Watson B Standards and agile software development Proceedings of the 2003 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology, (178-188)
  184. ACM
    Holloway J and Ratcliffe M (2003). Development of a MLE by students for students using extreme programming techniques, ACM SIGCSE Bulletin, 35:3, (225-225), Online publication date: 1-Sep-2003.
  185. ACM
    Holloway J and Ratcliffe M Development of a MLE by students for students using extreme programming techniques Proceedings of the 8th annual conference on Innovation and technology in computer science education, (225-225)
  186. Paetsch F, Eberlein A and Maurer F Requirements Engineering and Agile Software Development Proceedings of the Twelfth International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises
  187. Chau T, Maurer F and Melnik G Knowledge Sharing Proceedings of the Twelfth International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises
  188. Becker-Pechau P, Breitling H, Lippert M and Schmolitzky A Teaching team work Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering, (386-393)
  189. Paige R, Agarwal P and Brooke P Combining agile practices with UML and EJB Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering, (351-353)
  190. Fuqua A and Hammer J Embracing change Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering, (298-306)
  191. Martin A, Noble J and Biddle R Being jane malkovich Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering, (234-243)
  192. Howard D Swimming around the waterfall Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering, (138-145)
  193. Tessem B Experiences in learning XP practices Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering, (131-137)
  194. Pinna S, Mauri S, Lorrai P, Marchesi M and Serra N XPSwiki Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering, (104-113)
  195. O'Reilly C, Morrow P and Bustard D Improving conflict detection in optimistic concurrency control models Proceedings of the 2001 ICSE Workshops on SCM 2001, and SCM 2003 conference on Software configuration management, (191-205)
  196. Constantine L and Lockwood L Usage-centered software engineering Proceedings of the 25th International Conference on Software Engineering, (746-747)
  197. Schneider J and Johnston L eXtreme Programming at universities Proceedings of the 25th International Conference on Software Engineering, (594-599)
  198. Maximilien E and Williams L Assessing test-driven development at IBM Proceedings of the 25th International Conference on Software Engineering, (564-569)
  199. Abrahamsson P, Warsta J, Siponen M and Ronkainen J New directions on agile methods Proceedings of the 25th International Conference on Software Engineering, (244-254)
  200. Cusick J (2003). How the Work of Software Professionals Changes Everything, IEEE Software, 20:3, (92-97), Online publication date: 1-May-2003.
  201. Williams L (2003). Guest Editor's Introduction, IEEE Software, 20:3, (16-20), Online publication date: 1-May-2003.
  202. ACM
    Shimomura T, Takahashi M, Ikeda K and Mogami Y (2003). Web application generator by image-oriented design, ACM SIGSOFT Software Engineering Notes, 28:2, (14), Online publication date: 1-Mar-2003.
  203. Abrahamsson P (2002). Commitment Nets in Software Process Improvement, Annals of Software Engineering, 14:1-4, (407-438), Online publication date: 10-Dec-2002.
  204. Maurer F and Holz H (2002). Integrating Process Support and Knowledge Management for Virtual Software Development Teams, Annals of Software Engineering, 14:1-4, (145-168), Online publication date: 10-Dec-2002.
  205. ACM
    Forward A and Lethbridge T The relevance of software documentation, tools and technologies Proceedings of the 2002 ACM symposium on Document engineering, (26-33)
  206. ACM
    Carleton L Seven software engineers as one mind Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (56-57)
  207. ACM
    Patton J Hitting the target OOPSLA 2002 Practitioners Reports, (1-ff)
  208. Chillarege R (2002). The Marriage of Business Dynamics and Software Engineering, IEEE Software, 19:6, (43-49), Online publication date: 1-Nov-2002.
  209. Bisbal J and Grimson J (2002). Consistent database sampling as a database prototyping approach, Journal of Software Maintenance: Research and Practice, 14:6, (447-459), Online publication date: 1-Nov-2002.
  210. Börstler J, Carrington D, Hislop G, Lisack S, Olson K and Williams L (2002). Teaching the PSP, IEEE Software, 19:5, (42-48), Online publication date: 1-Sep-2002.
  211. ACM
    Newkirk J Introduction to agile processes and extreme programming Proceedings of the 24th International Conference on Software Engineering, (695-696)
  212. Ambler S (2002). Lessons in Agility From Internet-Based Development, IEEE Software, 19:2, (66-73), Online publication date: 1-Mar-2002.
  213. Maurer F and Martel S (2002). Extreme Programming, IEEE Internet Computing, 6:1, (86-90), Online publication date: 1-Jan-2002.
  214. ACM
    Lourenci A An evolutive architecture reasons as a semiotic, hermeneutic and autopoietic entity Proceedings of the 4th International Workshop on Principles of Software Evolution, (138-141)
Contributors
  • International Business Machines

Recommendations

Anne Gunn

This is one of the two anchor books in the Agile Development Series, published by Addison-Wesley. The series is edited by Alistair Cockburn, the author of this book, and Jim Highsmith, who recently published the other anchor book, Agile software development ecosystems [1]. The official series has, as of this writing, five titles, including Cockburn’s Writing effective use cases [2] and Surviving object-oriented projects [3]. But there’s also a larger virtual series (if you ignore publishers) that includes Highsmith’s own Adaptive software development [4], Scott Ambler’s Agile modeling [5], Martin Fowler’s Refactoring [6], and all the books on extreme programming (XP). The series is tied together by the tenets of the Agile Alliance (www.agilealliance.org). The alliance, started by 17 practitioners of “lightweight” development methodologies, maintains the Agile Manifesto (www.agilemanifesto.org), a document that records their agreement on four core values, prioritizing: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan. In this book, Cockburn lays out the practical and theoretical foundations for the agile movement. He has been “collecting” methodologies for 20 years, both by using many himself, and by debriefing development teams. His criteria for a “methodologically successful project” are minimal: The project...went out the door and was useful. The leadership...didn’t get fired for what they were doing. The people on the project would work the same way again. Even so, Cockburn claims to have only found a handful of successful methodologies. This has led him to believe that the methodology has to be tailored to the project and the team, not the other way around. The introduction and first chapter of the book are pretty abstract. They argue that, rather than trying to fit software development into an engineering paradigm, it is most useful to characterize it as “a (resource-limited) cooperative game of invention and communication. The primary goal of the game is to deliver useful, working software. The secondary goal...is to set up for the next game. The next game may be to alter or replace the system or to create a neighboring system.” The second and third chapters remind us that it is “people who design software” and that we have to take their strengths and weaknesses into account if we are going to meet our business objectives. These chapters, which talk about the ways in which people are “funky,” how they prefer to fail, and what exactly they are good at, are the most entertaining of the book. They also have the most in common in spirit and tone with the other books in the virtual series mentioned above: what makes great team s work is not radical new techniques, but many small things done right. Principals like increasing communication, decreasing distractions, and helping team members pull in the same direction rather than in different directions, are the building blocks of agile software development. The long fourth chapter is about methodologies: how they are designed, how to evaluate a candidate methodology for applicability to your project, and how to tweak it once you’ve started. I have to admit that in the middle of this chapter, I had a moment where I had to think hard about why I cared. I don’t design methodologies for a living, I build software. But Cockburn argues that anyone who uses any methodology has to be willing and able to modify it from time to time, or at least from project to project. Although each chapter ends with a short section that focuses on real-world issues, chapters 5 and 6 are all about trying to put the principles of the earlier chapters into practice. Chapter 5 does this in very generic terms, with an emphasis on periodic reflection and adjustment as critical components for success. Chapter 6 is a brief introduction to Cockburn’s Crystal methodologies, a “copy-and-alter family of methodologies that can be tailored on each project.” A forthcoming book in the series will cover the Crystal methodologies in detail. Appendix A presents the Agile Manifesto in its entirety, along with a discussion of its origin and intent. Appendix B soars into the ideas behind the book, with extracts from two very philosophical works, and from the Japanese samurai tract, The Book of Five Rings . Appendix C is a thorough pair of indices to reference material, organized both by title and by author. An unusual feature of the book is a “List of Stories” in the front of the book, and good indexing into the stories. When you want to find the story that uses backyard dandelions as a parable for explaining why constructing a successful reward structure is always hard, you just look for dandelions in the index. Online Computing Reviews Service

Puneet Singh Lamba

Software development organizations understandably yearn for a one-size-fits-all software development methodology. It would certainly be wonderful to have one methodology to master that could be applied consistently to all projects. Consequently, the major methodologies are constantly jockeying to project themselves as agile enough to be applicable to any type of project. The heavyweight methodologies, such as the rational unified process (RUP), are eager to demonstrate their flexibility in response to the challenge posed by lightweight or agile methodologies. As Jim Highsmith recently noted, “No one is willing to concede ‘agility’ to the other side” [1]. However, as children learn at a relatively young age, square pegs just do not fit nicely into round holes. More often than not, organizations run their projects using methodologies that they are comfortable with, as opposed to those that are best suited for the project at hand. Cockburn’s thoughtful book has a very sensible solution for organizations that have struggled to find methodologies that fit their projects like a glove: roll your own. In other words, learn about what methodologies are and how to construct them so that you can create methodologies custom tailored to your projects. In support of Cockburn’s approach, Robert Glass writes, “Because software tackles such a diverse assortment of problems, it is becoming more and more obvious that there are few, if any, universal solution approaches” [2]. Glass lists four criteria that influence the diversity of a software development project: size, application domain, criticality, and innovativeness. Plauger says it best: “anyone who believes that one size fits all belongs in a pantyhose commercial” [3]. Rather than recommend a one-size-fits-all methodology, the author encourages each project team to define their own unique methodology by borrowing some standard ones that fit and inventing new ones. He presents the why as opposed to the how of software methodologies. Once you understand why certain methodologies work well in certain situations, you are equipped to determine which methodologies suit your project. He also lists a set of principles to enable a cost and benefit analysis for moving to heavier methodologies. Furthermore, even once a methodology has been determined, the author recommends constant flexibility and just-in-time tuning to achieve maximum benefit. This book makes a significant contribution in two major areas of software development. First, it presents a tour de force of emerging agile software development methodologies. Second, it is a worthy successor to pioneering works in the psychology of software development by Weinberg [4], and DeMarco and Lister [5]. In a broad sweep of the human psychological element, Cockburn discusses numerous promising approaches, including how to align a project with the success factors of individuals working on the project, practical methods for removing latency in communication, and coming to terms with the fact that people are imperfect and make mistakes, often at crucial moments. Cockburn defines three levels of learning: following, detaching, and fluent. These learning levels apply to most human activities including listening, reading, and understanding methodologies. Those at level 1 (following) require specific advice. Level 2 (detaching) is about exploring the boundaries of the rules learned at level 1. Finally, level 3 (fluent) entails moving with freedom without regard to the rules. This book targets level 2 and 3 readers and practitioners. The book attempts to synthesize the common denominator among agile methodologies like extreme programming (XP), Scrum, Crystal Clear, responsibility-driven design, and adaptive software development. This common denominator, also documented in the agile software development manifesto, is as follows: individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation; and responding to change over following a plan. The author suggests that software development is much more like writing a novel than building a bridge. Projects should set down a general storyline but create each chapter and page creatively. Cockburn implies that a project’s rate of progress is a function of the length of time for information to flow from one mind to another. He stresses the importance of managing the incompleteness of our communications. Therefore, a phone call is preferable to email, and a face-to-face conversation is preferable to a phone call. While Cockburn acknowledges XP’s limitations with respect to larger teams due to its reliance on tacit knowledge, he also offers ideas on how to reinvent XP for larger teams. The two insightful works that Cockburn includes as appendices to his book are the icing on the cake. In Cockburn’s words, Peter Naur’s 1985 paper, “Programming as theory building,” is “the most accurate account of what goes on in designing and coding a program.” The second appendix contains extracts from Pelle Ehn’s works, which Cockburn credits for having inspired many of his own ideas and thoughts. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.