UMLChina第22期专家交流 实录




嘉宾:Peter Merel。Peter Merel是构造企业级系统的专家,有20年以上的行业经验。曾经在GMAC, HP, AC Nielsen, Foxboro, Fujitsu, Telstra, Plessey的项目中担任领导。人民邮电出版社出版的《极限编程研究》(XP Examined)有他的文章“The Tao of Extreme Programming”(极限编程之道)。1998年Peter加入Ward Cunningham的Portland Pattern Repository,并把XP、RUP、MSF结合起来,提出了XUP



petermerel对大家说: Hello everyone. Sorry to be early - I want to test connectivity.(09:44)
umlchina对大家说: hello(09:45)
feng98对大家说: Hi, Good morning!(Beijing Time)(09:45)
umlchina对petermerel说: hello, professor(09:45)
feng98对大家说: Wh(09:45)
feng98对大家说: What's the topic for this morning?(09:46)
umlchina对大家说: 嘉宾:Peter Merel。Peter Merel是构造企业级系统的专家,有20年以上的行业经验。曾经在GMAC, HP, AC Nielsen, Foxboro, Fujitsu, Telstra, Plessey的项目中担任领导。人民邮电出版社出版的《极限编程研究》(XP Examined)有他的文章“The Tao of Extr(09:46)
petermerel对大家说: I should point out immediately that, at least in the West, I have no title of professor. I'm a working engineer, and most people just call me Peter.(09:49)
umlchina对大家说: 1998年Peter加入Ward Cunningham的Portland Pattern Repository,并把XP、RUP、MSF结合起来,提出了XUP。(09:50)
petermerel对大家说: But you can call me what you like :-)(09:50)
extreme对大家说: hi, guys.(09:51)
umlchina对petermerel说: hi, professor, I am Jiayu Pan, they will come at 10:00am, but can we start now?(09:51)
extreme对大家说: hi, Mr. Merel(09:52)
petermerel对大家说: Hi Jiayu Pan. Of course, we can start any time. I'll be available continuously through to 9pm my time, and maybe later depending on my wife's schedule ...(09:52)
extreme对大家说: I read you article "The Tao of Extreme Programming". Obviously you know a lot of Chinese culture.(09:52)
umlchina对大家说: 大家可以开始提问了(09:53)
petermerel对大家说: I know a little of Chinese culture. A long time ago I had an opportunity to participate in the Australian National University's sinology mailing list, and ...(09:54)
extreme对petermerel说: my question is about unit test:(09:54)
extreme对petermerel说: I agree that the philosophy of Xunit is very good, but sometimes I just find it is extremely difficult to design test cases, especially when the method is very complicate(09:54)
extreme对petermerel说: and does a lot of things therein. Say insert an record into a database table, how can we test it ? any suggestions ?(09:54)
petermerel对大家说: And learned something from the likes of Dan Lusthaus and Chad Hansen. But I've never visited China and speak no Chinese, so count myself largely misinformed.(09:55)
petermerel对大家说: For unit testing databases you usually need to spend some time working on an adequate and reproducible fixture.(09:55)
petermerel对大家说: It's important not to confuse such fixtures with acceptance testing, which may take dedicated personnel.(09:57)
extreme对petermerel说: the issue is how to make it automatic and cost-effective .(09:57)
petermerel对大家说: Create a small database using a schema you'll version along with your code and test sources. Copy that database as the setup to your test. Test on the copy. Then ...(09:59)
petermerel对大家说: Then dispose of it when you tear the test down. Your fixture can do the setup and teardown for you, so once this is in place, many database unit tests can be ...(10:00)
petermerel对大家说: Can be written with minimal cost. Apologies for the [...] - my browser's text entry field is limited.(10:00)
extreme对petermerel说: same as mine.(10:00)
extreme对petermerel说: thanks for your suggestions.(10:01)
petermerel对大家说: For OODBMSes and other non-RDBs you may also want to consider the use of proxy objects in your test.(10:01)
petermerel对大家说: You're very welcome. I think there's a page on the C2 wikiweb that might have more on this.(10:02)
extreme对petermerel说: do you think the cost is too high, for a small prouject, say less than 10 persons ?(10:02)
extreme对petermerel说: C2 wikiweb ?(10:02)
petermerel对大家说: To put together a database test fixture? I've done that when just working as a single pair. Copying small databases is a very cheap technique, I think.(10:03)
extreme对petermerel说: say insert an record,(10:04)
petermerel对大家说: C2 is Ward Cunningham's finest and simplest accomplishment. is a good place to start.(10:04)
extreme对petermerel说: what we usually do is to open the database, and see whether the record just inserted(10:04)
extreme对petermerel说: is what we supposed.(10:04)
extreme对petermerel说: it's simple. the issu is is cannot be reused.(10:05)
petermerel对大家说: Sounds like a nice simple test. You write the test first, of course.(10:05)
extreme对petermerel说: so if we want this process automatic, it seems that we have do some complex code.(10:06)
petermerel对大家说: If you copy the database in fixture setup, run the test, then delete the copied database in fixture teardown, that should be reusable.(10:06)
extreme对petermerel说: got it.(10:07)
extreme对petermerel说: so, you really do test just like this ?(10:08)
petermerel对大家说: Cool. So, I wonder how badly you folks feel I misinterpreted Lao and Confucius in "The Tao of XP". I feel a little vulnerable here :-)(10:08)
founder_chen对petermerel说: In your article XUP, what's MSF?(10:09)
founder_chen对petermerel说: In your article XUP, what's MSF?(10:09)
extreme对petermerel说: I also read your article XUP. it is great.(10:09)
petermerel对大家说: Extreme, sure. Write the test first, watch it fail, then write the code, watch the test succeed. Feels good, go on to the next task.(10:09)
extreme对petermerel说: one quetions about the DOCUMENTS.(10:09)
extreme对petermerel说: thanks.(10:10)
extreme对petermerel说: In RUP, we find there are too many documents. I am wondering what documents do you think are REALLY needed, say, for a java team with 10-30 persons ?(10:10)
petermerel对大家说: MSF is the "Microsoft Solutions Framework". It was very important to GMAC that their methodology work within an MSF context.(10:10)
niusun对大家说: I show my thought about the RUP and XP, and hope you to give me advice.(10:11)
petermerel对大家说: Documents are essential when you don't have knowledge about domain, toolset, architecture, or other contexts. Otherwise ...(10:12)
niusun对大家说: The first step of RUP is finding the architecture by the user's requirement.(10:12)
niusun对大家说: architecture is about the most important for user and more risk. For the business section, I think RUP is good.(10:12)
petermerel对大家说: Hi niusun, I'll do my best.(10:12)
niusun对大家说: for application layer, XP is good. RUP is for the mature the organizations of system. XP is for the premature of them.(10:12)
niusun对大家说: For the Bank,Telecom,and culture industry, the RUP is good; but for the new business, the XP is good.(10:12)
niusun对大家说: thank you(10:13)
petermerel对大家说: Otherwise you rely on onsite customers and skilled developers to reduce the need for documents.(10:13)
petermerel对大家说: I like some of RUP for larger developments. It's useful for managing large hierarchies and partitioned development groups.(10:14)
petermerel对大家说: I don't agree that XP is only for the premature. For me it's a question of size. A group of a dozen developers can do a lot with XP alone. Larger than that and you ...(10:15)
petermerel对大家说: ... you need to be able to work with hierarchies and timeframes larger than XP considers.(10:16)
niusun对大家说: The RUP guess the future, and XP do just now(10:17)
petermerel对大家说: I've used styles similar to XP in telecommunications at Telstra in Australia. But we had a fine manager to insulate our group from larger forces.(10:17)
extreme对petermerel说: a question about simplicity:(10:18)
niusun对大家说: For the premature part, the XP is good.(10:18)
extreme对petermerel说: to do the simplest thing that can possibliy work . What about architecture ?(10:18)
petermerel对大家说: Niusun, I think it comes back to Beck's driving metaphor. RUP does its best to aim your car at a far off city. But XP gives your customer a steering wheel.(10:19)
extreme对petermerel说: If you don’t spend enough time on the architecture, you wll spend much more time later. How do you like it ?(10:19)
petermerel对大家说: I've long billed myself as a software architect. Since XP that's beginning to sound like a dirty word in the West. But ...(10:19)
niusun对大家说: XP don't guess the future, if the future of the organization change rapidly(10:20)
petermerel对大家说: But XP assumes you will establish architecture in a spike before you begin iterative development. The question is, what is architecture to you?(10:20)
petermerel对大家说: Architecture can mean toolset. It can mean logical and topological relationships. It can mean network configuration ...(10:21)
extreme对petermerel说: to me, it is something critical, something if you don't do it now, you'll spend much more time later.(10:22)
extreme对petermerel说: yes, 'TOOLOGICAL RELATIONSHIPS".(10:22)
petermerel对大家说: XP tries to make the whole development team responsible for getting these things, and the SystemMetaphor, correct. And early in development too.(10:22)
extreme对petermerel说: the relationship between classes/interfaces and etc.(10:23)
petermerel对大家说: Switching architecture and metaphor later can be very expensive.(10:23)
extreme对petermerel说: so, we gotta think about it first, rather than let it envolve naturally by refactoring.(10:24)
petermerel对大家说: By topological I mean those things that won't change over the life of the development. Usually a UML diagram or two is a good way to document agreement on these.(10:24)
extreme对petermerel说: so, how can we do the work as simple as it can work.(10:24)
extreme对petermerel说: so, we should consider the UML class diagram first, then code.(10:25)
petermerel对大家说: Extreme, don't think much about it. Spike your alternatives, then when you're happy with the results of one, if you need to communicate them, diagram.(10:25)
BirdGu对虫七说: 你好。(10:25)
petermerel对大家说: Spike first, get agreement, then diagram. But keep your diagram small!(10:26)
虫七对BirdGu说: hehe.(10:26)
虫七对BirdGu说: 来晚了一些.(10:26)
BirdGu对虫七说: 我也刚来(10:26)
petermerel对大家说: Alternatively, you can use CRC carding. Beck, Jeffries, and Cunningham much prefer carding. I like it to, but find diagramming more natural.(10:27)
extreme对petermerel说: i cannot agree you more. I find diagram is more clear.(10:27)
petermerel对大家说: I think architectural context is about the only place diagrams are useful. Who needs to diagram a whole system? You want self-documenting source so that whole-system ...(10:28)
BirdGu对虫七说: 我常常只看文章,不看作者。所以我不知道他是谁(10:28)
petermerel对大家说: So that whole system diagrams are not desired.(10:28)
petermerel对大家说: BirdGu, I regret I speak only English.(10:29)
extreme对petermerel说: so you agree that we still need some considering about design before coding.(10:29)
niusun对大家说: for the premature system, which process is good? thank you(10:29)
BirdGu对大家说: If someone should maintain such a software, should he read all source code to get a whole picture of software w/o diagrams?(10:30)
extreme对petermerel说: does this violate the "SIMPLILICY" suggestion by XP , which means do the simplest thiing which can possibly work.(10:30)
extreme对petermerel说: the design will envolve from the code ?(10:30)
petermerel对大家说: I agree we need to consider architecture before coding. The things that will be invariant across iterations. But design - no, in XP that is done by refactoring.(10:30)
petermerel对大家说: BirdGu, someone who will maintain such a system should be given adequate context by architectural diagrams. Your system is merely a combination and parameterization ...(10:31)
petermerel对大家说: ... of these architectural elements. The architecture is alphabet and syntax. Once you know these, the source itself, if written to self-document, is all you need.(10:32)
extreme对petermerel说: hello(10:32)
petermerel对大家说: Extreme, the simplest thing is what you do in iterations. Before iterations start, you choose contexts within which simplicity can be distinguished.(10:33)
extreme对petermerel说: so, design and architecture is two abosolutely different concepts to you.(10:33)
extreme对petermerel说: got it.(10:34)
petermerel对大家说: Yes. Design happens by refactoring - you want the most harmonious use of architectural elements you can get. Refactoring takes the mess (but working mess) that ...(10:34)
petermerel对大家说: ... that results from the simplest thing, and makes the whole system the simplest system.(10:35)
extreme对petermerel说: thanks.(10:36)
extreme对petermerel说: one question about feedback:(10:36)
extreme对petermerel说: for a outsroucing porject team whose PM/customer is far away, where on-site customer is impossible, what is your suggestions to improve feedback or communication ?(10:36)
BirdGu对虫七说: 虫七,没收到过你的mail.(10:36)
niusun对umlchina说: can you explain "spike" and "metaphor(10:37)
petermerel对大家说: Extreme, I've faced that situation a couple of times, and don't believe there is any very good solution.(10:37)
petermerel对大家说: Best if your remote customer can delegate some local representative, who understands the domain and can check back with the remote customer on a regular basis.(10:38)
extreme对petermerel说: I think it is not possible for an outsourcing project team.(10:39)
petermerel对大家说: At HP I had three groups involved in what I was doing, the main two in Corvallis and San Diego. Despite a fairly expensive teleconferencing setup, we had to fall back ...(10:39)
petermerel对大家说: ... fall back on flying people back and forth every month.(10:39)
虫七对大家说: Petermerel, what do you do when you're thinking about software architecture?(10:39)
extreme对petermerel说: my case is that our PM and customers are both in US and we are in China.(10:40)
petermerel对大家说: What do I do? That is a damn good question. I try to think about intents, first. I try to nail down who wants what. Then ...(10:40)
petermerel对大家说: ... Then I try to get the representation of those intents in the simplest terms. Within that representation I try to form distinctions about ...(10:41)
petermerel对大家说: ... what is constant in describing problems.(10:42)
niusun对petermerel说: can you explain the meaning of "spike the alternative"(10:44)
petermerel对大家说: Extreme, that's tough - you have both corporate and national cultures to bridge. This creates great possibilities for confusion. Still I bet you're cost effective!(10:44)
extreme对petermerel说: thanks.(10:45)
BirdGu对petermerel说: What do you used to communicate with develop team and customer on problem domain and business concepts?(10:45)
extreme对petermerel说: i guess you mean "throw away prototype " by "spike alternative ", right ?(10:45)
petermerel对大家说: Niusun, a spike is a quick and dirty trial solution. It's intended to improve your knowledge rather than to form part of the deliverable. It's an exploration to make ...(10:45)
petermerel对大家说: ... to make certain you're able to make informed decisions.(10:45)
petermerel对大家说: BirdGu, my teams communicate by pairing, by standup meetings, by iteration meetings, and through source. Problem domain and business concepts are communicated by ...(10:47)
myou对petermerel说: Have U seen the Tao authored by LaoZi?(10:47)
petermerel对大家说: ... by carding and whiteboard sessions with onsite customer involving whichever developers are accountable for the story being developed.(10:48)
petermerel对大家说: Extreme, yes, it must be thrown away. It's almost never developed by a pair, and we define all non-pair code as throwaway.(10:48)
extreme对petermerel说: one question about paring:(10:49)
BirdGu对petermerel说: will these whiteboard session be recorded? If yes, in what form? UML or CRC?(10:49)
extreme对petermerel说: do you think we must adopt pair programming if we want to benefit from XP-style methodologies ?(10:49)
extreme对petermerel说: in China, is is difficult for the management to accept such kind of concepts.(10:50)
petermerel对大家说: BirdGu, whiteboard session are sometimes recorded if the customer is calling out specific definitions and parameters. More often they result in engineering tasks ...(10:51)
petermerel对大家说: ... which get folded into the commitment schedule.(10:51)
petermerel对大家说: For the recorded details we use a versioned wiki to organize things. It's versioned along with the source in CVS.(10:51)
petermerel对大家说: Extreme, I think pair programming is just good engineering practice no matter what methodology you use. Don't try to use it for tasks that are best contained in one ...(10:52)
虫七对大家说: Extreme, I don't think so. In China, the concepts is accepted by a lot of people. But I don't think it's a "MUST" method. :)(10:53)
petermerel对大家说: ... one skull, like when you're working on a really hard problem or inventing something new. Pairing is for when both partners have adequate context.(10:53)
extreme对虫七说: technical guys maybe can accpet it, but management, difficult.(10:54)
petermerel对大家说: It would be very hard to get away with as little documentation as XP does without pairing. I strongly advise against trying that. Work on pairing skills, and testing ...(10:54)
petermerel对大家说: ... testing skills, and then work up to XP practices. This is what I try to describe in "The Tao of XP".(10:54)
petermerel对大家说: As for management, they are a necessary evil. You can't get any XP practices going without management commitment to support you. Well, maybe for a while, but you'll ...(10:55)
petermerel对大家说: ... you'll get clobbered eventually. The way to sell it to management is to demonstrate it on a small scale, with just a pair or two doing it for just a week or two ...(10:56)
petermerel对大家说: ... then explain how you'll increase productivity and reduce risk by going further.(10:57)
petermerel对大家说: But for many managers, it's always going to be a threatening thing. After all, they have managers of their own they'll have to explain it too!(10:57)
petermerel对大家说: whoops, make that "explain it to."(10:57)
extreme对petermerel说: got it.(10:58)
extreme对petermerel说: one question about Project Manager:(10:58)
extreme对petermerel说: For a team with less than 30 persons, what do you think about the responsibility of the Project Manager ? What background for this position is a must ? Shoud a PM be an(10:58)
extreme对petermerel说: an technical expert in such kind of environment ?(10:58)
petermerel对大家说: A PM should have both technical and domain context, so they can resolve communication difficulties between customers and developers, I believe.(10:59)
petermerel对大家说: But it depends a lot on the structure of the organization. In "The Tao of XP" I didn't put too fine a point on this role, because distinguishing the coach role is ...(11:01)
extreme对petermerel说: yes, PM needs to know technologies. my question is for a small team, does he need to be the number 1 expert ?(11:01)
petermerel对大家说: ... is more important to me. You can get a lot done despite a poor manager, but a poor coach will sink you.(11:01)
petermerel对大家说: Extreme, no. But the coach must be able to be respected by a broad swathe of technical folks.(11:02)
extreme对petermerel说: coach here seems the number 1 expert here, a mentor ?(11:02)
extreme对petermerel说: so we have two critical role in a team: one PM, one coach ?(11:03)
petermerel对大家说: No one can be expert in everything. A coach must be fluent in many disciplines, and know how to make the best use of the expertise of his team.(11:03)
petermerel对大家说: Three in XP. Functional roles that is - you may have one person assume more than one of these. Tough, but can be done. The roles are ...(11:04)
虫七对大家说: (My name is the7thworm in English.) I'm still think about your answer about architecture designing...(11:04)
虫七对大家说: After you nail down the blueprint, do you think of the layer of the software architecutre?(11:05)
petermerel对大家说: ... coach, tracker, and manager. Manager represents the team to management. Coach focuses on technical and internal communication issues. Tracker makes certain the ...(11:05)
虫七对大家说: There are something shared by other modules, something special to a small scope. How do you organize them?(11:05)
petermerel对大家说: ... the other two know what time it is and where people are up to.(11:05)
petermerel对大家说: 7th worm, I'm not certain about your layers and blueprints. Can you distinguish them for me?(11:06)
BirdGu对petermerel说: Then what about customer? Is it less important?(11:06)
niusun对petermerel说: what is the XUP's definition,?(11:07)
petermerel对大家说: 7th worm, Architecture is shared across modules, tasks, and developers. It's what's doesn't change from iteration to iteration. Choice of database, language, network ...(11:07)
petermerel对大家说: ... configuration, source configuration management, source hierarchic structures ... the stuff that is the context for the rest.(11:08)
niusun对petermerel说: like the RUP is use-case driven, architecture-centre, iteration and increment(11:08)
petermerel对大家说: BirdGu, the customer is no less important. Onsite customer can be thought of as a functional role too - but it's very hard for someone to be a customer and fill a ...(11:09)
petermerel对大家说: ... a development role simultaneously.(11:09)
BirdGu对petermerel说: I see(11:10)
petermerel对大家说: Niusun, in XUP I tried to make a bridge between RUP and XP by mapping roles. It seems to have worked out okay for some folks, but I regard it as an experiment, to be ...(11:11)
petermerel对大家说: ... to be used at your own risk :-)(11:11)
petermerel对大家说: BirdGu, being an XP customer is a learned skill too, and customers require coaching almost as much as developers, I think.(11:12)
extreme对petermerel说: any pratical cases where XUP has been adoted ? any resources ?(11:12)
extreme对petermerel说: I notice that you added two role into the team "coach" and "tracker".(11:13)
petermerel对大家说: I have heard back from a few folks who tell me they've been trying to use XUP, and liked it. I've heard no bad reports. Some enterprise architects inside GMAC were ...(11:14)
extreme对petermerel说: GMAC ?(11:14)
petermerel对大家说: ... were using it to create proprietary standards when last I was there. And it's been used as input to what we're doing inside Omnigon. I don't recall exactly where ...(11:14)
petermerel对大家说: ... where else I've heard of it being used. Mostly I used it at GMAC as a way to frame XP within a context accessible to upper management.(11:15)
虫七对大家说: Petermerel, sorry, just a call phone. The "layer" I said should be the "source hierarchic structure". I am sorry for my poor English.(11:15)
extreme对petermerel说: upper management ? the need of communiation ?(11:16)
petermerel对大家说: GMAC is a division of general motors. I was working as coach and software architect inside their ...(11:16)
petermerel对大家说: ... residential finance division. About 3.5 years ago.(11:17)
petermerel对大家说: 7th worm, no worries.(11:17)
extreme对petermerel说: so do you think a single person can be both a PM and architect ? any need ? possile ?(11:18)
petermerel对大家说: Upper management = your management's management.(11:18)
petermerel对大家说: I think a person can be both. I try to distinguish between functional roles, which is to say the roles in your team, and organizational roles, which is to say job ...(11:19)
petermerel对大家说: ... job titles.(11:19)
petermerel对大家说: As for the need, that depends on circumstances. Sometimes there's only so much resource, or only so much expertise, and you must do what you can with the people you have.(11:20)
extreme对petermerel说: so, for small projects, it might works,for larger ones, difficlt.(11:21)
petermerel对大家说: So I was most flattered when UMLChina invited me to talk here. We have a phrase in Australia, "selling coals to Newcastle". Newcastle is a coal processing center. I ...(11:22)
petermerel对大家说: ... I thought talking about "The Tao of XP" here was indeed selling such coals. I'm most curious about how the article was translated and whether it came across as ...(11:23)
petermerel对大家说: ... as perverse or silly to you.(11:23)
petermerel对大家说: Extreme, yes, I think so. XP really needs someone who can focus on coordinating customers with developers, and who can take the larger reporting, budgeting, and ...(11:24)
petermerel对大家说: ... and resourcing burdens off the coach and developers. Especially in a larger organization, a manager is vital.(11:25)
虫七对大家说: Hehe. I read it. It's an interesting artical in my opinion. And I am suprising for your knowledge about the culture of China.(11:26)
extreme对umlchina说: i did not read the translated article yet, but I found the english version is not easy to be understood,(11:26)
extreme对umlchina说: as for technical guys like us, Tao is very complex and kind of far away.(11:27)
petermerel对大家说: Most of my knowledge is second hand. I worked twice with a wonderful Australian sinologist, Ian Dunn, who is also an excellent engineer, and travelled a lot in China.(11:27)
petermerel对大家说: Extreme, in the west, I think most engineers have some interest in making their understanding as broad as they can. We try to encourage diversity of perspective so ...(11:29)
petermerel对大家说: ... so that we don't get surprised by what we don't know we don't know. Or at least not avoidably surprised.(11:29)
extreme对umlchina说: that's right.(11:30)
extreme对umlchina说: so I went to church for servral times when I worked in NJ last year, wanting to know somethig the western culture.(11:30)
petermerel对大家说: The only translation of the article I was deeply involved in was the Japanese version. The translator corresponded with me for a couple of months, and the experience ...(11:31)
petermerel对大家说: ... was very enjoyable. I was surprised to hear that a Chinese version existed at all, and I'd love to talk with the translator and find out what challenges they ...(11:32)
petermerel对大家说: ... they faced. Perhaps one day.(11:32)
petermerel对大家说: Oldbigccq, probably the rational site is the best starting point. RUP is something I've done more to work around than to work with. It's in a tradition of heavy, ...(11:36)
niusun对petermerel说: what is the Methodology of the XUP?(11:36)
petermerel对大家说: ... controlling methodologies that focus on producing an illusion of control for management. When I can do without it, I do without it.(11:37)
cinc对大家说: hi, Peter, how can a programmer estimate his own programming progress, I think it is very important every programmer.(11:37)
niusun对petermerel说: can you introduce some tools?(11:37)
虫七对大家说: I have read an artical in which an Adaptive Method is introduced and compared with XP. The author said that XP can't be carry out when ...(11:38)
虫七对大家说: when the team is not in the same place.(11:38)
petermerel对大家说: 7th worm, I think many XP practices can be used with a distributed team. Especially test-first, YAGNI, refactoring, and even pairing to some extent. But to do the ...(11:38)
extreme对petermerel说: I got a kind of similiar question as cinc, do u have any suggestion on how to measure the work of a programmer ?(11:38)
petermerel对大家说: ... the whole thing, you really need to be in the same location. XP goes fast, and you need to be able to see people face to face to keep up.(11:39)
oldbigccq对大家说: agree(11:39)
虫七对大家说: Yes, I think so. Thanks.(11:39)
cinc对petermerel说: but when programming destributed, how can team apply pair programming?(11:39)
petermerel对大家说: Cinc, estimating in ideal days and tracking yourself is an excellent way to learn about project velocity, and good personal discipline. XP ...(11:41)
petermerel对大家说: ... XP, however, tries to track estimates across a whole team. There are so many variables between an estimate and a measurement, and so many interdependencies ...(11:42)
petermerel对大家说: ... between team members, we don't try to figure out individual load factors.(11:42)
petermerel对大家说: Niusun, what kind of tools?(11:42)
cinc对petermerel说: oh, I know that. thanks.(11:42)
niusun对petermerel说: help me use XUP(11:43)
oldbigccq对大家说: XUP = XP + RUP?(11:43)
petermerel对大家说: 7th worm, I agree that XP is almost impossible without the team all in the same place. At Omnigon we're careful to give each team its own space - and its own pairing ...(11:43)
petermerel对大家说: ... pairing area. Pairing gets loud!(11:43)
petermerel对大家说: Extreme, you measure it through the number of working unit tests completed, and the number of lines of code deleted.(11:44)
extreme对petermerel说: the number of lines of code DELETED ?(11:45)
BirdGu对petermerel说: Lines be DELETED to make code clean and simple, right?(11:46)
petermerel对大家说: Cinc, you can use net phones and shared electronic whiteboards/wikis. Use CVS to coordinate source, and develop an explicit etiquette about who is driving and whether ...(11:46)
petermerel对大家说: ... whether you're testing, coding, or refactoring.(11:46)
petermerel对大家说: Niusun, the best tools I know are 3x5 cards, whiteboards, and CVS. Oh, also we use a hex-shaped table.(11:47)
ozzzzzz对大家说: I want to know something about Refactoring(11:47)
niusun对petermerel说: when I design the architecture of system, I find it is diffcult to decide when I should stop. I(11:48)
petermerel对大家说: Extreme, BirdGu, yes, deleted. If you can delete lines of code, and all the tests still pass, you're doing work.(11:48)
niusun对petermerel说: can you give me some advice?(11:48)
虫七对大家说: I think I good method is not a key to every doors. Right? I can enjoy some useful thingings that the XP introduce. In acturally, we do so.(11:48)
cinc对petermerel说: hehe, wiki is a good tool, so is CVS, we use msn to communicate with each other. :)(11:48)
虫七对大家说: sorry. it should be "a" before "good".(11:48)
extreme对petermerel说: what if the code is kind of perfect and no code need to be deleted ?(11:49)
petermerel对大家说: Ozzzzzz, refactoring is about making the whole system easier to maintain. It's a post-coding design process.(11:49)
虫七对大家说: cinc, when your team working in the same place, why using MSN?(11:49)
petermerel对大家说: Niusun, you want to get architecture as tiny as possible. It's a single thread through the whole application that is like an example of an alphabet. When ...(11:50)
extreme对petermerel说: 虫七: as the technical guys is good at typing than speaking.(11:50)
extreme对petermerel说: just kidding.(11:50)
虫七对大家说: haha.(11:51)
cinc对虫七说: our team member is not in the same place, hehe.(11:51)
petermerel对大家说: ... When your team agrees that you have an adequate "alphabet", then they can start iterating. But you must be careful to get consensus first.(11:51)
虫七对大家说: to cinc. Really? It's a good experience.(11:51)
虫七对大家说: Ozzzzzz, you can got Martin Fowler's <Refactoring>(A book) from amazon.(11:51)
niusun对petermerel说: thank you,(11:51)
petermerel对大家说: 7th worm, sure, nothing is a panacea. In fact we have a saying here: "all panaceas become poison". In XP there is a rule, "they're only rules". But conventions ...(11:52)
petermerel对大家说: ... provide context, and context makes the work go faster.(11:52)
petermerel对大家说: MSN could be useful, sure. But I prefer free tools.(11:53)
extreme对虫七说: 虫七: don't you think it is kind of too expensieve, hehe ?(11:53)
extreme对petermerel说: i guess MSN Messenger is free.(11:53)
虫七对大家说: to extreme. haha. It does not take my cost.(11:54)
cinc对虫七说: how can we document the requirements in xp process, just use user story?(11:54)
petermerel对大家说: 7th worm, I think Fowler's books are good. His best point is that refactoring should happen in small steps. We say, "softly, softly".(11:54)
cinc对petermerel说: how can we document the requirements in xp process, just use user story?, sorry, it's to you. :)(11:55)
BirdGu对petermerel说: What advantage does User Story has, compared with UseCase?(11:55)
niusun对petermerel说: I think the most important things in software engineer is looking for the context and decides how to do the work and(11:56)
petermerel对大家说: Extreme MSN messenger is free to use. I like free software licenses a lot better. There are so many ways to IM ...(11:56)
niusun对petermerel说: when the artifact like the model and requirement is enough for others and system.(11:56)
petermerel对大家说: Requirements in XP are user stories which get decomposed into engineering tasks.(11:57)
niusun对petermerel说: and all the things depend on the experience(11:58)
cinc对petermerel说: but do you think user storys is not enough?(11:58)
petermerel对大家说: Ah, I'm getting told to wrap things up. If anyone would like to discuss any of this in more detail, please find me on the C2 wiki web.(11:58)
niusun对petermerel说: So, I find it is difficult to do, can you give me some advice?(11:59)
petermerel对大家说: Oh, I can?(11:59)
petermerel对大家说: I'm not tired. Let's go a little longer if that's all right with everyone.(12:00)
petermerel对大家说: So ... user stories and use cases:(12:00)
petermerel对大家说: A user story is an encapsulation of a scoped user intent. User stories have defined granularities of work. They have relative priorities too.(12:01)
petermerel对大家说: Let's go another 10 minutes or so and then wrap up.(12:02)
petermerel对大家说: Hmm. Seem to have lost a line here. What I was saying was that user stories specify user intent, not a use scenario ...(12:03)
petermerel对大家说: ... they also have defined work granularity (estimate in ideal days), quantitative parameters (how many, how much, how often, how fast ...), and ...(12:04)
petermerel对大家说: ... and relative priorities in the commitment schedule.(12:04)
BirdGu对petermerel说: What's the difference between 'intent' and 'scenario'?(12:04)
extreme对petermerel说: so we still need use case even if we got user stories.(12:05)
extreme对petermerel说: ?(12:05)
petermerel对大家说: A use case in XP is mainly done through role playing with CRC cards.(12:05)
cinc对大家说: cool.(12:05)
petermerel对大家说: BirdGu an intent is a need - it's what the user wants, not how the user interacts. A scenario is ...(12:05)
petermerel对大家说: ... is a description of how the user interacts with the system.(12:06)
umlchina对extreme说: 你有没有时间翻译此次交流的记录?(12:06)
BirdGu对petermerel说: Should such 'role playing with CRC cards' be recorded with document?(12:06)
extreme对petermerel说: 可以。不过看你什么时候需要?(12:07)
petermerel对大家说: You don't necessarily need to document a use case. My teams haven't done that in a long time. CRC role playing lets us get a concrete shared understanding without ...(12:07)
petermerel对大家说: ... spending hours making diagrams and hours more convincing our managers that we can throw them away :-)(12:07)
zhuma_uml对petermerel说: i am a fresh man. would you give me some advices?(12:08)
cinc对大家说: so you mean you need additional document such as UML diagrams?(12:08)
BirdGu对petermerel说: Can user stories be used to describe none-functional requirements? such as security, performance, etc.(12:08)
petermerel对大家说: BirdGu if the results include specific definitions and parameters that are agreed, sure.(12:08)
petermerel对大家说: Zhuma_uml, what did you have in mind?(12:08)
cinc对大家说: sorry need not additional documents such as UML diagrams.(12:08)
petermerel对大家说: Cinc, UML can be very handy, but I seldom trouble with UML use case diagrams. I prefer user story and engineering task cards.(12:09)
cinc对大家说: ok.(12:09)
petermerel对大家说: BirdGu non-functional requirements are attached to each user story. The XP planning game is about factoring and scheduling user stories so they have a wieldy granularity.(12:10)
zhuma_uml对petermerel说: i know software engineer, uml ,etc.But in chaos(12:10)
petermerel对大家说: Chaos?(12:10)
extreme对umlchina说: 我发的东西掉了。OK。全部吗?似乎需要一些编辑。(12:10)
cinc对大家说: maybe he means confused. :)(12:11)
petermerel对大家说: Okay folks, now my wife is telling me it's bed time. One last question, anyone?(12:11)
cinc对大家说: and can you tell which CRC card tool is Free for us to use?(12:11)
extreme对umlchina说: where do you live ?(12:11)
petermerel对大家说: Let' make Cinc's the last.(12:12)
zhuma_uml对petermerel说: some puzzled. too many notes(12:12)
petermerel对大家说: I live in San Diego. I grew up in Sydney.(12:12)
petermerel对大家说: Cinc, CRC cards are just paper. 3x5. You want to be able to rip them up, lay them out, give them to people, and generally play with them.(12:13)
petermerel对大家说: In CRC, you know people are understanding when they physically move the cards around. If they just sit and watch, they're not understanding.(12:13)
cinc对大家说: paper cards are not easy to store for a long time, you may lost them, is there any electornic tool that can use in computer? thanks.(12:14)
petermerel对大家说: The idea is that by role-playing a design, you get a dramatic presentation that everyone remembers. It works like watching a play - everyone agrees about what ...(12:14)
petermerel对大家说: ... what the plot was.(12:14)
petermerel对大家说: Cinc, you don't want to store them. They turn stale. For more on that, read "the tao of XP" :-)(12:15)
petermerel对大家说: Okay, bed time. Thank you all for a wonderful chat!(12:15)
cinc对大家说: hehe, thanks.(12:15)
extreme对umlchina说: nice talking with you, Mr. Merel.(12:15)
extreme对umlchina说: thank u.(12:15)
extreme对umlchina说: thank u all, especially umlchina.(12:15)
cinc对大家说: have a good dream.... :)(12:15)
petermerel对大家说: And you too.(12:16)
extreme对umlchina说: ok, i'll do it.(12:16)
umlchina对大家说: 谢谢大家参与(12:16)
umlchina对大家说: 8/30还有一位女专家(12:17)
oldbigccq对大家说: who?(12:17)
extreme对umlchina说: 已经注意到了。(12:17)
cinc对大家说: 呵呵,真是个好地方,该谢谢 umlchina 才是.(12:17)
ozzzzzz对大家说: 今天我来晚了 不知道他做了什么广告(12:18)
cinc对大家说: 哈哈,不一定所有的人都来做广告的啊.(12:19)
ozzzzzz对大家说: 不作广告就是白来:)(12:19)
oldbigccq对大家说: 做广告?(12:19)
zhuma_uml对大家说: 我是一个对软件工程感兴趣的新人,希望大家今后多多帮助,谢谢(12:20)
ozzzzzz对大家说: 就是推销他的东西(12:20)
cinc对umlchina说: 每次的聊天都会做记录吗,我来晚了,想看全部的聊天记录...(12:20)
oldbigccq对大家说: 好东西多推销也无妨啊(12:20)
ozzzzzz对cinc说: 你问的关于user story的事情很多人都在问(12:20)
umlchina对大家说: 聊天记录稍后在网站公布(12:21)
ozzzzzz对oldbigccq说: 哈哈 当然 至少我是在这里知道argoUML的(12:21)
cinc对ozzzzzz说: 那也不是广告啊,是免费的,呵呵(12:21)
extreme对umlchina说: 开工啦,各位再见。(12:21)
oldbigccq对ozzzzzz说: :)(12:21)
umlchina对大家说: 专家们完全是热心,绝无推销的动机(12:21)