Agile and Requirements Management for distributed, small teams - first thoughts

August 30, 2006 — Posted by Jim Trott

While I was on vacation, I got a great question from an alert listener, who asked,

Is it still possible to use Agile development for a team that works remotely and frequently changes focus from one project to the next? I have found the requirements management aspects extremely challenging, but I have not found many discussions online that address this particular challenge.

We are going to make this a focus of a future podcast. But off the top of my head, here are a couple of comments that occur to me.

Agile techniques can be applied any time and place. It is just that the practices differ.

Certainly, Agile makes sense even for small teams. Large or small, you help to avoid a lot of wasted effort, and code when you focus on doing just enough, doing what needs to be done next, and keeping close relationship with the “available customer.”

You want to ensure you are getting as much feedback as possible.

This helps with requirements management because you are only doing what is the next most important to do. To accomplish this, we teach a method of using “stories” (think packets of tasks centered around a desired feature or requirement) to prioritize the features that must be worked on. The Product Owner prioritizes these stories according to his/her needs at the time, putting them on a “front burner, back burner, or fridge.” For the next sprint, the Team only looks at things on the Front Burner to decide which ones they can and should do in this sprint. The rest of the stories stay on the burners to be looked at next time.

When the Sprint begins, it is important to try to finish that work within the agreed-upon iteration and not get diverted. If that is a problem, one solution is simply to use shorter time frames for your Sprint iteration.

You certainly have a greater challenge when your team is distributed, not co-located. I’d be interested in what you think about this. In my experience, it is still possible but it puts a premium on discipline and communication. The team facilitator needs to be extra sensitivity, making sure people are synched up, are participating in the daily meetings, and are aware of what each other is doing. Of course, IM and something like NetMeeting or GoToMeeting or other desktop-sharing solution can work. And I’d recommend using a good agile project management tool to make sure everyone is in synch.

Al Shalloway has additional points:

  • Don't write code until you have a test specified. This helps you avoid the waste of debugging.
  • Look at the entire problem not just pieces of it
  • Defer commitment by encapsulating your designs. Design Patterns help with this.

If at all possible, I’d recommend taking our Test-Driven Development and our Design Patterns Thinking courses, which will really help you here. A good introduction to Scrum would also help.

Recommendations - Training by Net Objectives

Recommendations - Reading

Recommendations - Tools

Music used in this podcast:

For more information, contact info@netobjectives.com or visit us at www.netobjectives.com

Subscribe to our blog Net Objectives Thoughts Blog

Share this:

About the author | Jim Trott

Jim Trott is a senior consultant for Net Objectives. He has used object-oriented and pattern-based analysis techniques throughout his 20 year career in knowledge management and knowledge engineering. He is the co-author of Design Patterns Explained: A New Perspective on Object-Oriented Design, Lean-Agile Software Development: Achieving Enterprise Agility, and the Lean-Agile Pocket Guide for Scrum Teams.



        

Blog Authors

Al Shalloway
Business, Operations, Process, Sales, Agile Design and Patterns, Personal Development, Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Cory Foy
Change Management, Innovation Games, Team Agility, Transitioning to Agile
Guy Beaver
Business and Strategy Development, Executive Management, Management, Operations, DevOps, Planning/Estimation, Change Management, Lean Implementation, Transitioning to Agile, Lean-Agile, Lean, SAFe, Kanban, Scrum
Israel Gat
Business and Strategy Development, DevOps, Lean Implementation, Agile, Lean, Kanban, Scrum
Jim Trott
Business and Strategy Development, Analysis and Design Methods, Change Management, Knowledge Management, Lean Implementation, Team Agility, Transitioning to Agile, Workflow, Technical Writing, Certifications, Coaching, Mentoring, Online Training, Professional Development, Agile, Lean-Agile, SAFe, Kanban
Ken Pugh
Agile Design and Patterns, Software Design, Design Patterns, C++, C#, Java, Technical Writing, TDD, ATDD, Certifications, Coaching, Mentoring, Professional Development, Agile, Lean-Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Marc Danziger
Business and Strategy Development, Change Management, Team Agility, Online Communities, Promotional Initiatives, Sales and Marketing Collateral
Max Guernsey
Analysis and Design Methods, Planning/Estimation, Database Agility, Design Patterns, TDD, TDD Databases, ATDD, Lean-Agile, Scrum
Scott Bain
Analysis and Design Methods, Agile Design and Patterns, Software Design, Design Patterns, Technical Writing, TDD, Coaching, Mentoring, Online Training, Professional Development, Agile
Steve Thomas
Business and Strategy Development, Change Management, Lean Implementation, Team Agility, Transitioning to Agile
Tom Grant
Business and Strategy Development, Executive Management, Management, DevOps, Analyst, Analysis and Design Methods, Planning/Estimation, Innovation Games, Lean Implementation, Agile, Lean-Agile, Lean, Kanban