I have noticed on other pages that some things I consider part of ExtremeProgramming have been removed. I know of 3 things. ExtremeProgrammingCodeReviews are one. Wearing one of two hats instead of OnlyWearOneOfFourHats. I had also heard a rumour that at CommitmentSchedule meetings each iteration is no longer assigned a theme. I would be very interested in hearing the C3 people saying more about what other practices have been dropped from XP.--DonWells
Extreme teams try to be Optimizing in the sense of the CMM. There's surely a core of practices that are sine qua non. I'd expect to see lots of localized sayings, artifacts, and practices on any active XP project. Tell us about yours. Please include your project name, id, or OOP. --RonJeffries
Upon asking around: the only example of ExtremeProgrammingCodeReviews that C3 recalls is the time Kent refactored the Job / Line hierarchies live, as a demo of how to refactor more than review. We think we should have backed those changes out, as the refactoring wasn't entirely successful.
Correct as usual Ron. I remember what it was now. Fortunately for VcapsProject (VCAPS) the technique that Kent never taught us works quite well here.
C3 suspects the four-hats thing was a private communication btw you and Kent (or did you elaborate it from two to four?). No one here remembers anything but two and he's been describing it as two for ages in any case.
Yes, KentBeck told me and my pair partner personally about that when we were having a dificult time. Perhaps he broke it down further to make it easier for me. --DonWells VcapsProject
C3 found that later iterations get less thematic (maybe even the first ones were) and haven't been doing it. We haven't missed it - do they help you?
VCAPS finds them useful in that they keep the EngineeringTask list from exploding. Not all stories need to be related, just most. We have not launched yet as C3 has.
C3 is continually adding, deleting, and changing. We tried signing up pairs instead of single individuals. Went away from that, and are considering trying it again. The issues are: single signup makes it hard sometimes to get a partner. Dual signup may dilute feeling of responsibility (or, some argue, may enhance it).
VcapsProject has not grown to where we are allowed to sign up. Pairs are assigned by a manager. It should be noted that she usually knows what people are fired up to work on anyway.
C3 stopped doing LiteratePrograms because no one read them.
That's why Python went the RightWay? with DocTests -- they serve as both documentation and unit tests. Who can argue against unit-tests?
VCAPS has tried an InstanceDiagram and found it useful. It is useful to see your entire system on OnePieceOfPaper.
It would be very interesting to me personally to try to put C3 on OnePieceOfPaper in VCAPS extended UML.--DonWells
C3 added the rule that you can never refuse to help someone.
C3 added the saying that if an individual fails, the team fails.
C3 added the rule that Overtime is Bad. (Definition of overtime: being at the office when you don't want to be.)
I remember Kent telling us this at the begining, perhaps the definition has changed. VCAPS has this rule for the XP portion.
C3 has modified the testing process prior to push to GemStone.
VCAPS took the route of developing directly into the GemStone environment. We had some problems at first but it works now. See ContinuousIntegrationGemStoneStyle
C3 added the rule, NoNewspapers?.
I have never seen a newpaper at VCAPS. How do you apply RolledUpNewspaper with out them? We here use BrickToTheHead?. And since we have no designated TheCoach anyone can hit anyone with a BrickToTheHead?. We have tried hard to be honest in our comunication and avoid subtlty or tip toeing around to avoid hurting someone's feelings. We have created for ourselves an environment of mutual respect (as opposed to what was originally here) so that you can tell someone out right "thier baby is ugly". We have also added a new ExtremeRoles that of TeamComedian? to help keep the project fun even when you just got a BrickToTheHead?. Remember: We are professionals don't try this at home.
C3 enhanced the standup meeting, where applicable, to have the individual point to the items on the board s/he is working on. This was in response to a sprouting of "volunteer" efforts that weren't on the customer's list.
VCAPS has yet to learn this lesson, but I can see that it is very important though you leave it till last.
VCAPS has part of the team working in an XP way and part working in a JangIt way. As a result we have a vocabulary of our own documented on the JangIt page. People think we are kidding, we are not, we actually use these words.
Some other local customs are on the bottom of the VcapsProject page. One important one for us is running both UnitTests and AcceptanceTests at 100% at the SingleReleasePoint.
The most important local saying to us here at VCAPS is: "If it isn't fun you're doing something wrong."
One issue that could arise (as in any paradigm) is CodingFatigue?. When the language just doesn't conform to your need to express, the language itself may need refactored towards a higher KolmogorovQuotient.