Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Agile Software Development [Paperback]

Alistair Cockburn
4.4 out of 5 stars  See all reviews (28 customer reviews)


Available from these sellers.


Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Paperback --  
Amazon.com Textbooks Store
Shop the Amazon.com Textbooks Store and save up to 70% on textbook rentals, 90% on used textbooks and 60% on eTextbooks.
There is a newer edition of this item:
Agile Software Development: The Cooperative Game (2nd Edition) Agile Software Development: The Cooperative Game (2nd Edition) 4.0 out of 5 stars (8)
$41.79
In Stock.

Book Description

October 22, 2001 0201699699 978-0201699692
Lightweight methodologies are exploding in popularity because their flexibility is ideal for today's fast-changing development environments. In Agile Software Development, legendary software expert Alistair Cockburn reviews the advantages and disadvantages of lightweight methods, synthesizing the field's key lessons into a simplified approach that allows developers to focus on building quality software rapidly, cost-effectively, and without burnout. Ideal for managers seeking to transcend yesterday's failed approaches, the agile movement views software development as a cooperative game. As players move throughout the game, they use markers and props to inform, remind, and inspire themselves and each other. The goal of the game: to deliver a working software system -- and to use the lessons of each project to build a new, smarter "game" for the next project. For every IT executive and manager, software developer, team leader, team member, and client concerned with building robust, cost-effective software.


Editorial Reviews

From the Back Cover

"Coming of age for software developers means understanding that software is a cooperative effort, not something individuals do in isolation. This is a book that teams of software developers can thrive upon, full of sensible advice for a cooperative development approach."

--Tom DeMarco, The Atlantic Systems Guild

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 meeting 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.

Based on a decade's work and research, and interviews with software project teams, this book presents sound advice for bringing difficult projects to successful conclusion with a minimum of stress. It includes advice on:

  • The principals behind agile methodologies
  • Which methodologies fit different projects--including appendixes to select the appropriate methodology on a project
  • New vocabulary for describing methodologies
  • Just-in-time methodology tuning
  • Managing the incompleteness of communication
  • Continuous methodology reinvention
  • The manifesto for agile software development

Today's software developers need to recognize that they have a number of methodologies to choose from. With this book as a guide, they can break free of nonproductive habits, move beyond old routines, and clear a new path to success.



0201699699B09142001

About the Author

Alistair Cockburn is a recognized expert on use cases. He is consulting fellow at Humans and Technology, where he is responsible for helping clients succeed with object-oriented projects. He has more than twenty years of experience leading projects in hardware and software development in insurance, retail, and e-commerce companies and in large organizations such as the Central Bank of Norway and IBM.



0201699699AB07302002


Product Details

  • Paperback: 304 pages
  • Publisher: Addison-Wesley Professional (October 22, 2001)
  • Language: English
  • ISBN-10: 0201699699
  • ISBN-13: 978-0201699692
  • Product Dimensions: 9.1 x 7.4 x 0.7 inches
  • Shipping Weight: 1 pounds
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (28 customer reviews)
  • Amazon Best Sellers Rank: #275,547 in Books (See Top 100 in Books)

More About the Author

Alistair Cockburn is a recognized expert on use cases. He is consulting fellow at Humans and Technology, where he is responsible for helping clients succeed with object-oriented projects. He has more than 20 years of experience leading projects in hardware and software development in insurance, retail, and e-commerce companies and in large organizations such as the Central Bank of Norway and IBM.

Customer Reviews

Most Helpful Customer Reviews
42 of 44 people found the following review helpful
5.0 out of 5 stars People over Process, Interactions over Tools November 18, 2001
Format:Paperback
Every fifteen years or so, a great book pops up that describes what
projects are really like. There was Brooks, then DeMarco and Lister,
and now there's Cockburn.

Why is there such a gap between these great books? Possibly because
the message they contain isn't the easy-to-digest dictate: "run your
project this way and everything will be fine." Instead these books all
focus on the fundamentals of projects: people and the way they work
together. These books treat people as people, and not replaceable
parts in a process. The books accept people's foibles and
inconsistencies, and work out how to work with them, rather than how
to try to stamp them out. The books ask: how can we help these funky
people work better together to produce great software?

Agile Software Development has some great answers, which makes it a
significant book. It deals with the issue that programming is
essentially communicating. It looks at the success factors of
individuals, and how to help align the project with these. It
discusses practical ways to reduce the latency of communication (do
you know how much each extra minute taken finding things out costs on
a 12 person project? How do you line your walls with information
radiators?) The book mines the metaphor of development as a
cooperative team game, and looks at development organizations as a
community, where good citizenship pays.

