Petri Newsletter Sign-up
Tech Tuesday

Subscribe to Tech Tuesday, the latest insights from Petri.com for IT Pros.

    See All Petri Newsletters

    The Joys of Managing Large Microsoft Teams

    Posted on by Tony Redmond in Microsoft Teams, Office, and Office 365

    Teams Splash

    Teams: Now with You, Me and 4,999 Others

    Microsoft’s announcement that Teams now supports groups of up to 5,000 members created some interesting questions about how to deal with such bemouths. Microsoft has increased the limit steadily from 999 (launch) to 2,500 and now 5,000, probably to help adoption at the 89 of the Fortune 100 companies that use Teams, including Pfizer and Accenture (the largest user).

    Most Office 365 tenants have fewer than 5,000 accounts, so the new limit won’t concern them. Another way of looking at this is that smaller tenants won’t have to struggle with some of the technical and administrative challenges of dealing with such large groups.

    Problems in Managing Large Teams

    The first problem is to populate the membership of any very large team. Sitting down and adding each member one-by-one is an exercise in tedium. Another approach is needed.

    If a distribution list is available with the right members, you can import it into the team. This takes a little time for a large list, but it works. PowerShell can also be used to extract information from a variety of sources (a distribution list, another group, a CSV file, Azure Active Directory) and create new members. The code isn’t difficult to write, but it’s another task to do.

    Perhaps the best way is to generate a joining code for the team (Figure 1) and make the code available to those who might want to join the team through email or by posting to a web site (maybe as a SharePoint news item). The prospective members can then join at their leisure.

    Generating Teams joining code
    Figure 1: Generating a team joining code (image credit: Tony Redmond)

    Managing Team Memberships

    Like most user interfaces, the tools available to manage team memberships work best when groups are small. For example, if a team owner uses the Manage team feature (in the Teams desktop and browser client) to review members, they can search for the user (the search option is not available to guest users) or scroll through the list to find the right person. Scrolling through a list to find people is acceptable when teams are small; it gets boring with larger teams, especially when the person you’re looking for is at the end of the list. Making the column names sortable (by name, title, location, or role) would help to find users with common property values (like department name).

    540 member team
    Figure 2: It’s a pain to scroll through 540 members. Imagine 5,000! (image credit: Tony Redmond)

    The Teams Admin Center includes the ability to search for a member and clickable headers for sorting (Figure 3), so it’s easy to see how valuable this simple change would be to manage large teams in the desktop and browser client.

    Teams Admin Center
    Figure 3: Teams Admin Center does it right (image credit: Tony Redmond)

    You can also manage team membership through PowerShell, but the basic cmdlets (like Get-Team and Get-TeamUser) need to be wrapped in other code before they can be used for day-to-day management. Not everyone likes dealing with GUIDs and it’s easy to make a mistake unless you type fluent PowerShell.

    Use Dynamic Teams Instead of Fixed Membership

    No doubt Microsoft will upgrade the clients and administrative consoles to cope better with large teams. In the meantime, dynamic teams might offer a solution. The membership of large teams is often based on organizational criteria rather than a common interest. For instance, you might want to have a team for everyone in a division of the company.

    Organizations that are large enough to use 5,000-member teams probably have the Azure Active Directory Premium licenses needed for each member of a dynamic group/team. If Azure Active Directory is updated with accurate information (for example, by being connected to a feed from the HR system), then dynamic teams based on queries against Azure Active Directory are a good way to manage team membership.

    Best Practices for Large Teams

    Microsoft’s best practices for org-wide teams are a suitable basis to organize discussions in any large team. Briefly, these include:

    • Restricting posts to the General channel. This channel is for team owners to announce information to everyone, not discussions.
    • Restrict @mentions. If you allow members to use @team and @channel mentions, lots of people will see those mentions and their activity feed can become overloaded. Turn these options off.
    • Guide conversations to the right channels. Create a set of channels for conversations and make them automatic favorites so that members are pushed towards those channels.

    In addition, make sure that members understand team etiquette and do the simple things to maintain order. For instance, always start new topics with a title and reply to an existing topic instead of starting a new topic when possible. If you allow anarchy within a large team, the conversations will be fragmented, impossible to follow, and frustrating.

    Don’t Plunge into Large Teams Without Thinking

    It’s great to have the potential to create a large team with up to 5,000 members, but before you do, ask yourself whether it’s a good idea to have such a big team. Will the discussions be useful, and will people be able to find the information they need within the team? Is a different technology better for the use you anticipate? Email distribution groups are still an efficient way of distributing announcements and Yammer might be a better option for company-wide discussions.

    In short, although Teams is a great application that’s now used by 420,000 organizations worldwide, some planning and a lot of management is needed to keep mega-Teams under control and productive.

    BECOME A PETRI MEMBER:

    Don't have a login but want to join the conversation? Sign up for a Petri Account

    Register