Click on a thumbnail to go to Google Books.
Extreme Programming Explained: Embrace Change
by Kent Beck
No current Talk conversations about this book.
Very timely in the early 2000s. Fights the bureaucracy of the methodologies of the "3 amigos" - Booch, Rumbaugh and Jacobsen - which became the Unified Process (RUP).
If you want to learn the principles of XP, this is THE book. If you want to learn the practice of XP, there are better alternatives.
The ideas and motivation of XP are explained clearly and concisely. It's a short read, but fairly convincing. However, if you learn better from examples, this book does not have enough real world stories to really see XP in action.
The book is full of great quotes:
XP is a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly changing requirements.
Everything in software changes. The requirements change. The design changes. The business changes. The technology changes. The team changes. The team members change. The problem isn't change, because change is going to happen; the problem, rather, is our inability to cope with change.
No book of gardening, however complete, makes you a gardener. First you have to garden, then join the community of gardeners, then teach others to garden. Then you are a garden
As Will Rogers said, “It ain't what you don't know that gets you in trouble. It's what you know that ain't so.”
If members of a team don't care about each other and what they are doing, XP won't work. If members of a team don't care about a project, nothing can save it.
In software development, “perfect” is a verb, not an adjective.
Quality isn't a purely economic factor. People need to do work they are proud of.
Automatically build the whole system and run all of the tests in ten minutes. A build that takes longer than ten minutes will be used much less often, missing the opportunity for feedback. A shorter build doesn't give you time to drink your coffee.
Put new software into production every night. Any gap between what is on a programmer's desk and what is in production is a risk. A programmer out of sync with the deployed software risks making decisions without getting accurate feedback about those decisions.
Silence is the sound of risk piling up.
He picked a powerful metaphor for his teaching, Scientific Management. When picking descriptive names, it helps to pick a name whose opposite is unappealing. Who could possibly be for “unscientific” management?
Having a separate quality department sends the message that quality is exactly as important to engineering as marketing or sales. No one in engineering is responsible for quality.
This is an odd book. It is propaganda for a now popular software development method, but its strongest arguments have nothing to do with productivity or cost savings. Instead, they appeal to the personal integrity of software professionals: they are about identifying the values one upholds and, if they match those of Beck's Extreme Programming, to use his practices as a means to satisfying them.
The second edition of this book is more mature than the first. Beck doesn't talk as much about "cranking the dials up to 10" and he is far less dogmatic, and far more reflexive, about the right way to develop software. At some points (in particular with some of the corollary practices he proposes) the arguments are thin and too reliant on anecdotal evidence. But still, this is a great book, and I welcome the emphasis on values, on the humanity of software development, on communication, on professional commitment to work well done. It is refreshing to read not only that developers are not cogs in a machine, but that this is the essential insight of responsible software practice and needs to be taken to its extreme consequences.
I've been a programmer for over 10 years now, but somehow I haven't had to do too much collaboration on a project...
I suspect it has something to do with the fact that the only language I'm comfortable to collaborate in (Perl) isn't one that most folks collaborate in..
Anyway, I'd like to try Pair-programming with one of the '100 times more productive' programmers that the experts say are out there...
References to this work on external resources.
Wikipedia in English (8)
"In this second edition of Extreme Programming Explained, Kent Beck organizes and presents five years'' worth of experiences, growth, and change revolving around XP. If you are seriously interested in understanding how you and your team can start down the path of improvement with XP, you must read this book." --Francesco Cirillo, Chief Executive Officer, XPLabs S.R.L. "The first edition of this book told us what XP was--it changed the way many of us think about software development. This second edition takes it farther and gives us a lot more of the ''why'' of XP, the motivations and the principles behind the practices. This is great stuff. Armed with the ''what'' and the ''why,'' we can now all set out to confidently work on the ''how'': how to run our projects better, and how to get agile techniques adopted in our organizations." --Dave Thomas, The Pragmatic Programmers LLC "This book is dynamite! It was revolutionary when it first appeared a few years ago, and this new edition is equally profound. For those who insist on cookbook checklists, there''s an excellent chapter on ''primary practices,'' but I urge you to begin by truly contemplating the meaning of the opening sentence in the first chapter of Kent Beck''s book: ''XP is about social change.'' You should do whatever it takes to ensure that every IT professional and every IT manager--all the way up to the CIO--has a copy of Extreme Programming Explained on his or her desk." --Ed Yourdon, author and consultant "XP is a powerful set of concepts for simplifying the process of software design, development, and testing. It is about minimalism and incrementalism, which are especially useful principles when tackling complex problems that require a balance of creativity and discipline." --Michael A. Cusumano, Professor, MIT Sloan School of Management, and author of The Business of Software "Extreme Programming Explained is the work of a talented and passionate craftsman. Kent Beck has brought together a compelling collection of ideas about programming and management that deserves your full attention. My only beef is that our profession has gotten to a point where such common-sense ideas are labeled ''extreme.''..." --Lou Mazzucchelli, Fellow, Cutter Business Technology Council"If your organization is ready for a change in the way it develops software, there''s the slow incremental approach, fixing things one by one, or the fast track, jumping feet first into Extreme Programming. Do not be frightened by the name, it is not that extreme at all. It is mostly good old recipes and common sense, nicely integrated together, getting rid of all the fat that has accumulated over the years." --Philippe Kruchten, UBC, Vancouver, British Columbia"Sometimes revolutionaries get left behind as the movement they started takes on a life of its own. In this book, Kent Beck shows that he remains ahead of the curve, leading XP to its next level. Incorporating five years of feedback, this book takes a fresh look at what it takes to develop better software in less time and for less money. There are no silver bullets here, just a set of practical principles that, when used wisely, can lead to dramatic improvements in software development productivity." --Mary Poppendieck, author of Lean Software Development: An Agile Toolkit "Kent Beck has revised his classic book based on five more years of applying and teaching XP. He shows how the path to XP is both easy and hard: It can be started with fewer practices, and yet it challenges teams to go farther than ever." --William Wake, independent consultant "With new insights, wisdom from experience, and clearer explanations of the art of Extreme Programming, this edition of Beck''s classic will help many realize the dream of outstanding software development." --Joshua Kerievsky, author of Refactoring to Patterns and Founder, Industrial Logic, Inc."XP has changed the way our industry thinks about software development. Its brilliant simplicity, focused execution, and insistence on fact-based planning over speculation have set a new standard for software delivery." --David Trowbridge, Architect, Microsoft Corporation Accountability. Transparency. Responsibility. These are not words that are often applied to software development. In this completely revised introduction to Extreme Programming (XP), Kent Beck describes how to improve your software development by integrating these highly desirable concepts into your daily development process. The first edition of Extreme Programming Explained is a classic. It won awards for its then-radical ideas for improving small-team development, such as having developers write automated tests for their own code and having the whole team plan weekly. Much has changed in five years. This completely rewritten second edition expands the scope of XP to teams of any size by suggesting a program of continuous improvement based on: Five core values consistent with excellence in software development Eleven principles for putting those values into action Thirteen primary and eleven corollary practices to help you push development past its current business and technical limitations Whether you have a small team that is already closely aligned with your customers or a large team in a gigantic or multinational organization, you will find in these pages a wealth of ideas to challenge, inspire, and encourage you and your team members to substantially improve your software development. You will discover how to: Involve the whole team--XP style Increase technical collaboration through pair programming and continuous integration Reduce defects through developer testing Align business and technical decisions through weekly and quarterly planning Improve teamwork by setting up an informative, shared workspace You will also find many other concrete ideas for improvement, all based on a philosophy that emphasizes simultaneously increasing the humanity and effectiveness of software development. Every team can improve. Every team can begin improving today. Improvement is possible--beyond what we can currently imagine. Extreme Programming Explained, Second Edition, offers ideas to fuel your improvement for years to come.
No library descriptions found.
Amazon Kindle (0 editions)
Audible (0 editions)
CD Audiobook (0 editions)
Project Gutenberg (0 editions)
Google Books — Loading...
Melvil Decimal System (DDC)005.1 — Information Computing and Information Computer programming, programs, data, security Programming
Is this you?
Become a LibraryThing Author.
What’s so “extreme” about Extreme Programming? First, it advocates a practice called “pair programming” – programming in teams of two and sharing the burden of writing and debugging the code. Second, it advocates a heavy use of automated testing and writing those tests at the beginning of a new feature, not at the end. It also advocates the practice of continual integration – making many small deployments instead of one big deployment. This practice, 15 years after publication, is adhered to in most development shops.
What I like most about this book is that it flattens the landscape. Instead of having hierarchies and bureaucracies, it brings responsibility to everyone on the team. This is especially true in my industry, medical research. It’s in touch with the evolving dynamics of the workplace. Careers should not be a race to the top but a continual development of skill. Lean production techniques, concepts of continual improvement, and shared responsibility are all consulted in suggesting how to handle the business of software. The purported results are substantially reduced software defects (i.e., improved quality) and slightly reduced development time (i.e., reduced cost).
While these ideas were cutting-edge in 1999 (and still not widely practiced in 2005), they are expected in most software shops in 2020. Thus, this book is to be consulted as a vestige of history rather than a set of new ideas to implement. It’s still interesting, relevant, and inspirational because of the revolution it sparked. I read this book as a way to think through the practice of test-driven development. It helped me with that practice and continues to catalogue what good software development consists of. Interestingly, these skills have developed into Agile practices and more recent DevOps trends. Writing about these topics should now be consulted for state-of-the-art. ( )