What if your OO programming job requires the leverage of large amounts of third-party code or third-party techniques, outside of the realm of your team's knowledge and experience? How do you acquire the expertise necessary, while sticking to the spirit of ExtremeProgramming? '''Experiment''' Attempt to incrementally create a capability that leverages some portion of the third-party technology in service of your requirements. '''Study''' After acquiring, through experimentation, greater knowledge of your requirements and the third-party technology, enter a (short) phase of deeper study of the related technology, in an attempt to answer questions raised by experimentation. '''Refine''' After experimentation and study, refine (refactor) your existing testbed to prepare for future experimentation and study, as well as the eventual fielding of the resultant system. ...and repeat.