Teams and Requirements

Continue learning how to form an effective organizational structure, focusing on teams and requirements.

Forming teams

Software development teams often deal with an overhead of communication, conflict of interests, shared codebases, shared production releases, etc. It is easy to notice that the cost comes into the picture when one team has to share something with another. On the other extreme, an independent group has the luxury of moving as fast as they want without worrying about dependencies on outside counterparts.

How can we maximize the number of autonomous efforts in an organization that has multiple teams? As it turns out, the solution is easy to explain after having learned about context maps and bounded contexts.

The trick is to form teams around bounded contexts. Allow a group to own one (which is ideal) or more bounded contexts, but do not allow more than one group to hold ownership of any given bounded context. Help team members understand bounded contexts and subdomains that they own and with which they interact. Ensure that people integrate bounded contexts according to their connections on the context map. Otherwise, the context map needs to change to express necessary knowledge.

Get hands-on with 1200+ tech skills courses.