Extreme Programming XP
-
Hi All, I was reading about it today but I would like to know your opinions about it. http://www.extremeprogramming.org/[^]
-
Hi All, I was reading about it today but I would like to know your opinions about it. http://www.extremeprogramming.org/[^]
If you are a conbsultant, and want to be hired to "save projects that are stuck" - would you offer a soft, gentle, well-proven solution, or do you think something extreme will get you the job? OTOH even in that extreme implementation of Agile Programming (see my article if you like) you will find many concepts that have merit. XP emphasiszes knowledge sharing which might be important in the correct environment. However, I don't think that complete knowledge distribution is well suited for all shops. XP promotes an "Agile" design (start simple, build as you go along), but I don't think all of it's methods and assumptions are *that* great. I do believe in an agile design simply because most projects today can't be completely defined at the very beginning. I don't believe in "no code gets checked in when not working in pairs", but understanding/debugging/refactoring complex code sections can well be done together. (Implementing new stuff, or adding a feature should rarely require two persons, except to teach one: Working in pairs is about sharing knowledge and managing complexity. If it's the new code that is so complex, go back to design. If it's the integration with the old code that is so complex, refactor first) User Stories, while IMO not the heart of a good design, are a good interface between techies and "the rest". Simplicity can't save your ass but it can make your life easier. While XP puts too much emphasis on unit tests, they are a valuable tool for code that has a) a well defined, small interface and b) expects frequent changes. Unit tests, however, can help when designing interfaces: an interface that is impossible to test completely with an automated test is likely error prone to work with.
Flirt harder, I'm a Coder
mlog || Agile Programming | doxygen -
Hi All, I was reading about it today but I would like to know your opinions about it. http://www.extremeprogramming.org/[^]
XP took several great ideas and turned them into a dogma. I suggest reading through it and adopting those ideas that make sense for your organization and project. (Even XP specifies this: http://www.extremeprogramming.org/rules/fixit.html[^]) (At my last company, a fellow developer and I really pushed to adopt XP, but that was because the XP conference that year was in Italy.) EDIT: The Pair programming part of XP is extremely counterproductive in my experience. I've yet to work with genuinely qualified engineers where pair programming would work except in isolated specific circumstances. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
-
Hi All, I was reading about it today but I would like to know your opinions about it. http://www.extremeprogramming.org/[^]
XP is a marketing joke. Their flagship project was canceled after it took four years longer than it should have and was grossly over budget. It was only able to pay a small subset of people it should have been able to pay. The only reason they where close to paying over 80,000 people is because they where not paying the people with all the special payroll options. XP is basically a rehash of well known ideals repackaged into something that is a fragile method of developing. Anybody who says XP is good because of things such as "unit testing" should read a history book on programming and realize that XP brings very little new to programming. XP didn't invent most of what they talk about even though they love to let you think that while you are handing them $50 for the latest tome of trash. Never has so much hype been made from so little substance. (Well, if you exclude Java) If I had more time, I would tell you how I really feel. Tim Smith I'm going to patent thought. I have yet to see any prior art.
-
Hi All, I was reading about it today but I would like to know your opinions about it. http://www.extremeprogramming.org/[^]
We use XP where I consult right now. There are some good things and bad things about it IMHO. Overall though, I would recommend it as overall I've seen a lot more projects ship (instead of going forever and getting cancelled) while using XP principles than back in the old ways. Things I really like about XP. Stories, these are a godsend if you've ever worked for a company where they kept piling on useless requirements because some manager or another wanted it. Having to have a story that you know a customer needs keeps a lot of the crap out. pair programming: one of the more controversial aspects really does have merit. When you pair program and the other person is really dialed in, then things do indeed go much faster. You get two good programmers putting their heads together to create something then they both end up knowing the code and the final product comes out better. Pairs checkins: we don't usually follow that part. Unit Tests: these will save you butt on huge projects like you wouldn't believe. If you unit test the crap out of your functions then if someone breaks something, you know in that build. We've been putting out versions of a massive program and I'm stunned at how few bugs end up getting to the customer. I never really believed in unit tests before I got into XP but now I see huge benefits of them. those are just a few of the things off the top of my head.
-
We use XP where I consult right now. There are some good things and bad things about it IMHO. Overall though, I would recommend it as overall I've seen a lot more projects ship (instead of going forever and getting cancelled) while using XP principles than back in the old ways. Things I really like about XP. Stories, these are a godsend if you've ever worked for a company where they kept piling on useless requirements because some manager or another wanted it. Having to have a story that you know a customer needs keeps a lot of the crap out. pair programming: one of the more controversial aspects really does have merit. When you pair program and the other person is really dialed in, then things do indeed go much faster. You get two good programmers putting their heads together to create something then they both end up knowing the code and the final product comes out better. Pairs checkins: we don't usually follow that part. Unit Tests: these will save you butt on huge projects like you wouldn't believe. If you unit test the crap out of your functions then if someone breaks something, you know in that build. We've been putting out versions of a massive program and I'm stunned at how few bugs end up getting to the customer. I never really believed in unit tests before I got into XP but now I see huge benefits of them. those are just a few of the things off the top of my head.
-
XP took several great ideas and turned them into a dogma. I suggest reading through it and adopting those ideas that make sense for your organization and project. (Even XP specifies this: http://www.extremeprogramming.org/rules/fixit.html[^]) (At my last company, a fellow developer and I really pushed to adopt XP, but that was because the XP conference that year was in Italy.) EDIT: The Pair programming part of XP is extremely counterproductive in my experience. I've yet to work with genuinely qualified engineers where pair programming would work except in isolated specific circumstances. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
And the *truly* important question that I'd like answered: Did you get to go to Italy? ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned
-
XP is a marketing joke. Their flagship project was canceled after it took four years longer than it should have and was grossly over budget. It was only able to pay a small subset of people it should have been able to pay. The only reason they where close to paying over 80,000 people is because they where not paying the people with all the special payroll options. XP is basically a rehash of well known ideals repackaged into something that is a fragile method of developing. Anybody who says XP is good because of things such as "unit testing" should read a history book on programming and realize that XP brings very little new to programming. XP didn't invent most of what they talk about even though they love to let you think that while you are handing them $50 for the latest tome of trash. Never has so much hype been made from so little substance. (Well, if you exclude Java) If I had more time, I would tell you how I really feel. Tim Smith I'm going to patent thought. I have yet to see any prior art.
Never has so much hype been made from so little substance Add XML to that as well Oh and while you're at it, add XAML, and potentially Avalon. Ooh and the 2.6 linux kernel. And finaly, lest we forget, the heaping kludgefest that is X11 and networked window systems. Yeah, I'm feeling grumpy today. * * I just discovered today that my newfound joy at having cast away that infectious, pus ridden, scab of a program called Lotus Notes, was trampled on when I found that I couldn't get Outlook to mail certain groups that are defined in Notes, and I actually, reluctantly, had to close Outlook and go back into Notes!:mad: ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned
-
And the *truly* important question that I'd like answered: Did you get to go to Italy? ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned
Alas, no. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
-
Alas, no. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
Well then that settles it: XP Sucks! ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned