Update on the XP experience...
Category Software Development
Alex and I have now been pair programming for nearly three full days now, and we both feel it's been a success. It seems to be a more intense programming expereience, as there's less tendancy to take the two or three minute break to head off and check a web site or email. You're pushing each other and there's a real focus on the task at hand.
We've evolved into a routine where Alex does a lot of the "driving" since he's got more experience in Java/portlet development than I do. I'm trying to force myself to pitch in more in coding, keeping in mind that it's not as fluid for me as it is for Alex. What's really great is to have two sets of eyes looking for things that appear strange. For instance, we ran some unit tests yesterday and one of them seemed to take significantly longer than the rest. I spotted that since I was concentrating more on overall direction and was less focused on specific lines of code. That led to a 45 minute experience trying to nail down what was taking all the time, and determining whether this was going to be a problem on the server. We found that 1) it ran much faster on the server due to not having to use the wireless network to communicate with other servers, and 2) a design change allowed us to mitigate a lot of overhead if the full data object was not needed. And speaking of testing...
The automated unit testing using JUnit is incredible. There were two times yesterday (one of them being what happened in the prior paragraph) when we had to make significant changes to all the modules for a design modification. We were able to make them with no fear of breaking things as we already had the unit tests defined. We just kept running the tests and making fixes until the tests ran clean. This is probably our biggest joy with XP. There's no reason to live with bad code because you don't want to "break" anything. You make your changes and run the test. If the tests pass, then your code works. Of course, you have to make sure your tests cover everything, but you get the idea...
Richard Schwartz is looking at the XP process within Domino to see what can be incorporated for testing Domino apps. I'll be responding (hopefully with some intelligence) over there on that item...
I'll have more observations as we continue to move forward. But so far, it's all positive...
Alex and I have now been pair programming for nearly three full days now, and we both feel it's been a success. It seems to be a more intense programming expereience, as there's less tendancy to take the two or three minute break to head off and check a web site or email. You're pushing each other and there's a real focus on the task at hand.
We've evolved into a routine where Alex does a lot of the "driving" since he's got more experience in Java/portlet development than I do. I'm trying to force myself to pitch in more in coding, keeping in mind that it's not as fluid for me as it is for Alex. What's really great is to have two sets of eyes looking for things that appear strange. For instance, we ran some unit tests yesterday and one of them seemed to take significantly longer than the rest. I spotted that since I was concentrating more on overall direction and was less focused on specific lines of code. That led to a 45 minute experience trying to nail down what was taking all the time, and determining whether this was going to be a problem on the server. We found that 1) it ran much faster on the server due to not having to use the wireless network to communicate with other servers, and 2) a design change allowed us to mitigate a lot of overhead if the full data object was not needed. And speaking of testing...
The automated unit testing using JUnit is incredible. There were two times yesterday (one of them being what happened in the prior paragraph) when we had to make significant changes to all the modules for a design modification. We were able to make them with no fear of breaking things as we already had the unit tests defined. We just kept running the tests and making fixes until the tests ran clean. This is probably our biggest joy with XP. There's no reason to live with bad code because you don't want to "break" anything. You make your changes and run the test. If the tests pass, then your code works. Of course, you have to make sure your tests cover everything, but you get the idea...
Richard Schwartz is looking at the XP process within Domino to see what can be incorporated for testing Domino apps. I'll be responding (hopefully with some intelligence) over there on that item...
I'll have more observations as we continue to move forward. But so far, it's all positive...



Comments
Posted by Jens-Christian Fischer At 10:00:32 On 25/07/2003 | - Website - |
Posted by At 16:52:22 On 18/12/2004 | - Website - |
Posted by At 03:13:53 On 10/10/2005 | - Website - |
Posted by jonvon At 20:25:38 On 24/07/2003 | - Website - |