Amazon.com Customer Reviews
Controversial - started a whole new generation of thinking - Review written on October 28, 2005
Rating: 3 out of 5
8 customers found this review helpful, 4 did not.
Now this is a controversial book that has caused a lot of heated debate among developers. It starts out innocently enough, by stating the goals of XP which most everyone will agree on: correct, flexible software that adapts well to change in requirements and user-feedback, short development times and happy programmers and customers. It then goes on to explain how the techniques of XP try to help archive these goals. The practices include widely accepted ones, like a rigorous testing process, coding standards and continuous integration. But it also breaks quite radically with common programming wisdom by requiring things like an on-site customer, refactoring as a major component instead of a complete up-front design, pair programming (two developers sharing one keyboard and one screen) and collective code ownership (every one on the team is responsible for the whole codebase and allowed to modify every line of it). It is this mix of proven techniques taken to the extreme and new approaches presented in the book that Beck claims creates a special synergy which leads to a more successful and less strenuous software development process. The author puts forward very convincing arguments for why and how these synergetic effects occur and presents his personal experience using XP on one team as supporting anecdotal evidence. The book is written in an easily readable style and contains lots of sometimes funny anecdotes and quotes. And although it obviously is about the author's pet idea I didn't find it preaching, but rather refreshingly enthusiastic and energetic.
Unfortunately I have to admit that I haven't yet personally experienced all XP techniques in practice, main reasons being that it's very hard to convince management of it's merits ("What?! Two programmers on one keyboard?! No way!") and to get all team members willing to try something new. Maybe if they'd all read this book it would be easier...
In the unlikely event that the ideas don't intrigue you, you still have to buy this book to know what all the hype and controversy is about.
XP needs a better name - Review written on August 15, 2005
Rating: 4 out of 5
6 customers found this review helpful.
When I read the first edition several years ago, my first thought was how XP needs a name change. It seems as if Beck said, "Lets take a bunch of common 'best practices', develop a methodology around performing them consistently, and then give it a name that will scare away managers".
XP is not a silver bullet, not is it 'evil'. If you develop software and you work in an environment where you always seem to struggle with issues that prevent your team from operating effectively, then this book is for you. Extreme Programming is about taking several core 'practices' and 'values', and turning that into a methodology - perhaps even a philosophy - of software development, team interaction, and process improvement. I don't care if you end up falling in love with XP or if you end up following RUP, CMMi or some other improvement framework, reading this book is an excellent first start to pull yourself out of the doldrums that most software development shops operate in.
Yes, I am a fan of XP and this book. I think the first edition was better. This book seems to digress a lot into touchy-feely subjects, rather than staying on the subject of software development (for example, there are a few pages about personal relationships in the workplace, including dealing with issues that cross the line into HR management - not appropriate for a book that is supposed to be about XP). Beck also seems to flip-flop between describing XP as a solid methodology and a loose collection of his own ideas. I think that XP would greatly improve if it grew up and formalized itself a little better... XP should not be defined with the primary author's telling of anecdotal stories, as appear in this book.
Read it with a pragmatic eye, and figure out what is relevant to your situation. Trying to apply these (or any) ideas dogmatically will probably solve some issues while creating far worse ones.
not found - the silver bullet - Review written on March 24, 2005
Rating: 2 out of 5
5 customers found this review helpful, 17 did not.
Maybe I'm too cynical because I never got to work for the successful, whiz-kid companies; Maybe this book wasn't written for me!
This book reminds me of Jacobsen's "Use Cases" book of the 1990s. 'Use Cases' was all the rage but after several years, we slowly learned the truth: Uses Cases does not deal with the architecture - a necessary and good foundation for any piece of software.
Similarly, this book seems to be spotlighting Testing and taking it to extremes.
'the test plan is the design doc'
Not True. The design doc encapsulates wisdom and insight
a picture that accurately describes the interactions of the lower level software components is worth a thousand lines of code-reading.
Also present is an evangelistic fervor that reminds me of the rah-rah eighties' bestseller, "In Search Of Excellence" by Peters and Waterman. (Many people have since noted that most of the spotlighted companies of that book are bankrupt twenty five years later).
- in a room full of people with a bully supervisor (as I experienced in my last job at a major telco) innovation or good work is largely absent.
- deploy daily - are you kidding?
to run through the hundreds of test cases in a large application takes several hours if not days. Not all testing can be automated.
- I have found the principle of "baby steps", one of the principles in the book, most useful in my career - it is the basis for prototyping iteratively. However I heard it described in 1997 at a pep talk at MCI that the VP of our department gave to us. So I dont know who stole it from whom!
Lastly, I noted that the term 'XP' was used throughout the book, and the back cover has a blurb from an M$ architect. Was it simply coincidence that Windows shares the same name for its XP release? I wondered if M$ had sponsored part of the book as good advertising for Windows XP! :)
This is what a 2nd edition should be like - Review written on December 24, 2004
Rating: 5 out of 5
11 customers found this review helpful.
The release 1st edition of this book is still considered by many to be the kick start for the growing adoption of a software development process called Extreme Programming. After 5 years, the 2nd edition faces a much different world but also with much different content and approach. The world has learned much and so has the author. I'm glad to see that this 2nd edition reflects that development.
Beck has revised his thinking throughout the book. Some obvious examples include his current preference towards using ideal time over abstract time units in estimating, the fifth value among the initial four, the new set of principles, and the rehash of the practices.
Extreme Programming Explained is not a detailed how-to for adopting the process it describes. Actually, it doesn't really describe a process at all. What it does describe is a system of values and principles and a set of practices to support these. Even though Beck does give each practice (divided into primary and corollary practices in the 2nd edition) their share of explanation, the focus is still strongly on the "what" and "why" instead of the "how".
As someone who has read a dozen books on the topic already, I was delighted to find almost every page to provide something intriguing that either created or challenged my own thoughts. Especially the latter half of the book, dealing with topics such as TOC, scaling, Taylorism, the Toyota Production System, and the hot potato itself -- offshoring -- offered a lot to think about.
This is what a 2nd edition should be like, every single chapter reflecting new insight gathered over the years.
Not just for programmers! - Review written on December 13, 2004
Rating: 5 out of 5
1 customer found this review helpful, 1 did not.
This book updates basic concepts that don't need to be reserved for programmers. Working on a lot of ERP/APS projects, I appreciated reading an approach that accepts that change happens, no matter how much upfront planning you do. The traditional approach has a lot of overhead -- management, documents, design -- and makes responding to needs difficult and in many ways actually detracts from the value of the ultimate deliverable, a functioning system.
I worked on a project (before reading this book) that reflected some of the tenets: don't build for the future but for current requirements, have testing going on all the time (automated and manual), work with others as much as possible, don't be afraid to try something different, etc. The project culture was very supportive. As a note, our programmers were all offsite, but very responsive -- since they worked together we could always reach someone who could address our issues. I think there is some leeway for the onsite customer requirement given the sophistication of technology today.
The main drawback to XP is that it relies on the strengths and compatibilities of people. If the environment in which you are trying to introduce this approach does not have a positive culture and talanted people (learning is allowed!), you've got issues that will negitively affect any undertaking -- it may simply be covered up better in all the clutter.
We're growing up - Review written on December 05, 2004
Rating: 5 out of 5
This is a complete re-write.
The only thing that is the same is the title (with the appended Second Edition). The old foreword is included as well though Erich Gamma wrote a new one. Amazon seems to be re-using the back cover words from the first edition which is misleading because even that is different. I would also suspect that are many reviews here by people who haven't read this second edition, thinking it's just a revision.
I must admit that I liked the bravado of the first edition, and even more so the first inklings of XP on the Portland Pattern Repository. However, I like the authenticity of this second edition more. There is a much greater sense of "Whole Team" while in comparison, the first version is an expression by programmers.
Probably the key thing is that this was written with the context of a lot of people who have tried XP or at least tried to go in that direction, in the five years since the first edition was published.
Much clearer communication of the relationships between values (universal), principles (domain-specific), and practices (concrete). Values and principles are "Why" and practices are "How". I would suggest that much of the resistance to XP comes from a disagreement over values and principles, though it manifests as a disagreement over practices. XP is a change in culture, in relationships, not just a change in technique. This is why it is so appealing to some, and so frightening to others.
It's interesting to see how much of what the community has learned is incorporated into this edition. There's mention of Theory of Constraints, Toyota Production System, etc.
"I hope that in reading and applying this book you will come to a deeper understanding of why you are involved in software development and how you can find satisfaction from this work."
I can honestly say that this book helps restore my hope that we can make a difference for the better.
Down to earth, common-sense values, principles and practices - Review written on November 26, 2004
Rating: 5 out of 5
4 customers found this review helpful, 1 did not.
The first edition of this book provoked me to get on an XP team and see if it really works. It does. In the ensuing years, I've worked on 3 teams which used XP values, principles and practices and achieved great success, and 1 team which did not and achieved some success at great human cost (the best members of the team burned out and left).
The new edition inspires me anew. My favorite new chapter is the principles. These reflect what the teams I've been on have learned through trial and error. What a bonus to start off knowing and applying these principles!
There are a lot of misconceptions about XP (see other reviews here - a common one is that there's no documentation). All I can say is, read this book, really understand and apply the values, principles and practices to a project. It's not any easier than applying any traditional methodology. The difference is that it really works. And the reason is that it's all about people and helping a team do its best work.
A must have for an intermediate programmer/developer. - Review written on November 22, 2004
Rating: 4 out of 5
This book is undoubtedly a classic. One of the neatly ordered book I have read in a while. It presents to a novice planner on becoming more productive. However, if you are a novice who has just stepped into the world of programming...then maybe this is not the right time for you to read this book. Maybe after 2 years, once you are comfortable in makind informed sensible decisions, this book becomes a MUST READ.
Any manager, senior developer or anybody who leads a bunch of programmers...yes...a MUST READ.
As much as this book advises on what to do and what not to do for XP....towards the end, it gets a bit too cautious. The author tends to playing it safe by telling that XP is not for everyone. Though, I admit to the fact that he is not trying to say anywhere that XP is THE WAY...but he does not reinforce that XP is a nice way very often.
The book contains many words of wisdom...and as you read through it gives you the opportunity to review yourself as a programmer. The book describes programmer attitudes and smart people working in a team following XP. While the author tells what a good programmer practicing XP should do, he also points out to the plain facts...as to what programmers in the initial stages of XP do...
Though not directly related to code, the author describes a few practices while developing code, that can be followed even when one is not coding "XP-STYLE"
This book is certainly a classic....but as a word of caution...do not read the whole book if you have just begun to program. The wait is really worth the philosophy the book preaches.
eXtreme buzzwording - Review written on May 24, 2004
Rating: 3 out of 5
18 customers found this review helpful, 7 did not.
Maybe it's an interesting idea, but it's just not ready for prime time.
Parts of Kent's recommended practice - including aggressive testing and short integration cycle - make a lot of sense. I've shared the same beliefs for years, but it was good to see them clarified and codified. I really have changed some of my practice after reading this and books like this.
I have two broad kinds of problem with this dogma, though. First is the near-abolition of documentation. I can't defend 2000 page specs for typical kinds of development. On the other hand, declaring that the test suite is the spec doesn't do it for me either. The test suite is code, written for machine interpretation. Much too often, it is not written for human interpretation. Based on the way I see most code written, it would be a nightmare to reverse engineer the human meaning out of any non-trivial test code. Some systematic way of ensuring human intelligibility in the code, traceable to specific "stories" (because "requirements" are part of the bad old way), would give me a lot more confidence in the approach.
The second is the dictatorial social engineering that eXtremity mandates. I've actually tried the pair programming - what a disaster. The less said the better, except that my experience did not actually destroy any professional relationships. I've also worked with people who felt that their slightest whim was adequate reason to interfere with my work. That's what Beck institutionalizes by saying that any request made of me by anyone on the team must be granted. It puts me completely at the mercy of anyone walking by. The requisite bullpen physical environment doesn't work for me either. I find that the visual and auditory distraction make intense concentration impossible.
I find revival tent spirit of the eXtremists very off-putting. If something works, it works for reasons, not as a matter of faith. I find much too much eXhortation to believe, to go ahead and leap in, so that I will eXperience the wonderfulness for myself. Isn't that what the evangelist on the subway platform keeps saying? Beck does acknowledge unbelievers like me, but requires their exile in order to maintain the group-think of the X-cult.
Beck's last chapters note a number of exceptions and special cases where eXtremism may not work - actually, most of the projects I've ever encountered.
There certainly is good in the eXtreme practice. I look to future authors to tease that good out from the positively destructive threads that I see interwoven.
Extreme Bull - Review written on May 03, 2004
Rating: 1 out of 5
13 customers found this review helpful, 26 did not.
Mr. Beck has managed to write a book based upon his own opinions and theories, not of which are based upon facts or solid research, and sell this idea as a development methodology/paradigm shift. More power to him for his own marketing ability. I do have some respect for him as a developer after reading Refactoring with Martin Fowler as the primary author.
My Ph.D. work was done on how technology affects the coomunication and learning process. And I have 14 years of experience watching students work in teams on programming problems. What Mr. Beck writes about the paired-programming aspect is contrary to common sense and anyone even the slightest inkling of perception into the personality traits of developers.
He does make some good points about manamgement, and time estimates. Unfortunately the good things are mixed in with the fantasy. I've yet to encounter a software/technology manager and very few developers that have the people skills; or any education or innate ability of learning and teaching styles that would be absolutely necessary for his suggestion to be sucessful.
It was my unfortunate (depending on your viewpoint) experience to work with a development team at Intel trying to implement Extreme Programming for the first time. That experience is worth a whole book in itself.
I suggest reading the book, take the good stuff, but please don't confuse opinion or limited personal experience as suitable justification for imposing bizzare practices on your development teams.
A work of fiction - Review written on May 03, 2004
Rating: 1 out of 5
10 customers found this review helpful, 14 did not.
The book presents extreme programming. It is divided into three parts:
(1) The problem
(2) The solution
(3) Implementing XP.
The problem, as presented by the author, is that requirements change but current methodologies are not agile enough to cope with this. This results in customer being unhappy. The solution is to embrace change and to allow the requirements to be changed. This is done by choosing the simplest solution, releasing frequently, refactoring with the security of unit tests.
The basic assumption which underscores the approach is that the cost of change is not exponential but reaches a flat asymptote. If this is not the case, allowing change late in the project would be disastrous. The author does not provide data to back his point of view. On the other hand there is a lot of data against a constant cost of change (see for example discussion of cost in Code Complete). The lack of reasonable argumentation is an irremediable flaw in the book. Without some supportive data it is impossible to believe the basic assumption, nor the rest of the book. This is all the more important since the only project that the author refers to was cancelled before full completion.
Many other parts of the book are unconvincing. The author presents several XP practices. Some of them are very useful. For example unit tests are a good practice. They are however better treated elsewhere (e.g., Code Complete chapter on unit test). On the other hand some practices seem overkill. Pair programming is one of them. I have tried it and found it useful to generate ideas while prototyping. For writing production code, I find that a quiet environment is by far the best (see Peopleware for supportive data). Again the author does not provide any data to support his point.
This book suggests an approach aiming at changing software engineering practices. However the lack of supportive data makes it a work of fiction.
I would suggest reading Code Complete for code level advice or Rapid Development for management level advice.
Embrace change - Review written on March 30, 2004
Rating: 4 out of 5
1 customer found this review helpful, 1 did not.
"Extreme" programming (XP) is a relatively new software development methodology which aims to allow small teams to produce higher quality software in less time, with less stress. The only thing that possibly exceeds the fervor of its adherents is the scorn heaped upon it by skeptics. _Extreme Programming Explained: Embrace Change_ is "the XP manifesto", which lays out the basic tenets of the XP idea, discusses the philosophy behind the principles, and delves into actually implementing XP in a programming team. I found the book to be a quick read, and I'm sure if you're about to start working with an XP team (in either a developer or a customer role), it would be a good place to start familiarizing yourself with the theory and practice of Extreme Programming.
The first third of the book lays out the principles and the theory behind Extreme Programming, and reflects on how the realities of current software development don't match up with classic development methodology that well anymore (if they ever did). By the end of this section, if you've been involved with any sort of structured software development, you'll be nodding your head in agreement and/or cringing from the painful memories of past failed projects.
The middle third of the book starts out with a high-level overview of the mechanics of the XP process, and then quickly gets into the nitty-gritty of carrying out the distinct steps: The Planning Game, small releases, pair programming, collective ownership, refactoring, testing, and all the rest. Even if you don't go for full-bore XP practices, there should be something in this section that will make you re-think some of your practices.
The final third of the book deals with practical considerations of implementing the XP methodology for software development, including when you shouldn't try to use XP. This section, with recountings of commonly encountered problems, and descriptions of the different roles often filled by XP programmers, will be the most valuable for someone trying to actually turn theory into practice.
Overall, I found the book to be a quick, interesting read, and it was fun to consider how some things at my workplace would happen differently if some XP practices were to be adopted.
Profound and Cohesive - Review written on March 25, 2004
Rating: 5 out of 5
1 customer found this review helpful, 5 did not.
Kent Beck has pulled together many simple software development values and principles into a profound and cohesive book (and methodology). It is so simple yet I do see this as a real challenge for some IT departments to accept and utilize...but it's how software should be developed any more...or at least this should be the initial approach (keep it simple). He explains so well how, why and when it can and can't work.
I really enjoyed the short and consice chapters. It's extremely easy to follow.
Concise yet thorough explanation of XP - Review written on December 27, 2003
Rating: 5 out of 5
2 customers found this review helpful, 1 did not.
If you are considering Extreme Programming, you should read this text.
The book is divided into 3 sections -- 1) The problem , 2) the solution, and 3) the implementation. The problem covers the 4 basic values of Extreme programming
1. Communication
2. Simplicity
3. Feedback
4. Courage
And it also covers the basic practices that support these values -- namely incremental delivery, unit testing, collective ownership, and paired programming.
The solution goes into more detail on the strategies behind the practices. Section 3 imnplementing XP covers roles for people, and strategies to make an XP implementation successful.
If you are familiar with other agile approaches like Scrum, most of the material will be familiar to you. Unlike some other agile approaches, this is a full lifecycle approach and the author covers project management, design, programming, and testing.
Extreme programming advocates decentralized decision making, but there is a good section on the role of the manager or coach.
Some of the practices depart from conventional SW Development wisdom. For example, there is a good explanation of how the cost of a change may not rise drastically over time.
The text covers metric collection and discusses velocity -- ratio between estimated development time and calendar time. However, I wish there was more time spent on ways to communicate these metrics to the team and management.
Overall, great introductory to Extreme Programming and a good reference.
Embrace Change!!!! - Review written on October 24, 2003
Rating: 5 out of 5
6 customers found this review helpful, 3 did not.
Kent presents controversial concepts into software design with some very interesting ideas that I wish I could observe to see if in practice XP would work. When I am reading the text I am thinking this is very idealistic and not realistic. It is not to say that a good group of people could chose to use such a system, however it is my opinion their are specific number of individuals in a development team who tend to be intellectual snobs, selfish knowledge hogs, selfish code hogs, ruler dominators of the project, or those whose knowledge is outdated that they resist change for the sake of job security. If XP were enforced these type of people would be blown away in the design team environment. XP is a collective effort where talents of the individual work for the greater good of the project, not for glory of the individual so that they look good and get raises or promotions or derive power. A concept foreign to most intellectual snobs who see the whole design but refuse to share information in order maintain control and power over the project. Therefore, for XP to work, one has put the project above his or her own ego.
XP also demands the obliteration of office politics and the institutions that harbor power. Kent describes managers as guides not as enforcers, because no one likes to be told what to do. Being told what to do is counter productive. I agree! XP diffuses and replaces power with functionality and the byproduct is productivity. However again for this to work ego has to go and the project is place above the individual.
I can see why those who love institutions, structure, those who love power, office politics, bureaucracy and build their careers on concrete absolutes would hate and denounce Extreme Programming. Extreme Programming short circuits the long time tested built pillars of "so-called best practices". Why would these PHD's, experts and long time die hards put their careers at stake? It would be like a hard core evolutionist, embracing creationism in forum of instituionalized evolutionists. The answer is because change means that they are no longer viable, if they do not change. Change will wreck everything! So, its better to stay in the horse and buggy age as long as it puts money in my pockets and puts food on my table. If there is ever a threat to interupt the institution which I support then all that oppose my security must be denounced.
I agree with Kent Beck, let's "EMBRACE CHANGE"
Very enlightened and enlightening - Review written on August 16, 2003
Rating: 5 out of 5
4 customers found this review helpful.
I'm about halfway through this book and it is a joy to read. It is so beautiful in its wisdom and simplicity. Extreme programming seems to make a lot of sense as long as your mates are
a) Marginal competent,
b) Don't think of pair programming as a struggle for dominance,
c) Can accept criticism without throwing a fit that would embarrass a toddler.
Regrettably, none of these traits can be attributed to the pair I currently work with, so this book has inspired me to look for a new job. But I know I won't find myself in the same position since this book has showed me the red flags to look for while interviewing.
Hackers! Salvation is nigh!! - Review written on August 11, 2003
Rating: 1 out of 5
7 customers found this review helpful, 25 did not.
It's interesting to see the phenomenon of Extreme Programming happening in the dawn of the 21st century. I suppose historians can explain such a reaction as a truly conservative movement. Of course, serious software engineering practice is hard. Heck, documentation is a pain in the neck. And what programmer wouldn't love to have divine inspiration just before starting to write the latest web application and so enlightened by the Almighty, write the whole thing in one go, as if by magic? No design, no documentation, you and me as a pair, and the customer too. Sounds like a hacker's dream with "Imagine" as the soundtrack (sorry, John).
The Software Engineering struggle is over 50 years old and it's only logical to expect some resistance, from time to time. In the XP case, the resistance comes in one of its worst forms: evangelism. A fundamentalist cult, with very little substance, no proof of any kind, but then again if you don't have faith you won't be granted the gift of the mystic revelation. It's Gnosticism for Geeks.
Take it with a pinch of salt.. well, maybe a sack of salt. If you can see through the B.S. that sells millions of dollars in books, consultancy fees, lectures, etc, you will recognise some common-sense ideas that are better explained, explored and detailed elsewhere.
Interesting and informative reading - Review written on July 29, 2003
Rating: 5 out of 5
1 customer found this review helpful, 1 did not.
The concept of extreme programming (XP) is new and interesting, though its probably not used in a lot of large software organizations, who tend to be bent on SDLC (for reasons that would become obvious when you read the text). It talks about design principles when building software that isn't considered critical (e.g. real-time applications) and when programmer count is less than 10. Has interesting principles on peer programming, testing, requirements gathering and refactoring. It kinda takes the approach of do what you have to do now, and worry about adding more functionality later, if necessary. Some of its philosophies can be adopted into the design principles you're currently using, but the author states that if you dont follow it all, then your not fully practicing XP.
A good read, adds to your insight of the design processes out there. Its good to have an idea of different design processes so you can pick one that suitably applies to what you're currently working on. I applied it in a team of about 10 programmers on a school project, and when programming with a partner on a project, using XP was actually fun.
Programming Malpractice Explained: Justifying Chaos - Review written on February 10, 2003
Rating: 2 out of 5
172 customers found this review helpful, 89 did not.
To fairly review this book, one must distinguish between the methodology it presents and the actual presentation. As to the presentation, the author attempts to win the reader over with emotional persuasion and pep talk rather than with facts and hard evidence. Stories of childhood and comradeship don't classify as convincing facts to me. A single case study-the C3 project-is often referred to, but with no specific information (do note that the project was cancelled by the client after staying in development for far too long).
As to the method itself, it basically boils down to four core practices:
1. Always have a customer available on site.
2. Unit test before you code.
3. Program in pairs.
4. Forfeit detailed design in favor of incremental, daily releases and refactoring.
If you do the above, and you have excellent staff on your hands, then the book promises that you'll reap the benefits of faster development, less overtime, and happier customers. Of course, the book fails to point out that if your staff is all highly qualified people, then the project is likely to succeed no matter what methodology you use. I'm sure that anyone who has worked in the software industry for sometime has noticed the sad state that most computer professionals are in nowadays.
However, assuming that you have all the topnotch developers that you desire, the outlined methodology is almost impossible to apply in real world scenarios. Having a customer always available on site would mean that the customer in question is probably a small, expendable fish in his organization and is unlikely to have any useful knowledge of its business practices. Unit testing code before it is written means that one would have to have a mental picture of what one is going to write before writing it, which is difficult without upfront design. And maintaining such tests as the code changes would be a nightmare. Programming in pairs all the time would assume that your topnotch developers are also sociable creatures, which is rarely the case, and even if they were, no one would be able to justify the practice in terms of productivity. I won't discuss why I think that abandoning upfront design is a bad practice; the whole idea is too ridiculous to debate.
Both book and methodology will attract fledgling developers with its promise of hacking as an acceptable software practice and a development universe revolving around the programmer. It's a cult, not a methodology, were the followers shall find salvation and 40-hour working weeks. Experience is a great teacher, but only a fool would learn from it alone. Listen to what the opponents have to say before embracing change, and don't forget to take the proverbial grain of salt.
Two stars out of five for the presentation for being courageous and attempting to defy the standard practices of the industry. Two stars for the methodology itself, because it underlines several common sense practices that are very useful once practiced without the extremity.
Slim volume is a good primer on a lightweight methodology - Review written on December 09, 2002
Rating: 4 out of 5
4 customers found this review helpful, 1 did not.
Caveat: I have never worked in an XP shop, that is, a software shop that puts into place all the principles of XP. However, many shops I've worked in have put one or more principles described in Kent Beck's book into effect, and in those cases, those processes made a remarkable difference in the ability to deliver products on time and under budget. This thin book is a great place to get some great common sense -- e.g., that it's futile to assume that if you just spend enough time in "design phase" that the software project will go better. Very practically, every successful project I've worked on has had architects that coded, has had continuous integration and testing, lots of developer communication and cooperation, and strove always to maintain short development cycles with lots of customer feedback.
Beck's book is direct, straightforward and undogmatic. It's also lighweight and concise itself, a considerable virtue in this field. I recommend it.
radical views on software development, food for thought - Review written on October 20, 2002
Rating: 3 out of 5
6 customers found this review helpful, 2 did not.
Now this is a controversial book that has caused a lot of heated debate among developers. It starts out innocently enough, by stating the goals of XP which most everyone will agree on: correct, flexible software that adapts well to change in requirements and user-feedback, short development times and happy programmers and customers. It then goes on to explain how the techniques of XP try to help archive these goals. The practices include widely accepted ones, like a rigorous testing process, coding standards and continuous integration. But it also breaks quite radically with common programming wisdom by requiring things like an on-site customer, refactoring as a major component instead of a complete up-front design, pair programming (two developers sharing one keyboard and one screen) and collective code ownership (every one on the team is responsible for the whole codebase and allowed to modify every line of it). It is this mix of proven techniques taken to the extreme and new approaches presented in the book that Beck claims creates a special synergy which leads to a more successful and less strenuous software development process. The author puts forward very convincing arguments for why and how these synergetic effects occur and presents his personal experience using XP on one team as supporting anecdotal evidence. The book is written in an easily readable style and contains lots of sometimes funny anecdotes and quotes. And although it obviously is about the author's pet idea I didn't find it preaching, but rather refreshingly enthusiastic and energetic.
Unfortunately I have to admit that I haven't yet personally experienced all XP techniques in practice, main reasons being that it's very hard to convince management of it's merits ("What?! Two programmers on one keyboard?! No way!") and to get all team members willing to try something new. Maybe if they'd all read this book it would be easier...
In the unlikely event that the ideas don't intrigue you, you still have to buy this book to know what all the hype and controversy is about.
XP - Highly recommended reading for developers - Review written on September 10, 2002
Rating: 4 out of 5
1 customer found this review helpful, 1 did not.
According to Ken Back, Extreme Programming (XP) is a discipline of software development that is based on 12 practices. Most of the programmers out there have exercised some of these (if not all) XP practices for a long time, so these may not be new stuff to them and in software development, in general. However, using them as a guideline for a project is what makes a programmer an eXtreme Programmer. The book is very easy and fast to read. Take a look at it, you might improve your existing and learn some new programming skills. I would say, one of the strongest points in this book is testing. Testing is something I would, most of the time, like to pass on others or leave as a final step in the development face. Ken suggests to write the test first, and test your code at all times - think about it. Another valid point would be simple design. A program written with XP is the simplest program that meets the requirements. Other practices include: planning process, small releases, metaphor, refactoring, pair programming, collective ownership, integration, 40-hour week, on-site customer and coding standards. Enjoy!