So how _do_ you organize all these people, these team players, these
citizens? The answer is with methodologies. But not with something you
buy off-the-shelf. Cockburn argues that teams should work to define,
and then refine, their own methodologies, bringing in standard ones
where they fit. To help the teams, he has a wonderful section
describing what methodologies _are_, and how to build them. This is
good, solid, practical advice. He talks about when it's good to be
light, and when you need to be heavier, when laissez-faire works, and
when you need ceremony to reduce risks. Then, not content with helping
you create a methodology, Cockburn explains how to adapt what you have
to a changing world.

If you work in or with a team developing software, then you owe it to
yourself (and your team) to read this book. You'll come away with a
far clearer understanding of the dynamic at work in your team, and
with lots of ideas for improving it. And that's the whole point.

Comment | 
Was this review helpful to you?
49 of 55 people found the following review helpful
5.0 out of 5 stars The Articulation of Higher Awareness December 2, 2001
By A Customer
Format:Paperback
In Agile Software Development, Alistair Cockburn has quietly authored a masterpiece. With extraordinary insightfulness and encompassing perspective, Cockburn writes of fundamental truths around the business of software development, the people and teams involved, and the nature of methodology.

This book will give you vocabulary and concepts to communicate what you experience on your projects: what software development is all about, the importance of people and their motivations and traits, the adequacy of communication within your team community, and the appropriateness of your methodology for your context.

The first in a series based on the idea that different projects need different methodologies, and that focusing on communication and community is more relevant than focusing on process, the book is primarily concerned with what *is* methodology - and what identifies agile methodology, in particular.

Cockburn begins with the premise that communication is never perfect or complete - and therefore one task of your methodology, which amounts to the set of conventions your team follows, is to ensure that communications are optimal for the purposes at hand.

But what are the purposes at hand? Cockburn adeptly uses the metaphor of game theory to accurately characterize software development as "a cooperative game of invention and communication", whose primary goal is to deliver useful, working software, and whose secondary goal is to prepare for continued play. In so doing he reflects thoughtfully on the characterization of software as engineering, and derides the characterization of software as model-building - observing, thankfully, that building models is not the purpose of the game. The purpose of the game is delivering software.

This characterization frames the book's discussion, which builds in well-considered progression from people, to teams, to methodology, to agility. In a chapter about people, Cockburn stands upon the shoulders, and extends the vision, of giants such as Weinberg, and DeMarco and Lister, finding that people factors predict project outcome much more reliably than choice of process or technology. His treatment of people's motivations, in particular, is the most enlightened to be found outside the leadership literature.

That people participate in teams leads to the next chapter's thorough analysis of communication within teams, and examination of teams as communities. Cockburn implies that a project's rate of progress is a function of how long it takes information to get from one person's mind to another. Through comparison of different seating arrangements and communication modalities, he substantiates the implication and raises the issue of the permanence of communication. To the extent that the people on a team pull in the same direction, they form an effective community defined by "amicability" and "citizenship" - words and definitions provided by Cockburn that are a welcome addition to our vocabulary.

Coordinating a team's activity is the task of a methodology, which is subject of the book's final three chapters. The first of the three lays out a conceptual model of what methodology *is*, in terms of elements of methodology and relationships between elements. It goes on to define the scope of a methodology, and to put forth terms, such as "weight" and "tolerance", that can be used to describe a methodology. It addresses how to publish a methodology. Then Cockburn discusses a number of principles involved in the design of methodologies, and consequences of those principles. Of particular interest is a model for characterizing projects, on which to base the selection of a methodology for a project. This chapter concludes with an examination of Extreme Programming in light of the vocabulary and concepts Cockburn develops.

