Tuesday, May 14, 2002 12:48 AM
In XP, OOA/D starts in the Exploration Phase. In the initial Release Planning Game, all known User Stories are gathered and estimated. For estimation, developers need to have *some* idea about the form of implementation - they are starting to build a System Metaphor and might try some Architectural Spikes.
In the Iteration Planning, Engineering Tasks are identified and estimated for the current Stories. Developers are expected to discuss implementation issues as much as necessary to get a reasonable gut feel about the estimation.
Most of the design is happening whilst implementing using Test First Development. Writing a test you are designing the interface of the tested class. After you made the test run by using the simplest implementation, you reshape the code into the best imaginable form using Merciless Refactoring. When in doubt, a Programming Pair might decide to do a Quick Design Session using CRC Cards or UML on white boards, generally lasting no longer than ten minutes.
I hope this helps - don't hesitate to ask further questions.