wood burning stoves*
The moose likes Agile and Other Processes and the fly likes Distributed XP-like teams Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Distributed XP-like teams" Watch "Distributed XP-like teams" New topic
Author

Distributed XP-like teams

Kishore Dandu
Ranch Hand

Joined: Jul 10, 2001
Posts: 1934
[ Another topic altogether, which was co-opted. ]
[ April 28, 2004: Message edited by: Ernest Friedman-Hill ]

Kishore
SCJP, blog
Warren Dew
blacksmith
Ranch Hand

Joined: Mar 04, 2004
Posts: 1332
    
    2
Some day I'm going to start a thread on distributed teams, but maybe this isn't the right week.
[ April 28, 2004: Message edited by: Ernest Friedman-Hill ]
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24183
    
  34

Originally posted by Warren Dew:

Some day I'm going to start a thread on distributed teams, but maybe this isn't the right week.

No time like the present; there's obviously more traffic here than normal so why not?
I'm a member of a distributed team (east and west coasts of the US) that's been aspiring to do XP for three years now. We use the phone, we use VNC, and we use tons of email. Instead of index cards, we use a directory full of little text files under CVS. We consider what we're doing to be a huge success, although it's not 100% XP.


[Jess in Action][AskingGoodQuestions]
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Ernest Friedman-Hill:
Instead of index cards, we use a directory full of little text files under CVS.

That's interesting! Did you ever consider using something like XPlanner or a wiki?


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24183
    
  34

This project actually started before XPlanner existed. We did look at XPlanner briefly when it came out, but IMO it strays rather far from the simplicity that makes index cards so nice, and more importantly, being server-based it can't be used offline. A wiki has the same problem. Because we're distributed, we have to be able to keep working when the Internet goes wonky. Having things checked out into CVS means I have a local copy to tide me over until the connection comes back up.
I should say that besides the text files, there are a few scripts that operate on them. The story files all have five lines like this at the top:

Select multiple side sets
Estimate: 2d
Programmer: ejfried
Story author: Nick
Date entered: 05/22/2003

Following this is a description of the story. People can (and do) add notes to these files, and sometimes they get very long.
We have a script "toc" which does a table of contents, listing the file name, estimate, and story title of each file. We have one "about" which greps for given keywords and gives the same kind of listing as "toc". We have a "bugs" which does the same kind of listing but only for files named NNN.bug (NNN is always a number. Regular stories are NNN.txt). We have an "iteration" script which reads a list of numbers in the file "iteration.stories" and generates, again, the same kind of display, but only for the stories in this iteration, plus a running total of story points left to go (completed stories get moved into a "done" directory, so this script can tell which stories are completed.) We've got "newbug", "newstory", and "newtask", which create a little file with the given template, check it into CVS, and open it in an editor. Finally, there are "storydone" and "bugdone" scripts that move the files into the done directory and do the appropriate CVS commands.
There's actually one more script called "storylame" which "rips up" a card and just deletes it from CVS.
All of this stuff was written as the need came up on a TSTTCPW basis. I think it's a really great system!
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Ernest Friedman-Hill:
We did look at XPlanner briefly when it came out, but IMO it strays rather far from the simplicity that makes index cards so nice

Ah, yes, I agree. We are currently using XPlanner, though we are not distributed, and I feel similarly.
All of this stuff was written as the need came up on a TSTTCPW basis. I think it's a really great system!

Sounds cool! Would make a good article on xprogramming.com...
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
That's a very interesting setup, Ernest. Thanks for letting us "in"


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Warren Dew
blacksmith
Ranch Hand

Joined: Mar 04, 2004
Posts: 1332
    
    2
Originally posted by Ernest Friedman-Hill:
No time like the present; there's obviously more traffic here than normal so why not?

'cause I missed this thread for two days because it was swamped by the "more traffic"? And now you and I both have to buy the book if we want it?
Seriously, though, it's still an interesting topic. Do you have any cognate to pairing? This strikes me as the most problematic part of XP for distributed projects. On one project I was on, we required code reviews before check in, but I'm not sure how good a substitute it was.
I also wonder if an approach that emphasizes more heterogeneous personnel might be more successful with a distributed project. In my current project, the DBA being separate from the programmers seems to work fine. The programmers have similar job descriptions, and I feel the remoteness here limits code reuse to less than would be efficient; I feel like splitting up the jobs by layers rather than by portions of the project might work better, though it would require more work on the project manager's part.
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Originally posted by Warren Dew:
Seriously, though, it's still an interesting topic. Do you have any cognate to pairing? This strikes me as the most problematic part of XP for distributed projects. On one project I was on, we required code reviews before check in, but I'm not sure how good a substitute it was.

Separate code reviews can be a good substitute for pairing as long as the code reviews maintain discipline and don't become a "yeahthislooksfinetomenowletmedomyjob" routine.
I would first try pairing over VNC before going for the explicit code reviews, though. I've heard of many teams that were satisfied with the VNC remote pairing solution (satisfied enough to keep doing it, obviously they would've preferred physical proximity).
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24183
    
  34

Originally posted by Warren Dew:

Seriously, though, it's still an interesting topic. Do you have any cognate to pairing? This strikes me as the most problematic part of XP for distributed projects. On one project I was on, we required code reviews before check in, but I'm not sure how good a substitute it was.

We do some pairing via VNC + telephone, and it's actually not bad. You have to do it right -- we use TightVNC and make sure the cross-country link uses compression and reduced JPEG quality -- but done right, it's fine.
It's a small project, bouncing from 2-4 programmers over its lifetime. Me and another guy are the "core" team, and we've brought other people in from time to time. When we bring new people in, we pair with them to help bring them up to speed, but truthfully, the "core" guys often program alone.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Distributed XP-like teams