Scrum, and Cross-Functional Teams vs. Specialists [closed]
Asked Answered
S

4

9

Post edited for clarification (original post at the bottom).

I wish to reorganize the R&D staff from horizontal (i.e. specialty or component based) teams to vertical (i.e. feature, self sufficient) teams. I'm likely to end up with 3-4 teams, with developers and QA engineers who collaboratively can work with most aspects of the product. I have, however, only one qualified DBA, and one technical writer. I can have DBA on one team, and give his team features that require the most complicated DB work, and give tasks with more trivial DB-related aspects to the teams without the DBA.

Almost every feature, though, requires the documentation to be updated, and documentation is a task that must be completed in almost every feature, for it to be Done. I have only one technical writer. The rest of the developers do not have (nor can learn) the skills required to write the documentation, as it is not in their native language.

How do I deal with such resources in a vertical team?

  1. Do I have the writer not be part of any team? That would make it impossible for the team to be "Done" on his own.
  2. Do I have the writer be part of all teams? If so, how can he attend all of the teams' meetings (daily, planning, retrospectives)?
  3. Do I make him a member of just one team? Which one? All teams need him equally. How do the other teams get "Done" without him?

Thanks, Assaf.


Original:

Our company want to adopt the Scrum way of life, and be able to assign a feature to a team, and have that feature "Done" (i.e. according to the Definition of Done), within the team.

Some skills, though, require skills not owned by enough people in the team, to assign one to each team (e.g. technical writer, DBA, integration specialist, etc.)

How would you deal with such limited-resource-specialists with mostly vertical teams?

Sobriety answered 12/5, 2009 at 8:27 Comment(1)
Nice question and conclusion, the whole thread is a good read :-)Finke
S
6

After doing some research (a lot of sites, and a book named "Cross-functional teams" By Glenn M. Parker), I came to the following conclusions:

  1. A team should be comprised of people who are collectively qualified to get the team's features "Done". This means, that each member is not expected to be able to perform every task required , but that every task required can be performed, in sufficient quality, by at least one member of the team.
  2. While the team(s) should be cross-functional, when there is more than one team, there should be also some form of functional department, whether official or otherwise, led by an expert in the field. The expert may be a member of one team, or not, but in any case all members who perform tasks of a certain function, should communicate and collaborate frequently enough with the expert, as a professional authority on how to do their job.

In my example, this would mean that the DBA and Technical-Writer would both lead their respective professional forum or department (depending on the level of formality), they may each be a member of one team. Database and documentation work would be done by team members capable of doing the work, and doing so under the experts' supervision (professional authority).

In this way specialists may exist in the organization, alongside with generalists, and what people who ride the middle between the two.

And of course, in this method, the team is capable of completing all of the business-level tasks (features, user-stories) assigned to it, in a self-sufficient manner, which is what we wanted.

Sobriety answered 18/5, 2009 at 14:6 Comment(0)
R
2

first, I would not confuse scrum teams and organizational structure. Organization -wise,your tech. writer can belong to any team. From Scrum perspective, i would dedicate time of the tech writer to the teams (the distribution depends on your sprint size) e.g. one day a week to each team or AM/PM (for 2 teams). That way, each scrum team knows how much and when the tech writer is assigned to them and can plan accordingly. I would also have the tech writer attend all the daily meetings if possible (with 2 teams, it should be doable). This way, the tech writer (or any scarce resource) would be a part of all the teams (scrum-wise). I think the only problem may be discipline to only work for the assigned team ad assigned times, but I am sure you will sort that our in a sprint or two. I am not sure about the planning meetings, but I am sure the person should take part in retrospectives Matej

Rozalin answered 12/5, 2009 at 17:11 Comment(3)
This doesn't answer the question - What do I do when I've got multiple teams, but only person qualified to write the technical documentation, or only one DBA?Sobriety
I am afraid that the current version of the question does not match the question I was answering :-(, please see the originalRozalin
Yeah, well, I guess I wasn't sufficiently clear in my intent at first. First question. MY bad.Sobriety
G
1

Obviously, you can't share those resources, unless you want to introduce "God object" and "Information bottleneck" anti patterns in your company.

I'll suggest to spread their knowledge, instead of assigning all related work to them, force your DBA and tech writer to share their experience with other team members. Use one of the best technique in Agile - pair programming.

Gossipry answered 12/4, 2012 at 22:15 Comment(0)
M
0
  1. Do I have the writer not be part of any team? That would make it impossible for the team to be "Done" on his own.

    Even if you have one technical writer, a documentation team should be formed which will be headed by one and obviously the same guy will be the member of that team. A common repository of tasks accessable by cross-functional team-members should be made accessible with two main documents i.e. read-only and editable ones, versioning them alongwith the daily scrum meetings.

  2. Do I have the writer be part of all teams? If so, how can he attend all of the teams' meetings (daily, planning, retrospectives)?

    No. The technical writer needs to be independantly responsible for his/her own work, reporting to nobody except his/her own ScrumMaster.

  3. Do I make him a member of just one team? Which one? All teams need him equally. How do the other teams get "Done" without him?

    Every team will get their tasks done if they see the LVIE availability and progress at that common repository of documents as described above.

Hope it helps. And if you can't appreciate all these people's inputs as I can easily see what you are doing, try to at least return their 2 cents for posting their opinion, helping you :)

Mahaliamahan answered 11/3, 2013 at 1:55 Comment(1)
Hi Amir. Thanks for your input. :-) in my experience, as soon as you form a technical team outside of the cross functional team, they become a bottleneck, and the functional team can no longer deliver complete stories.Sobriety

© 2022 - 2024 — McMap. All rights reserved.