Handshaking: Negotiate to Provoke the Right Understanding of Requirements - Fricker, Samuel; Gorschek, Tony; Byman, Carl; Schmidle, Armin; Fricker, Samuel; Gorschek, Tony; Byman, Carl; Schmidle, Armin (IEEE software, 2019)
Development teams that accept fragmentary and vague customer requirements have to cope with uncertainty and disorientation. Inadequate communication and submission to a dominating customer makes it hard to know if requirements are understood or not. Requirements engineering, with its focus on good specification practices, had yet to find working solutions for effective requirements communication. We are using a negotiation process called Handshaking with Implementation Proposals to make such requirements communication work – even in situations where written requirements are almost nonexistent and distance separates customers from developers. Handshaking is an efficient and effective technique that uses architectural options to achieve requirements understanding, to create value with implementation decisions, and to establish the foundation for a stable project. This article focuses on the interface between product management and the development organization in companies, where product management acts as a customer towards development. We describe the requirements communication challenges we encountered, explain how we addressed these challenges with the Handshaking process, and share the lessons we learned at European and Asian development sites from ABB and Danaher Motion.