skip to main content
Skip header Section
Adaptive software development: a collaborative approach to managing complex systemsJanuary 2000
Publisher:
  • Dorset House Publishing Co., Inc.
  • 353 West 12th Street New York, NY
  • United States
ISBN:978-0-932633-40-8
Published:01 January 2000
Pages:
358
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Clarke P, O'Connor R and Yilmaz M In search of the origins and enduring impact of Agile software development Proceedings of the 2018 International Conference on Software and System Process, (142-146)
  2. Park J, Jang J and Lee E (2018). Theoretical and empirical studies on essence-based adaptive software engineering, Information Technology and Management, 19:1, (37-49), Online publication date: 1-Mar-2018.
  3. ACM
    Rosenberg D, Boehm B, Wang B and Qi K Rapid, evolutionary, reliable, scalable system and software development: the resilient agile process Proceedings of the 2017 International Conference on Software and System Process, (60-69)
  4. 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.
  5. Park J Essence-based, goal-driven adaptive software engineering Proceedings of the Fourth SEMAT Workshop on General Theory of Software Engineering, (33-38)
  6. Waterman M, Noble J and Allan G How much up-front? Proceedings of the 37th International Conference on Software Engineering - Volume 1, (347-357)
  7. Németh G and Pap Z (2014). The Incremental Maintenance of Transition Tour, Fundamenta Informaticae, 129:3, (279-300), Online publication date: 1-Jul-2014.
  8. ACM
    Diebold P and Dahlem M Agile practices in practice Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, (1-10)
  9. ACM
    Chauhan S, Sharma A and Grover P (2013). Developing self managing software systems using agile modeling, ACM SIGSOFT Software Engineering Notes, 38:6, (1-3), Online publication date: 11-Nov-2013.
  10. ACM
    Ingold D, Boehm B and Koolmanojwong S A model for estimating agile project process and schedule acceleration Proceedings of the 2013 International Conference on Software and System Process, (29-35)
  11. Ramesh B, Mohan K and Cao L (2012). Ambidexterity in Agile Distributed Development, Information Systems Research, 23:2, (323-339), Online publication date: 1-Jun-2012.
  12. Austin R, Devin L and Sullivan E (2012). Accidental Innovation, Organization Science, 23:5, (1505-1522), Online publication date: 1-Sep-2012.
  13. ACM
    Arora R and Goel S Collaboration in software development Proceedings of the CUBE International Information Technology Conference, (391-396)
  14. Lin L, Yang W and Lin J (2012). A layer-based method for rapid software development, Computers & Mathematics with Applications, 64:5, (1364-1375), Online publication date: 1-Sep-2012.
  15. 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.
  16. ACM
    Durdik Z Towards a process for architectural modelling in agile software development Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS, (183-192)
  17. ACM
    Dorairaj S, Noble J and Malik P Bridging cultural differences Proceedings of the 4th India Software Engineering Conference, (3-10)
  18. Hoda R, Noble J and Marshall S (2011). The impact of inadequate customer collaboration on self-organizing Agile teams, Information and Software Technology, 53:5, (521-534), Online publication date: 1-May-2011.
  19. Pergl R Feasibility study inputs based on requirements engineering Proceedings of the 6th International Workshop on Enterprise & Organizational Modeling and Simulation, (121-132)
  20. ACM
    Hoda R, Kruchten P, Noble J and Marshall S (2010). Agility in context, ACM SIGPLAN Notices, 45:10, (74-88), Online publication date: 17-Oct-2010.
  21. 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)
  22. ACM
    Hoda R, Kruchten P, Noble J and Marshall S Agility in context Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (74-88)
  23. ACM
    Hoda R, Noble J and Marshall S Organizing self-organizing teams Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, (285-294)
  24. ACM
    Leithiser R and Hamilton D Agile versus CMMI - process template selection and integration with microsoft team foundation server Proceedings of the 46th Annual Southeast Regional Conference on XX, (186-191)
  25. 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)
  26. 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.
  27. ACM
    Detweiler M (2007). Managing UCD within agile projects, Interactions, 14:3, (40-42), Online publication date: 1-May-2007.
  28. ACM
    Stubblefield W and Carson T Software design and engineering as a social process CHI '07 Extended Abstracts on Human Factors in Computing Systems, (1857-1862)
  29. 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)
  30. Auer S and Herre H RapidOWL Proceedings of the 6th international Andrei Ershov memorial conference on Perspectives of systems informatics, (424-430)
  31. 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)
  32. ACM
    Kakihara M Strategizing software development Proceedings of the 2006 international workshop on Workshop on interdisciplinary software engineering research, (37-44)
  33. ACM
    Boström G, Wäyrynen J, Bodén M, Beznosov K and Kruchten P Extending XP practices to support security requirements engineering Proceedings of the 2006 international workshop on Software engineering for secure systems, (11-18)
  34. 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)
  35. Geras A, Smith M and Miller J Configuring hybrid agile-traditional software processes Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering, (104-113)
  36. Boehm B and Jain A A value-based software process framework Proceedings of the 2006 international conference on Software Process Simulation and Modeling, (1-10)
  37. ACM
    Boehm B A view of 20th and 21st century software engineering Proceedings of the 28th international conference on Software engineering, (12-29)
  38. Mellor S (2005). Editor's Introduction, IEEE Software, 22:3, (17-20), Online publication date: 1-May-2005.
  39. 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.
  40. 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)
  41. ACM
    Jain A and Boehm B Developing a theory of value-based software engineering Proceedings of the seventh international workshop on Economics-driven software engineering research, (1-5)
  42. Little T (2005). Context-Adaptive Agility, IEEE Software, 22:3, (28-35), Online publication date: 1-May-2005.
  43. Boehm B The future of software processes Proceedings of the 2005 international conference on Unifying the Software Process Spectrum, (10-24)
  44. Bozheva T and Gallo M Framework of agile patterns Proceedings of the 12th European conference on Software Process Improvement, (4-15)
  45. ACM
    Jain A and Boehm B (2005). Developing a theory of value-based software engineering, ACM SIGSOFT Software Engineering Notes, 30:4, (1-5), Online publication date: 1-Jul-2005.
  46. ACM
    Beznosov K and Kruchten P Towards agile security assurance Proceedings of the 2004 workshop on New security paradigms, (47-54)
  47. 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.
  48. Chau T, Maurer F and Melnik G Knowledge Sharing Proceedings of the Twelfth International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises
  49. Gustavsson R and Fredriksson M Sustainable information ecosystems Software engineering for large-scale multi-agent systems, (123-138)
  50. 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)
  51. ACM
    Boehm B (2003). Value-based software engineering, ACM SIGSOFT Software Engineering Notes, 28:2, (3), Online publication date: 1-Mar-2003.
  52. Ambler S (2002). Lessons in Agility From Internet-Based Development, IEEE Software, 19:2, (66-73), Online publication date: 1-Mar-2002.
  53. ACM
    Augustin L, Bressler D and Smith G Accelerating software development through collaboration Proceedings of the 24th International Conference on Software Engineering, (559-563)
  54. Maurer F and Martel S (2002). Extreme Programming, IEEE Internet Computing, 6:1, (86-90), Online publication date: 1-Jan-2002.
  55. 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.
  56. Robertson S (2001). Are We Afraid of the Dark?, IEEE Software, 18:4, (12-15), Online publication date: 1-Jul-2001.
  57. ACM
    Subramanian N and Chung L Software architecture adaptability Proceedings of the 4th International Workshop on Principles of Software Evolution, (52-61)
  58. Cockburn A (2000). Selecting a Project's Methodology, IEEE Software, 17:4, (64-71), Online publication date: 1-Jul-2000.
  59. Quan L and Kanade T (1997). Affine Structure from Line Correspondences With Uncalibrated Affine Cameras, IEEE Transactions on Pattern Analysis and Machine Intelligence, 19:8, (834-845), Online publication date: 1-Aug-1997.
  60. Hartley R (1997). In Defense of the Eight-Point Algorithm, IEEE Transactions on Pattern Analysis and Machine Intelligence, 19:6, (580-593), Online publication date: 1-Jun-1997.
