Traditional processes rely on domain experts or analysts to get the specifications and requirements documents right. These processes do not harness the knowledge of the whole team. Software developers and testers are typically kept out of the loop. However, developers and testers have key technical insights that can help to specify better solutions or avoid technical difficulties.
Instead of relying on one person to get the specifications right in isolation, include the whole team in specifying the solution. People coming from different backgrounds use different heuristics to solve problems and have different ideas. Involving a diverse group of people in producing the specifications helps to avoid groupthink. Technical experts can suggest better solutions. Testers can communicate their concerns about potential problems. Collaborative specifications harness the knowledge and experience of the whole team.