The second of the three methodology chapters discusses agile methodologies, and what identifies them. Included are recommendations for documentation, an interesting contrast of open-source development to commercial development (it's a different kind of game), and a prescriptive technique for selecting and adapting a methodology on a project. Along the way Cockburn suggests a good definition of software development project success (at least, from a methodological perspective), and thankfully debunks some of the broken thinking that is prevalent in our industry today -specifically, around outsourced overseas development.

The last of the three methodology chapters introduces Cockburn's own family of methodologies, the Crystal Methodologies, each of which corresponds to a particular space within the project characterization model.

Three appendices are included, of such significant content that they can hardly be considered an afterthought. The first discusses The Agile Software Development Manifesto, a product of seventeen advocates of "lightweight" development processes who gathered in early 2001 to discuss what they might have in common. Cockburn was party to the meeting and the manifesto, and in the first appendix provides his own report on the meeting and interpretation of the group's values and principles.

The second appendix excerpts and annotates earlier works, of other authors, that are significantly germane to Cockburn's arguments. One of these is by Peter Naur (of Backus-Naur Form), titled "Programming as Theory Building". In the vein of communication, Cockburn writes that "Using Naur's ideas, the designer's job is not to pass along the design, but to pass along the theories driving the design. The latter goal is more useful and more appropriate." Another excerpt is from The Book of Five Rings by Miyamoto Musashi, a 17th-century Japanese samurai who never wrote software, but whose words apply as equally to software development methodology and tool schools today as they did to martial arts schools in 17th-century Japan.

The third and final appendix is a bibliography of 65 entries.

Taken as a whole, the chapters and appendices form a seminal book on methodology that promises to have significant influence within our industry. Agile Software Development is an epiphany for the field of software development. Buy it. Read it. Use it. Urge the people on your teams to do likewise, that you may discuss methodology with higher awareness, and adjust yours to be appropriately agile. For, as Alistair writes, "software developers should come to know this material simply as part of being in the profession".

Randy Stafford
Chief Architect
IQNavigator

Comment | 
Was this review helpful to you?
34 of 37 people found the following review helpful
By Christo
Format:Paperback
When I started reading this book I was not a fan of XP, but certainly in favour of lighter methodologies. The book is unusual (amongst IT books) in the sense that it starts off with patterns of human communication. In fact the first three chapters - which analyses game-play, individual communication modes, and team cooperation - covers about 40% of the book. However, it was this section of the book that won me over and convinced me about the basis of the "methodologies" such as XP.

But for me personally the most practical and relevant chapter was Chapter 5: "Agile and self-adapting". In this chapter Cockburn covers issues such as how much documentation, team structures, and most importantly: a methodology growing technique. This chapter is closely followed in importance by chapter 4: "Methodologies". In this chapter Cockburn covers methodology concepts and design principles, including how to publish and introduce (role out) a methodology (before going on to dissect XP). Chapter 6: "The crystal methodologies" consolidates these ideas. Cockburn takes you along while describing and shaping his family of Crystal methodologies.

The book is rounded of with the agile software development manifesto, a formal proposal drawn up by several software authors; and philosophical contributions from other authors. Many good references can be found in the appendix.

Cockburn acknowledges that the chosen methodology must fit issues such as the project and team size and environment. And although I can see the benefits of many aspects of the agile philosophy, there are other aspects I am still cynical about. However, my review is not about XP, but about this book. And the book is well written, well argued, sensible, with plenty of stories and examples, which makes it easy to read. In my case, Cockburn was NOT preaching to the converted, and I gained much value from reading the book. It helped me to question some of my preconceived ideas and long-held views.

Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars A great introduction to Agile
The book is clearly written, easy to read, and supports people who want to move from either no understanding or an elementary understanding of the topic to a higher level of... Read more
Published on October 23, 2010 by M. Helmke
1.0 out of 5 stars Don't buy this one, buy the 2nd Edition
Buy the second edition of this book, called "Agile Software Development: The Cooperative Game (2nd Edition) (Agile Software Development Series)"

Agile Software... Read more
Published on October 7, 2008 by Prime Chuck
5.0 out of 5 stars Necessary reading for those interested in agile methodologies
This book is simply great, and one of the few pieces or literature in a field that deserve to be considered as a 'must' for that field. I use this opportunity to thank Mr. Read more
Published on August 27, 2008 by Alejandro Berganza
5.0 out of 5 stars One of the best software books I've ever read
This book is very abstract - so don't expect a "How do develop software using XYZ methodology" when you start reading. Read more
Published on February 8, 2007 by James Crosswell
5.0 out of 5 stars A Foundational Source
This book was a foundational source in my bibliography for a graduate level class project that contrasted Agile Development with CMMI. Read more
Published on January 11, 2007 by John P. Perea
5.0 out of 5 stars A true classic in modern software development
Alistair's book is one of the early books on Agile Development and written quite closely after the signing of the Agile Manifesto. Read more
Published on March 16, 2006 by Bas Vodde
4.0 out of 5 stars Is it Agile or Anti methodology?
The book makes me more confident in my varied approaches to project management. Cockburn does a terrific job of blending experience, anecdotal evidence, cited references,... Read more
Published on June 2, 2005 by Aaron Myers
5.0 out of 5 stars More than just Agile
You should read this book if you've done a few software projects, and are ready to crystallize (couldn't help it) some of the ideas you have running around in your head about... Read more
Published on April 30, 2005 by Corey Thompson
5.0 out of 5 stars A must read for anyone interesting in software development
This book is well written, "crystal clear" :) and I learned a lot. In fact, I learned more in this book than any other about software development. Read more
Published on January 10, 2004 by Michel Cere
4.0 out of 5 stars Good agile overview, but a bit longer than it needs to be
The high points were all of the great attitude around how to tune a methodology to your specific team, project, and environment. Read more
Published on December 24, 2003 by Lars Bergstrom
Search Customer Reviews
Only search this product's reviews


Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...



Look for Similar Items by Category