This is a thought I just had. It may or may not have any merit. Also, it is probably not well communicated. I would appreciate help developing this thought.
ExtremeProgramming is the result of applying BusinessProcessReengineering (as defined by HammerAndChampy? as described in Reengineering the Corporation : A Manifesto for Business Revolution, ISBN 088730687X ) to the SoftwareEngineeringProcess?. My rationale outlined:
-- HankRoark
Sweet, and very helpful, as we're preparing a report to management on the occasion of our upcoming Distributed Computing article. BPR is a hot buzzword here at Walter's place. Thanks! --RonJeffries
I would say that XP is an example of Hammer's BPR thinking applied to programming or software development. Minimizing the process, embracing change, etc., opens the possibility for XP procedures. BPR is much broader in scope (and less specific in detail) than XP. --AlistairCockburn
What is BusinessProcessReengineering?
I am not sure the example in item 3 accurately describes the change. By focusing on UserStories instead of the methods that make them up (see also EngineeringTask), all you are saying is that you have upped the granularity of the task.
ExtremeProgramming does, however, focus on the process (tasks involved) in writing code, investigating what activites are useful in that process, when they should occur, etc.
I've only just started the book, so am as yet uneducated. XP is about eliminating what is not necessary, and doing what is necessary only as it is really needed. Seems to be consistent with what I know of BPR. --RonJeffries
If one size fits all, or one process fits all, or XP fits all, there is no need for BPR or process re-engineering. Lets not jump to conclusions -- that made BPR go wrong in so many places; you don't want many examples where XP goes wrong. -- Martine Devos
Wise words, Martine, and words we strive to follow. We're sure XP can work in environments near where we've tried it. Outside some reasonable range, it's not yet tested. And we do not want a bunch of failed projects calling themselves XP. Thanks! --RonJeffries
Does this mean that XP projects cannot fail? I mean, if some project started earnestly as an XP effort but failed, are XPers going to automatically say, "They weren't doing XP! XP cannot fail if done correctly."? I raise this having lived through other past wars waged by zealots for a particular process who used just such logic, to the ultimate discrediting of the process. So far the proponents of XP have shown wise restraint. I hope it continues so XP doesn't become similarly tainted. --DonOlson
On the other hand, even if XP doesn't work outside Chrysler, it is a notable success in some ways. For example, I'm teaching a course on Java in the spring (and again, in the summer). And UnitTests have made it onto the syllabus, as has constant refactoring.I wouldn't have put them on it, and been actively thinking about how to write slides / explain the ideas, if I hadn't run across the XP pages. I think the course will be better, and the students will be better programmers, due to this.
While I don't particularly like the fervor of the XP pronouncements, it is nonetheless the case that the XP advocacy here has been quite interesting. Both from a "hey I do that too" perspective (ala the original reason i liked the GOF book so much) and from a "hey, there's something concrete on the table to think about" perspective.
Thanks to the XP people for sharing some interesting thoughts.
Fervor? FERVOR??? William, you oughta see me when I get going! ;-> --RonJeffries, dialing down the fervor dial.
The title of this page begs the question: IsExtremeProgrammingaProcess?
XP seems to be a lot of things. When I read TheMythicalManMonth last year, all sorts of XP-like stuff jumped out. --IanRae