AnyBook4Less.com
Find the Best Price on the Web
Order from a Major Online Bookstore
Developed by Fintix
Home  |  Store List  |  FAQ  |  Contact Us  |  
 
Ultimate Book Price Comparison Engine
Save Your Time And Money

Adaptive Software Development: A Collaborative Approach to Managing Complex Systems

Please fill out form in order to compare prices
Title: Adaptive Software Development: A Collaborative Approach to Managing Complex Systems
by James A. Highsmith III, Ken Orr
ISBN: 0-932633-40-4
Publisher: Dorset House
Pub. Date: January, 2000
Format: Paperback
Volumes: 1
List Price(USD): $44.95
Your Country
Currency
Delivery
Include Used Books
Are you a club member of: Barnes and Noble
Books A Million Chapters.Indigo.ca

Average Customer Rating: 4.38 (8 reviews)

Customer Reviews

Rating: 3
Summary: "Rock climbing, Joel ! Rock climbing !"
Comment: The quote is from Mystery Science Theater 3000, and is used to identify a movie scene so repetitious that it seems like torture. But it could also apply to this book. I've lost count of how many times Highsmith has padded his text with rock climbing metaphors. It's annoying and distracting and it adds only fluff. I've developed the practice of skipping the paragraph whenever Highsmith starts another inane mountaineering passage.

There is some meat in this book, but you've got to nibble around a whole lot of loess to get it.

Rating: 5
Summary: Leadership and collaboration
Comment: "Adaptive Software Development" is a light, human-powered methodology for development of complex software systems. Unlike Extreme Programming, Adaptive Software Development is less disciplined and does not mandate individual techniques like On-Site Customer, Pair Programming or Automated Tests. It rather encourages adaptation, which depends on leadership and collaboration.

One of the vital components of Adaptive Software Development is clearly articulated Project Mission, Shared Vision and Clear Focus, and it is the responsibility of the whole team to create the mission and use it on a day-to-day basis as an alignment tool to keep the common direction.

I would also highly recommend "Agile Software Development" by Alistair Cockburn in addition to this book.

Rating: 5
Summary: MustRead
Comment: Compelling case for Adaptive Software Development (ASD), an approach enabling successful completion of complex software development projects. Draws on the theory of complex adaptive systems (CAS). Explains using judicious analogies with mountain climbing. Assembles ideas from the author's own extensive experience and readings. Describes in some detail the ideas of other authors that have influenced ASD. Excellent annotated bibliography allows the reader to pursue further study in any of a number of different directions.

It's hard to express just how good this book is. I can't recommend it highly enough. If you're interested in the currents of thought on software development variously labeled "extreme" or "agile," then I believe you will find Adaptive Software Development to be very near to their sources.

The author distinguishes a "complex" project from one that is merely "complicated." As one might well imagine, he would classify a project to develop the avionics software for the NASA space shuttle as complicated--but not complex: its goal is well defined and attainable by applying the stable laws of Newtonian physics. Development of an internet-based product for the consumer marketplace on the other hand is complex because one might expect almost anything to change during the course of such a project: target technology, competitive offerings, financing, marketing strategy, etc.

Complexity arises from moving fast in a continually changing environment.

Adaptive Software Development comprises
(1) Adaptive Conceptual Model--the theoretical foundation,
(2) Adaptive Development Model--a software development lifecycle for complex projects, and
(3) Adaptive Management Model--principles for managing complex projects.

(1) The Adaptive Conceptual Model proposes that a software development organization is a complex adaptive system like a marketplace or a flock of birds. According to the theory, CASs composed of independent agents acting for themselves without centralized control can under proper circumstances develop "emergent" capabilities exceeding the mere sum of the capabilities of the individual agents.

It is further proposed that only emergent capabilities are powerful enough to tame complexity. Software development organizations aspiring to do so must create the proper circumstances for the emergence of superior capabilities. The Development Model and the Management Model show the way.

(2) The Adaptive Development Model has three phases: Speculate, Collaborate, Learn. A typical project is expected to cycle through the phases several times. The output of each successive cycle converges on the final product of the project.

The beginning of each cycle is called "speculation" in preference to "planning" to reject the command-and-control philosophy that stifles emergence. ASD establishes a general direction, hypothesizes a product with a set of components, then puts the developers to work. Tasks are not specified in the ASD project plan--only the components to be completed by the end of the cycle.

Collaboration is the phase where development occurs. Under conditions of "diversity, rich relationships, unfettered information flow, and good leadership (p. 45)" collaboration can be the crucible of emergent capability. To foster this emergence, the project leader must keep the team "poised at the edge of chaos," imposing just enough rigor on the collaboration to keep it from spinning out of control. To impose any more rigor would stifle emergence. Borrowing from Ralph Stacey, Mr. Highsmith cites five dimensions for measuring how closely a project team approaches chaos. The goal is to structure collaboration so that it has just enough--but never too much--of each of the following:

1. Information Flow
2. Diversity
3. Rich Connectivity
4. Contained Anxiety
5. Power Differential.

Mr. Highsmith observes that adaptation, not optimization, is the key to success in a complex ecosystem. Software developers adapt by learning. ASD ends every cycle with specific collaborative learning activities including customer focus groups, technical reviews, post-mortems, etc. The adaptations resulting from the learning phase keep the output of subsequent cycles converging on a successful product.

(3) ASD gives to the project leader responsibility for establishing the conditions under which superior capabilities emerge from the collaboration of team members. This responsibility entails "the ability to help teams to understand the project's mission, to stand back and let the group struggle with mistakes, to encourage learning, to balance the need for flexibility and rigor, and to force decisions onto the group (pp. 209-210)."

To balance successfully between flexibility and rigor--poised at the edge of chaos--managers of complex projects must attend primarily to two structural elements: workstate and network.

ASD manages workSTATE in preference to workFLOW. Instead of monitoring the completion of tasks, the project leader tracks the completion of components. Tasks are not necessarily prescribed. Team members decide for themselves how to build the components. To scale up to large projects, workstate management defines explicit milestones for each component describing its degree of completion. Progress is tracked against these milestones.

The emergence of superior capability through collaboration depends on the communication network of the collaborators. For smaller, collocated teams with sufficient interpersonal skills, it will emerge informally. For larger teams, ASD prescribes a conscious effort to build it and to maintain it. The remote nodes of a virtual team are all too likely to fall into a state of insufficient interaction.

The collaboration network should provide team members just a little more information than they need, stopping just short of overload. Information clutter must be avoided. Content must not be provided without context (author, revision date, approval status, for example). The formal properties of the collaboration network must be identified and tuned to the needs of the complex project. A "collaboration service layer" of tools (mostly web-based) and practices must be installed. A new role, collaboration facilitator, extending the role of JAD facilitator, should be created to tend the collaboration network.

Is a software development organization really a complex adaptive system? No matter. Mr. Highsmith has ably used the theory of complex adaptive systems as a powerful metaphor for unifying many existing ideas about managing complex software development and for generating new ones--with at least as much validity as older theories have been applied in the past. Stimulating and refreshing. A must-read by any standard.

Similar Books:

Title: Agile Software Development
by Alistair Cockburn
ISBN: 0201699699
Publisher: Addison-Wesley Pub Co
Pub. Date: 15 December, 2001
List Price(USD): $39.99
Title: Extreme Programming Explained: Embrace Change
by Kent Beck
ISBN: 0201616416
Publisher: Addison-Wesley Pub Co
Pub. Date: 05 October, 1999
List Price(USD): $28.95
Title: Agile Software Development with SCRUM
by Ken Schwaber, Mike Beedle
ISBN: 0130676349
Publisher: Prentice Hall
Pub. Date: 15 October, 2001
List Price(USD): $30.95
Title: Agile Software Development Ecosystems
by Jim Highsmith
ISBN: 0201760436
Publisher: Addison-Wesley Pub Co
Pub. Date: 26 March, 2002
List Price(USD): $44.99
Title: Agile Modeling: Effective Practices for Extreme Programming and the Unified Process
by Scott W. Ambler, Ron Jeffries
ISBN: 0471202827
Publisher: John Wiley & Sons
Pub. Date: 22 March, 2002
List Price(USD): $34.99

Thank you for visiting www.AnyBook4Less.com and enjoy your savings!

Copyright� 2001-2021 Send your comments

Powered by Apache