Umlchina held the 16th expert communication on March 11. The focus of this exchange is the object technology, development process, agile method. As an Agile's beginner, I have also participated in this pleasant and unforgettable discussion, very happy to be with the author of "Marstering Enterprise Javabeans" SCOTT W. Ambler Mr. Scott W. Ambler is in a chat room. The following is some of what I mention, and Mr. Scott's wonderful answer. I hope that everyone can get some valuable things. Section and sorting from chat records, i represents me, S represents Mr. Scott, complete chat records can be found here http://www.umlchina.com/chat/AMbler.htm. It seems a bit like an interview :)
Note: AM - Agile Modeling XP - EXTreme Programming Refactoring - Code Reconstruction
[I] with agile method, is there, except java? [S] i don't do a lot of c Work Any More, SO I Don't know, SO I Don't know, SO I don't know, SO I don't know, SO I don't know, HOWEVER, I HAVE HEARD ABOUT C Projects On The XP Mailing List on Yahoo Groups.
[I] Thank you, And I Think, As a Methodology, AM Is Language Independ, Do you think so? [S] yes, i think "you can use it for java projects, cobol projects, or c # projects. It's also independent of modeling language, such as UML, as well. It's one of the few modeling methods that does not specify the exact artifacts, such as use cases or data models, that you are supposed to create. It's a lot like XP - XP does not say that you have to use Java AM strives to address the issues of how to be effective at modeling and documentation, problems that many developers struggle with UML, on the other hand, strives to address the.. Issue of what notation and semantics surplent software. Each Technique IS Trying to Address Different But Complementary Issues.
[I] It's said that refactoring is more efficient in java application, what do you think about it? [S] Most refactorings are currently focused on OO code, such as Java and C . However, the technique itself could be applied to non- Oo Languages. Some Work Is Being Done Regarding Data Refactorings But It's Pretty Tough To Do Them. [I] There Area Also A Lot of Work to Do Very Mature, IS That NOT? [S] a Lot of People Are Using It Very SuccessFully. I think Refactoring is a pretty solid technique.
[I] I'm very interested in refactoring, but there are few books addressing about it, how do I start to learn? [S] There's Martin Fowler's book and his web site. The XP community also talks about it a fair bit. Refactoring will be a major topic, as far as I know, at the upcoming XP 2002 in Italy in May. I suspect it will also be a major topic at the XP / Agile Universe convention in Chicago in August. As paper get published from those Efforts I Suspect We'll See More and More Information About Refactoring. Just Takes Time. There Area for Java. Worth Looking Into.................................................................................................................
[I] I thisk refactoring, As Well AS AM, IS STILL NOT SO WELL KNOWN IN CHINA. I have not yet seen the Chinese edition of mr. Fowler's book. [S] i don't know if it's been translated yet. Sounds Like an Opportunity for Someone if it hasn't.
[I] Is there any book which addressing agile, I guess not. [S] There are several books addressing Agile development, look at www.agilemodeling.com/resources.htm for some of them. The AM book starts shipping in North America IN 2 WKS
[I] What Program Language IS Your Favourite? What About C , That's My Favorite! [S] i buy to work IN C , it's pretty good, and c before what. I've Even worked in cobol and fortran. [I] I Have Read "Effective C " (Scott Meyers). I think it's very intersting, and learn a lot from it! [S] Effective C and the Follow-Up Book Were Both Amazing.
[I] I have learned something about design patterns, how do you think about it? [S] Patterns are important. AM includes a practice called "Apply Patterns Gently". The basic idea is that you do not want to apply a pattern the instant you think you need it. Instead, wait until you are sure. For example, you might have a formula to implement. you could apply the strategy pattern right away, but the strategy pattern is applicable to several formulas. Instead, wait until you actually have a second formula to implement, and then consider refactoring your code to make it easy to implement Strategy if it makes sense later on. Then when the third formula needs to be implemented refactor your work some more, and when the fourth formala is required then you should seriously consider implementing Strategy because now that is the simplest way to do it. If you had implemented Strategy right away and then only needed to implement the one formula, you would have done a lot of extra work for nothing. The Nature Of AM? AM IS A STRANGE Thing, It's A Different Way To Look At Modeling. I Think It's Nature Is To Keep Things Simple and To Focus On What Is Actually Required, To Not Get Ahead of YourSelf.
[I] I Think it's practice, is that right? [S] my hope is what people will find am to beofful to their development efforts. I have found it to be very useful on the projects that I work on and my clients seem to be picking up on it too. Time will tell. I'm trying to keep it as practical as possible. Many of the academics seem threatened by it, so that might be a good sign that it's practical. [I] and I think AM is more suitable for small developping team with frequent changes, is it right? [S] AM works very well in high-communication environments, and that tends to be smaller teams. If your requirements don 'T Change Frequently, Then Am's Itemive and Incremental Nature Likey Isn't Needed by your team.
[I] So, I Think am Is Very Suitable in China! I'm Very Interesting About Am and with ITS Applying In Real World! [S] the best way to find one IS to try am on your next project.
[I] Thank you! [S] my pleasure.
(Finish)