Contributors

Recommendations

Reviews

Richard John Botting

Half a dozen recent books on software development advocate iterative or evolutionary processes. This book quotes popular 1990s authors as evidence for a high-risk variation called Adaptive Software Development (ASD). The book is not a textbook. It has no aids for the student and uses unchecked theories. The author derives his ideas from his experience as a consultant and mountain climber. He uses Microsoft and Netscape as examples. The book will help managers who understand Joint Application Development and function points to manage “extreme projects.” An extreme project is a project in a changing environment that demands results as soon as possible. Highsmith defined ASD to fit extreme projects. Waterfall command-and-control processes are fine when the situation is stable, with time to work out the details first. Projects in an unpredictable situation and with time to spare can use evolutionary delivery. When the client needs results quickly in a comparatively stable area, rapid application development (RAD) fits. Highsmith aims at high-speed/high-change projects. In these projects, the original ideas may become useless in the time it takes to develop the software, so Highsmith recommends a new philosophy in ASD. ASD uses three or more speculate-collaborate-learn cycles. In a “speculate” phase, managers, clients, users, and developers schedule a set of the work products for the cycle. These include pieces of software, requirements, specifications, models, and documentation. During a “collaboration” phase, teams develop them. Unlike Extreme Programming and the Rational Unified Process, ASD does not prescribe techniques. Unlike the Capability Maturity Model, it does not ask organizations to prescribe work procedures. ASD requires the teams to choose their own procedures. It monitors the refinement of work products by teams, from outline to acceptance. This is management by objectives for the 1990s. Highsmith calls the degree of refinement of a work product its “work-state.” Improvements in work-state trigger work on other products. In the “learning” phase of a cycle, the developers, users, and managers review the products. This allows the products, teams, and goals to improve in the next cycle. ASD puts developers and managers into the “groan zone” where they must confront and resolve differences quickly. Management sets up communications, provides resources, and expects results. Teams choose their own techniques and methods. ASD gives teams partial autonomy, so they can adapt to changes by reorganizing themselves. Feelings run high. Teams maintain a balance between stability and change. Highsmith believes that order will emerge in a system when the parts have just enough connections. In this theory, the system tends to a balance between order and chaos. On the edge of chaos, systems embrace change. Several mathematicians, physicists, and others have noted real or simulated systems that work like this. There is no evidence that “emergent order” always gives beneficial outputs, however. Other factors incorporated in ASD should help ensure that the emergent structures produce software that is good enough. ASD cannot guarantee success. Highsmith states that no process can guarantee results with extreme projects. He argues that non-adaptive processes, like those encouraged by the Capability Maturity Model, are worse than ASD. First, extreme projects demand creativity. Repeatable, documented procedures tend to block creativity. ASD forces creativity. Second, extreme projects demand a rapid response to change. Preprogrammed processes develop bugs when unexpected things happen. ASD does not force adherence to a program. Fast delivery and regular product review help the software and requirements to co-evolve. Chapters 1 and 2 set the scene and introduce ASD. Chapter 3 covers the documentation needed to initiate an ASD project. Chapter 4 shows how to plan a set of adaptive cycles. Chapter 5 describes the teamwork needed to work at the edge. Chapter 6 describes suitable quality control procedures—focus groups, technical reviews, and inspections. Chapter 7 explains why even good managers cause projects to fail. Chapter 8 addresses the changes a manager must make in attitudes and organization. Chapter 9 focuses on the shift from managing procedures to managing work products. Chapter 10 describes the kinds of communication needed: two-way, flexible, not too much, and including work-states. Time management and scheduling are covered in chapter 11. Finally, chapter 12 explores topics that do not appear elsewhere. The bibliography includes recent sources but omits some older ones. The index is more than adequate. This book does not mention Extreme Programming, and its brief description of the Rational Unified Process is inaccurate. Also, the author uses words in unexpected ways. As an example, instead of “work-product, ” Highsmith uses the word “component.” He uses “linear” to mean “sequential.” “Optimizing” and “deterministic” may be buzz phrases. The author states that good results “emerge” from complex adaptive systems. Biologists talk of emergent properties, and modern systems theorists talk of emergent order. These are not results. They are higher-level abstractions. Shared goals and learning help adaptive teams to produce desirable software, not misnamed “emergent results.”

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.