PDA

View Full Version : Extreme Programming


amanoffewwords
15th Aug 2004, 18:16
In the middle of an assignment for the Open University, discussing the merits of Extreme Programming (http://www.extremeprogramming.org) .

Just wondering if any programmers on the board are actually part of such an implementation process. Is it wide-spread or is the OU behing the times, again?

Don't expect a flood of responses, just curious.

Charles

Evo
15th Aug 2004, 18:53
We don't use XP per se, but we use elements of it, especially in design and test. It's mostly common sense, as most good ideas are, but it's very effective IMHO, especially the attitude towards unit-test. However, we don't do the most famous - or infamous - aspect of XP, peer programming. We use a two-step process where one person writes the code, and a second 'buddy-checks' it, and that seems to work perfectly well. I'm not really sure that peer programming would.

Happy to discuss further by PM

drauk
15th Aug 2004, 23:17
In my experience it is not wide-spread, but you (or rather the OU) is not behind the times. Some forward looking software development companies do use it.

We've done some peer programming (two people, one keyboard) and it does offer advantages. We've found it can be good for solving particularly thorny problems, like implementing complex subsystems or fixing obscure time/thread related bugs. But for routine stuff it can definitely be overkill. A great programmer is much more productive than an average one and if you put two great programmers on your average task you'll have at least one really bored programmer on your hands.

amanoffewwords
16th Aug 2004, 07:21
Thanks Guys, useful background info, the comments about peer programming particularly useful - have included in my assignment but not sure if I should quote pprune :eek: .

OU still talks affectionately about Smalltalk - which is why there is a common perception among my fellow students that they sometimes take time to catch up (although I can see the benefit of talking about for background info).

Now... on to function point analysis :zzz:

Cheers
Charles

DistantRumble
16th Aug 2004, 11:08
IMHO one programmer normally outpowers the other by a large factor in the buddy thing.

Good for mentoring but not for doubling output.

Evo
16th Aug 2004, 11:57
The idea of the "two heads" approach (peer programming or buddy checking) isn't to double output, it's to improve the quality of code released to test and subsequently to customers.

There's a statistic that as you move from development to functional test to system test to the field that the cost of fixing each bug increases by a factor of ten each time - i.e. every code defect you catch in development/unit test saves you a factor of a thousand in costs compared to fixing the same defect in the field. The XP idea is that using two programmers to do the job of one saves you a lot of money in the long run - however, as drauk says, peer programming has other human problems, which is why we find code/check works better in practice.

Dop
16th Aug 2004, 14:11
Extreme programming?
Is that dirtboarding down a cliff while writing code?

Anything like Extreme Ironing (http://www.extremeironing.com/)?

Do you include comments such as:-

// increment pointer - TO THE MAX!!!