One reality of modern software development is that teams are not collocated. Not around the same table, not in the same building, not in the same city, and often not in the same time zone.
- In some cases, companies are taking advantage of exchange rates or pay rates, and locate teams where they can buy more hours for each unit of their currency.
- In other cases, companies cultivate a better work-life balance for their employees, and stop enforcing policies around grueling commutes and time clock punching.
So here's one incredibly good thing you can do, in the face of this potentially toxic communications cocktail: start every project with a requirements workshop where in-person attendance is mandatory (and funded) for the product owner, leads from analysis, development, QA, and operations teams. Sponsors and subject matter experts should be readily available in person as well.
This get-together will require an initial outlay of funds which will hugely repay itself over time. In her 2004 book, Requirements By Collaboration, Ellen Gottesdiener quotes these helpful statistics from Capers Jones about return on investment for such gatherings. According to Jones's empirical measurements of large-scale software projects, a facilitated workshop of this type will:
- Reduce the risk of scope creep from 80 percent to 10 percent, and to 5 percent when combined with prototyping (Patterns of Software Systems Failure and Success, 1996)
- Cut requirements creep in half (Software Assessments, Benchmarks and Best Practices, 2000)
- Provide a 5 percent to 15 percent overall savings in time and effort for the project as a whole (Patterns)
- Reduce defects delivered in software by 20 percent (Patterns)
- Reduce project failure and cancellation rates by about 50 percent (Patterns)
- Provide a 10-to-1 return on investment ($10 for every $1 invested; Patterns)