What are some best practices for working on requirements if you have a distributed team?
These days, distributed teams are often the norm rather than the exception. While co location is preferable, especially for an agile approach, we are as likely to work with someone overseas or in another building as we are with someone who works at the next desk or on the next floor. Teams which find a way to be physically in the same place for the first few weeks of their project are able to gain common project context and establish the person-to-person connections which help them work more effectively with each other once they return to their home locations. When it is not cost effective to bring all team members together at the start of a project, the next best alternative is identify a few individuals who take on the responsibility of being a context/rationale resource for those who will not be able to join the in-person start up.
Once team members are back at their home locations, remote conferencing, video conferencing and instant messaging are simple powerful ways to be in one place as a team, even when you are not in one physical location. Whether you work with user stories or use cases or classic requirements, setting aside time to work together provides much more value to the entire than using a hand-off approach to requirements. When someone with an important business role or technical role cannot be physically present when requirements are elicited and analyzed, the next best thing is to have that individual agree to be available to answer questions posed by phone or instant message. Also, it is important to establish norms for how people interact with each other in remote conferencing worksessions, such as having each participant state his/her name before speaking.
Keeping frequent regular daily contact is important for a distributed team. I've worked with and known distributed agile teams who successfully conducted daily scrums with remote conferencing. Short daily standup meetings which follow the scrum agenda are also very helpful for remote teams which are not using an agile approach.
It's also important to be mindful of time differences between team members. If at all possible, try to find core times for meetings which have the smallest impact on all team members. When that is not possible, rotate meeting times so that each location takes its share of normal-work-hour meetings and before-or-after-normal-work-hour meetings.
Dig Deeper on Topics Archive
Related Q&A from Sue Burk
Does sequence matter when you are not using use cases or process modeling techniques? Expert Sue Burk explains the importance of sequence by using a ... Continue Reading
Do new technologies affect the requirements gathering process? In this response, expert Sue Burk delves into this question, explaining the tenets of ... Continue Reading
Expert Sue Burk explains the importance of gaining proper approval for requirements changes and offers suggestions for the most efficient ways to ... Continue Reading