Hi folks, Few weeks ago, I read an article about XP in a German magazin. It did sound interesting, now the question: 1. Do I have to understand and be well-versed in UML in order to understand and benefit from XP? 2. Are there tutorial/introductory sites on the web? 3. What is "refactoring"? Thnx
Thanks for your interest. Let me address your questions in the order inwhich you asked them. 1) XP does not require UML, in fact during the 30 odd months we did XP at C3, I never drew a UML diagram. And I don't believe anyone else did. In fact, when Martin visited, he didn't draw any. If the members of your team (and I mean every one of them) are well versed in UML, then it could be possible that UML improve some facets of your communication. If, on the other hand you have team members who are not UML pros (maybe, your customers) you will be better off using a medium that is understood by all. I recommend plain language and CRC. CRC adds some formality to your design discussions, while having a very low learning curve. 2)Start at www.xprogramming.com,http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap, and http://www.extremeprogramming.org 3)Refactoring is application of a set of highly disciplined steps for improving the design of existing code while not altering its external behavior. For more information on refactoring, check out www.refactoring.com Hope that helps chet ------------------ author of: Extreme Programming Installed(The XP Series)
author of:<BR><A HREF="http://www.amazon.com/exec/obidos/ASIN/0201708426/electricporkchop" TARGET=_blank rel="nofollow">Extreme Programming Installed(The XP Series)</A>
I'll try to add another view on UML and XP. If people actually used UML in the way advocated by so may of the UML "gurus" (only show the really necessary information, treat the drawings as an expendable communication tool rather than a permanent record etc.) then UML could be useful for XP. Unfortunately, every UML drawing I have ever seen outside of a book has been overcomplicated and afforded some sort of mystical status as "The Design". Some have needed half-an-hour's worth of taping pages together just to be able to read it all. This kind of prejudging of the design and overdocumentation are just the kind of things which XP tries to get rid of, so often the UML is chucked out as well. Sometimes I have worked with teams where a common frame of reference for impromptu diagrams would have been useful, but the UML leaning curve has always seemed steeper than just throwing something together which does the job now.
I have used OMT and UML diagrams on projects in the past with great success. We usually generated them through what you might call the architecture and high-level design phases of a project (never longer than 2 to 4 weeks). After that they were used as a reference in case something came up that someone had a question on but the code was the repository of the current design. We tried to keep our diagrams pretty simple and straight-forward. Show inheritance hierarchies or group of classes the work together on single sheets. Break out any necessary details on separate pages. We tried to do it so you could start with the package relationships and then drill down. We also weren't trying to do code generation from the diagrams which really adds to the complexity and detail needed to get something worthwhile. As far as XP and UML - sure, if you can do it reasonably quickly. XP doesn't emphasize documentation other than the code itself but if it helps you communicate better then use it. XP desn't mean you get rid of analysis and design. You just do it differently than in standard approaches. There is an extreme analysis group out on egroups that might have some info on this, too. John
The only reason for time is so that everything doesn't happen all at once.
- Buckaroo Banzai
1 )UML & XP. I think that it is not at all necessary to have knowledge of UML when you are using XP. as Chet has already pointed out that they have implemented C3 Project without using UML at all. It is always advantageous to know UML , if the team members are well versed with it , the more speedy communication can facilitated.
XP proposes four values : communication , simplicity , feedback & courage. MR. Kent Beck says them as " A DOUBLE HANDFUL PRINCIPLES " the most valuable things as per Mr. Kent Beck are that the xp team should be in a position to keep on producing the value for the customer that is TEST & CODE. They should not carry much baggage" . Documentation of UML if it is getting bigger then it is defeating the purpose of XP. the baggage is becoming heavy. that is not required. CRC will be definitley helpful as Chet has mentioned as it involves low learning curve. 2 ) Chet has mention some sites. I will add one more , Uncle Bob's site ( Robert Martin's Site ) " www.objectmentor.com ". there is interesting introductory article on XP is written in Cutter's maghazine , by Jim Higsmith that can give you good starting point. Last but not the least , Mr. Kent Beck's Epic Book on this " XP Explained " 3 ) Refactoring . Mr. Martin Fowler himself is participating here. He can explained more in detail than anybody as he is the final word on this. You cam read mr. fowler's " REfactoring " Book , which is one of the best books on Refactoring. I hope this will be useful. SHAILESH.
Ever since I found this suit I've felt strange new needs. And a tiny ad:
create, convert, edit or print DOC and DOCX in Java