A software development methodology that encourages collaboration between developers, testers, and business stakeholders. It focuses on creating clear and understandable specifications that guide development, using scenarios based on user behavior.