...copyright Elena Yatzeck, 2010-2017

Monday, November 29, 2010

Collocating for Project Inception: It Costs Too Much NOT To Do It

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.
Communications tend to deteriorate even more once you let Briana work from home in Wisconsin and Tad work from his mom's place in Hawaii, and everyone has to get on a conference call with Australia at 4:30pm, CST, since a third of the team isn't even in a time zone which is offset by a full hour from you.  Especially if Tad has small barking dogs and a cockatoo.

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)
If your CFO is still skeptical, you may suggest running an internal experiment on two projects (try just one with an in-person requirements workshop) and measure for yourself!