UMLChina第22期专家交流 实录 |
北京时间8月12日(星期一)上午10:00-12:00 嘉宾: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。 交流重点:XP、开发过程、UML... 网址:焦点网UMLChina小组聊天室(必须登录焦点网方可进入) |
petermerel进入聊天室.(09:42)
feng98进入聊天室.(09:44)
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进入聊天室.(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)
niusun进入聊天室.(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)
joy_wind进入聊天室.(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)
afangpeng进入聊天室.(10:03)
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)
founder_chen进入聊天室.(10:03)
extreme对petermerel说: say insert an record,(10:04)
afangpeng进入聊天室.(10:04)
petermerel对大家说: C2 is Ward Cunningham's finest and
simplest accomplishment. http://www.c2.com/cgi/wiki?FrontPage is a good place to
start.(10:04)
wangkangyuan进入聊天室.(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)
alanZu进入聊天室.(10:05)
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)
alanZu进入聊天室.(10:05)
myrontan进入聊天室.(10:06)
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)
12wywy进入聊天室.(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)
wangjue进入聊天室.(10:11)
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)
crazylk进入聊天室.(10:13)
vickyday进入聊天室.(10:13)
niusun对大家说: thank you(10:13)
petermerel对大家说: Otherwise you rely on onsite customers and
skilled developers to reduce the need for documents.(10:13)
noname365进入聊天室.(10:14)
before_sun进入聊天室.(10:14)
petermerel对大家说: I like some of RUP for larger
developments. It's useful for managing large hierarchies and partitioned
development groups.(10:14)
before_sun进入聊天室.(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)
founder_chen进入聊天室.(10:16)
petermerel对大家说: ... you need to be able to work with
hierarchies and timeframes larger than XP considers.(10:16)
noname365离开了聊天室.(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)
BirdGu进入聊天室.(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)
虫七进入聊天室.(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)
小胡进入聊天室.(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)
sulsul进入聊天室.(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)
myou进入聊天室.(10:35)
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)
initora进入聊天室.(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)
john.fang进入聊天室.(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)
zjuxxl进入聊天室.(10:41)
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)
myou进入聊天室.(10:42)
petermerel对大家说: ... what is constant in describing
problems.(10:42)
liyonghai@163.net进入聊天室.(10:43)
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进入聊天室.(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)
laney123进入聊天室.(10:46)
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)
xlover进入聊天室.(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)
lirox进入聊天室.(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)
miracle2000进入聊天室.(10:56)
soarhi进入聊天室.(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)
myou离开了聊天室.(11:00)
ashelly进入聊天室.(11:00)
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)
zhayh进入聊天室.(11:04)
水晶晶_yy离开了聊天室.(11:04)
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进入聊天室.(11:06)
BirdGu对petermerel说: Then what about customer? Is it less
important?(11:06)
niusun进入聊天室.(11:07)
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)
remind_me进入聊天室.(11:08)
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)
overflight进入聊天室.(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)
ashelly进入聊天室.(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)
richardluopeng进入聊天室.(11:12)
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)
laney123离开了聊天室.(11:13)
juson2000进入聊天室.(11:13)
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)
fimp进入聊天室.(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)
argpc进入聊天室.(11:21)
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)
czyl进入聊天室.(11:24)
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)
tier3进入聊天室.(11:25)
ozzzzzz进入聊天室.(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)
oldbigccq进入聊天室.(11:27)
oldbigccq进入聊天室.(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)
水晶晶_yy进入聊天室.(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)
kinghq进入聊天室.(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进入聊天室.(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)
hill99进入聊天室.(11:40)
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进入聊天室.(11:46)
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)
sun8492353进入聊天室.(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)
虫七进入聊天室.(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)
umlchina进入聊天室.(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)
zhuma_uml进入聊天室.(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进入聊天室.(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)
powerpeople进入聊天室.(12:01)
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)
sun8492353离开了聊天室.(12:03)
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)
cinc进入聊天室.(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)
chinaplate进入聊天室.(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)
hill99离开了聊天室.(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)
kinghq进入聊天室.(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)
wangkangyuan离开了聊天室.(12:17)
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)
extreme离开了聊天室.(12:21)
umlchina对大家说: 专家们完全是热心,绝无推销的动机(12:21)