My company is transitioning to XP. I'd like to relate our experiences and ask questions. It seems to me that this belongs in CategoryCaseStudy (but it's nearly empty) or CategoryAdoptingXp (but that holds much general purpose information)--is there a better fit? ----- '''Generally''' We're implementing XP practices piecemeal, rather than as a RebootIntoXp. I want to avoid the AreYouDoingXp / AllOfXp black hole, if I can, by saying NO--not yet, but we're refactoring towards that end. Help? We're the internal software division of a company that's continually honing our workgroup software and our business practices. We never lack for more than we can do. (Does anyone?) ----- '''Progress so far:''' On-site client: * We have several, who have different amounts of work in the queue. * We don't have them full-time, but about two-thirds of the time we can get an answer within ten minutes, the rest of the time it might take an hour or two. Planning game: * We've emphasized to our clients their right and responsibility to specify the importance of work, and the order of development * We've improved communications with our clients, they have much better visibility into our current workload and progress Pair programming: * We've done some, perhaps five tasks of one-to-four days each. * The level of productivity and quality of resulting code is appreciated by technical leadership. * Some of the developers like it already, some don't, yet. * We're falling back into the "too much to do, can't spare the people" mindset under pressure from upper management. Test-first development and extensive automated unit tests: * Argh. Large amounts of flaky legacy code produced under start-up conditions. * I want to do it, intellectually and emotionally. * The other developers don't. * The environment isn't the most conducive to automated testing (ASP with VBScript) * On the bright side, there's no good debugger, either. * I've got a framework in place and I'm writing tests to expose each new bug I'm working on. Not usually before fixing, as I'm adding these tests (for now) mostly on my own time. I intend to move test-writing into my main workflow as soon as I get enough practice that it feels halfway smooth. This is incomplete, but I think it's enough to give a feel for around where we are. ----- '''Questions''' Though I've done plenty of digging through the wiki, I know I haven't seen it all. If a one-link answer gets to the heart of a question, I'd love to have it. I suggested PairingWithInterns to improve management's perception of the cost of pairing. But will it work? I've read a couple of XP books, and RefactoringImprovingTheDesignOfExistingCode. Next-most suggested reading? Intuitively, seems folly to me to RefactorMercilessly anything that doesn't have good UnitTest coverage. Currently nothing in the project does, though there's plenty of smelly code. Any suggestions on SafelyRefactoringLegacyCode? As I mentioned, we have several clients in different areas of the business. I do believe any one of them could keep us chock-a-block with work. Any ideas on prioritizing multiple projects between multiple stakeholders? Thanks for your time. I plan to add notable events to ErealtyDiary--I hope they're notably good. -- JasonCole