What’s Agile? Colocation (Principle #4)
Agile gets the project’s developers and key stakeholders working together on a daily basis. Preferably by colocating them.
The fourth principle of Agile is:
Business people and developers must work together daily throughout the project.Principles behind the Agile Manifesto
Put Developers in the Business Environment
It’s usually best to colocate by putting the developers with the business people. The team will get a lot more interaction with a lot more key stakeholders that way. And they’ll learn a lot from being embedded in the business environment.
The opposite approach to colocation is to bring one or more key stakeholders into the development environment. The trouble with this approach is that you get less interaction with key stakeholders and the business environment.
If you do get one or more key stakeholders colocated with the development team and devoted full-time to the project, they become disconnected themselves from the business and its needs. Their value as subject matter experts diminishes over time. It’s not good for the project or their career.
Won’t colocation cause too many interruptions for your developers, and reduce their productivity? Yes, it will – if you don’t establish some ground rules.
In general, business people are not as affected by interruptions as developers. Interrupting developers dramatically reduces their productivity. And it introduces bugs. (For more on this, see the “Don’t Interrupt the Developers” section of 12 Practical Steps to Avoid Stabilization Sprints.)
Developers should be free to interrupt the business people whenever they have a question or need some feedback.
Business people should not interrupt developers. Instead, they should attend daily stand-ups and raise questions or issues there.
With colocation, business people can also interact with developers when the run into each other in the halls, on breaks, at lunch, etc.
If it’s urgent, they should speak with the project manager, not the developers.
What If We Can’t Colocate?
If you can’t colocate, do everything you can to encourage both formal and informal interactions between the business people and the developers. Help the developers learn to reach out to the key stakeholders.
Use the communication methods that the business people are comfortable with. Don’t expect them to adopt the cutting-edge communication tools you’re comfortable with. The development team may be using Slack, but they may need to pick up the phone or send an old-fashioned email to reach key stakeholders.
Read this next: What’s Agile? Motivated People (Principle #5)