Working solo on your own project—“scratching your own itch”—can be a lot of fun. There are no questions about which features to work on, how things ought to work, if the software works correctly, or whether stakeholders are happy. All the answers are right there in one brain.
Team software development is different. The same information is spread out among many members of the team. Different people know:
How to design and program the software (programmers, designers, and architects)
Why the software is important (product manager)
The rules the software should follow (domain experts)
How the software should behave (interaction designers)
How the user interface should look (graphic designers)
Where defects are likely to hide (testers)
How to interact with the rest of the company (project manager)
Where to improve work habits (coach)
All of this knowledge is necessary for success. XP acknowledges this reality by creating cross-functional teams composed of diverse people who can fulfill all the team’s roles.
XP teams sit together in an open workspace. At the beginning of each iteration, the team meets for a series of activities: an iteration demo, a retrospective, and iteration planning. These typically take two to four hours in total. The team also meets for daily stand-up meetings, which usually take five to ten minutes each.
Other than these scheduled activities, everyone on the team plans his own work. That doesn’t mean everybody works independently; they just aren’t ...