Search the web
Sign In
New User? Sign Up
extremeprogramming · Extreme Programming
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Show off your group to the world. Share a photo of your group with us.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Re: [XP] Can XP be done on your own   Message List  
Reply | Forward Message #38001 of 152272 |
RE: [XP] Can XP be done on your own

Hi,

One of my current projects is a development I'm doing at home, almost by
myself. I do have a customer (which is why this is 'almost' by myself), but
he's a thousand KMs away, in Auckland. I do know the problem domain quite
well though (Internet Payment Systems).

I have sat down with my customer, and created stories. This has helped with
a few things, but primarily with scheduling. Our expectations of
functionality were very similar to start with (as I say, I know the domain),
so the stories exist just for planning. I don't need the conversations about
requirements, because of my prior experience, so I don't need the customer
onsite for that. I do need feedback though, so I regularly (at least once a
day), send up the stuff I'm working on, and let him have a good look at it.

I'm still writing tests up front, but sometimes I forget, and let it slip.
For example, because of a refactoring to remove duplication I created a
utility class and created a class method (java):

boolean between(int subject, int lowerBounds, int upperBounds)

It's so simple that I didn't bother writing the test first. I didn't run the
tests either, because it's such a simple change. I then performed another
refactoring, and boom, a large portion of tests failed. I, naturally,
assumed that it was my latest refactoring that had caused the problems, and
wasted half-an-hour looking for it. Of course, I'd written the simple
between method, and created a bug. A test would have found it immediately
(I'd transposed the comparisons with the upper and lower bounds).

If I'd been pairing I never would have written the utility class without the
tests first, and I wouldn't have made the coding mistake (or if I had it
wouldn't have even got as far as compilation).

So, working alone lowers my productivity, and raises the potential for
defects.

I'm still testing, and refactoring. I'm still using stories, iterations (1
story per iteration, as it happens), constant integration (this is
automatic, as there is 'only' my code). I even have a metaphor, it's quite
poor, for the bit I'm working on now, it's a WWII carrier pigeon with a
ciphered message (I'm currently working on the financial comms bit).
Simplicity has carried me far, and I'm paying special attention to YAGNI, as
I know that I have a tendency to assume the opposite when working by myself.
My work is top down, thus allowing me to drive from a needs context.

Working alone affects my ability to refactor. I have now got a fairly large
code-base that I've put together in a relatively short time. It's beginning
to confuse me.

I'm about half way through an infrastructure spike. I'm doing enough only to
a. prove the viability of the comms (upon which the system is based), and b.
perform a single simple transaction, with no exceptions. I currently have 40
classes (10 GUI, used as a driver, and will form the basis of Customer
Tests, with no unit test). With these classes I have 30 unit test classes,
running nearly 150 tests and around 200 assertions.

In a week this should have doubled. Refactoring this lot by myself is
difficult. Tool support is very poor for java. I did have a trial version of
jFactor, but I wasn't impressed. It only offers a handful of refactorings. I
use JBuilder 5, and if I had time I'd write something myself, but I haven't
and so I can't.

Of course, I'm working through it. I can do it. It's just frustrating, when
I know how much faster, and how much easier this would all be with just one
other person. I feel like I've been cut in half, like my brain is numb
(maybe it is:).

So, working by myself I find it literally impossible to do XP, because I
can't pair, and therefore, by definition, this isn't XP. Pairing adds so
much to a project. I didn't realise how much it adds, until I had to do
without it, on this real, complex, project.

I don't thing that there can be an adequate substitute for a good developer
to pair with, offering reminders about your current goals whenever you get
sidetracked, taking over when you pass the 1-hour concentration point,
remembering the things you've forgotten (even the short term memory stuff).

I'm doing the rest of the XP stuff, but this isn't XP, not by a long shot.

So, can XP be done on your own? No, it can't, but you can create an agile
process of your own, utilising many of the practices of XP. I personally
have never experienced a better way of developing software on my own
(despite my frustrations), but it isn't as good as developing in pairs.

See ya,

Bryan





The difference between me and the other surrealists is that I'm a
surrealist.
- Dali

b r y a n d o l l e r y | c e o
c h a o s e n g i n e e r s
+64 (0)21 330607

http://www.ChaosEngineers.co.nz


[Non-text portions of this message have been removed]




Sat Nov 10, 2001 10:32 am

bryan_dollery
Offline Offline
Send Email Send Email

Forward
Message #38001 of 152272 |
Expand Messages Author Sort by Date

... I was thinking HAL would be more like it....
Steve Howell
showell30
Offline Send Email
Nov 9, 2001
4:35 pm

Hi, One of my current projects is a development I'm doing at home, almost by myself. I do have a customer (which is why this is 'almost' by myself), but he's a...
Bryan Dollery
bryan_dollery
Offline Send Email
Nov 10, 2001
10:37 am

As a consultant, I'm used to work alone most of the time (not that I like it). I already adopted The Simplest Thing That Could Possibly Work, Merciless...
Paolo Perrotta
paoloperrotta
Offline Send Email
Nov 9, 2001
5:21 pm

There isn't enough Ron to go around. Which tools (other than JUnit) are you refering to? I have to say, we've never had the luxury of having a coach (of course...
Donald F. McLean
dmclean@...
Send Email
Nov 9, 2001
5:25 pm

... We were thinking that we would set it as our sound for incoming mail in our common work area. That ought to suffice. When could we expect that? Joe ...
Gee, Joe
josephwgee
Offline Send Email
Nov 9, 2001
6:50 pm

... I would add it to my Ant scripts on completion of appropriate targets. Mike...
Mike Clark
clarkware
Offline Send Email
Nov 9, 2001
7:01 pm

Its open source... -H...
Hugo Garcia
xmlwiki
Offline Send Email
Nov 9, 2001
7:39 pm

... No problem. Recall that in open source, packaging and service are often charged for. See Red Hat, for example ... -R ... Ron Jeffries www.XProgramming.com ...
Ron Jeffries
ronjeffries@...
Send Email
Nov 9, 2001
7:44 pm

Well the usual CVS, bug tracking, a wiki, mail list... although for XP we would have to provide other stuff like jabber, a free version of NetMeeting, etc. ...
Hugo Garcia
xmlwiki
Offline Send Email
Nov 9, 2001
7:43 pm

But here the stress is on the development just like RedHat is based on Linus Torvalds work then the coaches would help on the projects. Developers and coaches...
Hugo Garcia
xmlwiki
Offline Send Email
Nov 9, 2001
7:50 pm

And Ron pays for his groceries how?...
Steve Ropa
steveropa
Offline Send Email
Nov 9, 2001
7:52 pm

... Um... If you read the philosophy of free software documents by the FSF, you'd see that the model they are stressing is not a "product" economy (developers...
Buddha Buck
buddhabuck
Online Now Send Email
Nov 9, 2001
8:02 pm

with his regular job... just like I do. -H...
Hugo Garcia
xmlwiki
Offline Send Email
Nov 9, 2001
8:01 pm

that's my point. My understanding is that coaching XP _is_ his regular job...
Steve Ropa
steveropa
Offline Send Email
Nov 9, 2001
8:08 pm

... Speaking of which, I'd like to ask for more information on this from Ron, or anyone who's had experience providing XP coaching services or XP-related...
Laurent Bossavit
morendil@...
Send Email
Nov 12, 2001
12:11 am

... I think that selling services and development time to corporations is OK and maybe something like http://www.asynchrony.com/ or http://www.collabnet.com/...
Hugo Garcia
xmlwiki
Offline Send Email
Nov 9, 2001
8:15 pm

... Certainly could do. Chet and I do it as a form of public entertainment. ;-> Ron Jeffries www.XProgramming.com Bang, bang, Jeffries' silver hammer came down...
Ron Jeffries
ronjeffries@...
Send Email
Nov 9, 2001
8:25 pm

Ron Have you ever done virtual pair programming? What tool have you used? I currently am using VNC and a phone. -H...
Hugo Garcia
xmlwiki
Offline Send Email
Nov 9, 2001
8:27 pm

... I have not. Ron Jeffries www.XProgramming.com Bang, bang, Jeffries' silver hammer came down upon their heads ......
Ron Jeffries
ronjeffries@...
Send Email
Nov 9, 2001
9:01 pm
 First  |  |  Next > Last 
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help