I thought of XP''''''Envy, but that didn't have quite the positive flavor. Being JustAbody, I can only smuggle XP in tiny increments onto projects. I've had success sneaking in PairProgramming when I've mentored COBOL programmers being railroaded into Java; I'm always refactoring; I try to use UnitTest''''''s in the proper spirit whenever possible - and only recently got into JUnit (if I had known who created it, I would have been there sooner). I still have problems giving up on the whole UML design thing - the index cards seem so Luddite! But I have to admit I love the spirit and the humane philosophical ambience most - I read MartinFowler on Refactoring, which led me to KentBeck explaining XP, and I was hooked. And it's been a real pleasure to find this Wiki. -- TomRossen ---- I've been doing partial XP for a couple of years. The best steps towards XP have been: * get '''TestInfected'''. Write the test first. Legacy code can be very hard to retrofit for unit testing, but all new code should be unit tested. * '''ReleaseOften'''. Every two or three weeks (even if its just to QA): with installation and some sort of user docs (even just a word file). * Value the code. XP's best message has been to bring the focus back onto good source code. Everything builds from there. -- IanRae So what does good source code depend on? ---- Re TestInfected - I have a low-grade infection. Still trying to figure out how to test before coding if I can't compile the test because it refers to classes that don't exist yet..... -- tr ''That's the first test. Then write just enough of the class to make the test compile. Then run the test. Then write a little more of the test to cause it to fail. Then run the test. Then write just enough of the class to make the test pass. Then run the test....''