To most businesses writing software, XP
is new. Of the 6 software teams I've worked with in my career:
- None have had a suite of automatic test cases
- None have had an end-user working regularly within 20 feet of me
- None have had programmers writing code in pairs
- None have had regular release periods anywhere near 3 weeks
- None have had a problem asking me to put in overtime for two consecutive weeks
I've always felt my productivity ranged from average to downright non-existant. By a not-so-strange coincidence, that's also been the range of my enthusiasm and enjoyment at work. (Perhaps I'm a slow learner, but next time I get a job I will not simply offer myself to the highest bidder).
XP is not for everyone - some people simply hate pair-programming and think unit tests are a waste of time. But I suspect that for developers who enjoy explaining and understanding code and requirements face-to-face, it is the most efficient and enjoyable way to work.