Team Design Patterns – Feature teams with mixed-composite skills

This article is about the third and final alternative to the Ideal Team Structure – feature teams with mixed-composite skill teams.

Let’s assume that you still have an organizational issue of too much specialization of skills. With that assumption, it is difficult to jam-pack all skills, knowledge, and expertise into a 7 +/- 2 sized team to be able to transform every piece of business intent into a workable software solution. The idea behind mixed-composite skill teams is that you can create different mixtures of skills across many teams (each sized at 7 +/- 2) and design those teams so that their skill mix is a composite of skills that match the patterns of the business intent. Because you need the intent to be bite-sized (i.e., can be turned into “done” solutions in 2 weeks or less), it is very likely that any particular piece of intent will suggest changes to 5 or less platforms / components. So, let’s say that you design our teams in the following patterns:

  • Teams 1 and 2 possess a mix of skills in components A, B, C, and D
  • Team 3 possesses a mix of skills in components C, D, E, and F
  • Team 4 possesses a mix of skills in components A, B, C, and F
  • Team 5 possesses a mix of skills in components A, D, E, and F
  • Team 6 possesses a mix of skills in components B, C, D, and E

Because the pattern of business intent suggesting software changes in components A, B, C and D is more common, you can allocate 2 teams (Teams 1 and 2) that align their skills to this pattern of intent. The skills in Teams 3 through 6 match less common, but still often occurring, patterns of business intent. So, as a final step in the story splitting and grooming process, you need to steer the final stories towards the teams that have the needed skills to turn the story into a delivered solution. This certainly adds a level of complexity to the Product Owner’s role – matching story intent to team skill mix. It also implies that you may need to broaden out the breadth of Business Intent Generators (BIG’s) that feed into this pool of mixed-composite skill teams to be able to reasonably utilize their capacity. For example, if BIG 1 (see picture in the Ideal Team Structure article) requires 3 teams worth of capacity to get its expected level of solutions delivered, it might be difficult to construct 3 teams with the right mixtures of components A through F and keep them all well utilized. However, if BIG’s 1, 2, and 3 were to share their teams, they would combine to require 6 teams worth of capacity to get their solutions delivered. You then have significantly more flexibility to build the right team skill mixes across 6 different teams to marry up with how the patterns of intent are generated from these 3 BIG’s.

One very key point in constructing mixed-composite skill teams is that it provides the real opportunity for knowledge sharing and movement towards development of generalizing specialists (multi-skilled team members). For example, a developer on Team 3 who starts out with specializing in component C knowledge could readily work with other developers on the team to pair program and learn components E and F. Once that developer is now knowledgeable in all 3 of these components, they could be moved to Team 1 and provide the ability for that team to cover any story that involved change to components A through F. With leadership permission to broadly spend on knowledge sharing, you will have many teams that could handle any business intent that came their way. Before you know it, this organizational structure has transformed into the Ideal Team Structure.

So, if you can figure out what your patterns of business intent look like and then can build teams that fit those patterns, you will be blazing a trail towards 100% feature teams by starting with mixed-composite skill teams.

In the next and last article in this series, I will wrap up my thoughts on feature and component teams.

Previous article | Next article

© 2012-2013 CirrusLabs, LLC – All Rights Reserved



Interested in training to help advance your agile journey? Click the button to view our current list of public training courses! Use code BLOG10 for 10% off!

View Public Training Course Listing