Skip to main content

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!

Popular posts from this blog

A Corporate Agile 10-point Checklist

I'm pretty sure my few remaining friends in the "small, collocated team agile" community are going to desert me after this, but I actually have a checklist of 10 things to think about if you're a product owner at a big company thinking of trying out some agile today.  Some of these might even apply to you if you're in a smaller place.  So at the risk of inciting an anti-checklist riot (I'm sorry, Pez!), I am putting this out there in case it is helpful to someone else.

Here's what you should think about:

1.Your staffing pattern.  A full agile project requires that you have the full team engaged for the whole duration of the project at the right ratios.  So as you provision the project, check to see whether you can arrange this staffing pattern.  If not, you will encounter risks because of missing people.  Concretely it means that:
a.You need your user experience people (if applicable) and your analysts at the beginning of the project, as always, b…

The Agile Business Case

Many agile teams have never seen a business case, ever, and they may even be proud of it.

Our mantra is that we deliver "business value," not just "software," quicker, better, and faster, but if so, we certainly don't spend a lot of time reporting on value delivery, and in fact we may be scornful about "analysis paralysis."  As software developers, we consider ourselves to be doing quite well if we can deliver the software every two weeks (or continuously).  And this is particularly if we've enabled this frequent high-quality delivery through automated testing and automated build-and-release techniques.  We've reduced business risk by making results visible more often, and allowing the business to change direction more frequently.  We assert that along the way of course we're also delivering value.  But how would we prove it?

I've recently posited that we shouldn't even think of doing agile projects without capturing and recording s…

Requirements Traceability in Agile Software Development

One of the grim proving grounds for the would-be agile business analyst (henceforth "WBABA")  is the "traceability conversation."  Eventually, you will have to have one.  You may have seen one already.  If you haven't, you may want to half-avert your eyes as you read further.  It gets a little brutal.  But if you close them all the way, you can't read.
Dialogue:
WBABA:   ...so in summary, we complete analysis on each story card, and then we support the developers as they build it that same iteration!Corporate Standards Guy:  but how do you do traceability in agile?  You have to have traceability.  It's broadly recognized as an important factor in building rigorous software systems. These software systems permeate our society and we must entrust them with lives of everyday people on a daily basis. [The last two sentences are an actual quotation from the Center of Excellence for Software Traceability website!] WBABA: [cowed silence]Corporate Standards …