Jason,

My concerns with the integration process are efficiency and learning. When I
am notified of a build breakage after the fact, I have to interrupt my
current task, take a while to remember what I was working on, and then take
a while to get back to my task. That seems inefficient to me. It's worth ten
minutes of waiting to avoid eleven minutes of task switching (YMMV). When I
find a problem right away, not only do I fix it faster but I have a better
chance of learning not to make that kind of problem in the future.

I don't see this as "manual" integration. I find the Eclipse three-way
synchronization to be very efficient in the normal case where there are no
conflicts and very helpful when there are conflicts.

I very much like your point about failures at later stages turning into
tests/steps in earlier stages. Ideally I'd like to avoid staging altogether,
but while learning to make this safe the adaptive strategy you suggest seems
both efficient and effective.

Kent Beck
Three Rivers Institute

-----Original Message-----
From: Jason Yip [mailto:[EMAIL PROTECTED] 
Sent: Thursday, December 30, 2004 9:45 AM
To: [EMAIL PROTECTED]
Subject: [XP] Asynchronous versus synchronous continuous integration



I'm curious about the stated preference by Ron on the list and Kent in
the 2nd edition for synchronous manual continuous integration.  It
seems decidedly "old school" to me.  I'll assume that Ron and Kent
know what they're doing so I'd like to understand what the rationale
is here.

So, the scenario is 10 programmers (i.e., 5 pairs), co-located, etc.

My default position is still asynchronous continuous integration.

What are the concerns?

One thing I noticed that the suggested time between commits is quite a
bit higher that I would do normally.  The 2nd edition seems to suggest
a couple hours at most.  I prefer an average of about 20 minutes,
definitely less than an hour.

I also have an assumption about staging the "safety nets", if you
will.  Immediate group of unit tests for the current feature should
run in at most 2 seconds, pre-commit (aka Private Sandbox) build
should be < 5 minutes (ideally less than two), post-commit full build
falls into the Ten Minute Build (at most) practice.  There may be more
staging depending on how complicated the deployment environment is.

Every time there is a failure, we learn to add something to the
previous faster-running stage.



To Post a message, send it to:   [EMAIL PROTECTED]

To Unsubscribe, send a blank message to: [EMAIL PROTECTED]

ad-free courtesy of objectmentor.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to