By: N.B. Harrison
Published in: PLoPD2
Category: Organization and Process
Summary: Solves problems of designing in teams.
How can people work together to design and develop software? Use Unity of Purpose, Diversity of Membership, Lock 'em Up Together, and Validation by Teams
To get different people pointed in the same direction, the project leader must instill a common vision and purpose in all members of the team.
To determine your product's required capabilities, the resources for its completion, and other information, create a team to specify user requirements. The team should include a developer, a user or user's representative, and a system tester.
How can a team of different people come up with a single, coherent architecture? Gather the team in a room and require that every person commit to total participation until the architecture is complete or complete enough that a clear picture emerges.
You're using Unity of Purpose and Diversity of Membership. To ensure that designs are valid, hold a design review. Don't use formal design documents. Have the designer explain the design to the rest of the team. Each team member should check internal interfaces for consistency. The team should execute the design orally.