• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Tim Cooke
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Knute Snortum
  • paul wheaton
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Ron McLeod
  • Piet Souris
  • Ganesh Patekar
Bartenders:
  • Tim Holloway
  • Carey Brown
  • salvin francis

UML & XP

 
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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)
 
Sheriff
Posts: 6920
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Rancher
Posts: 1449
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Ranch Hand
Posts: 1874
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
https://products.aspose.com/words/java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!