Blog Post

Microsoft Teams Blog
3 MIN READ

Microsoft Teams Release Processes - Why do I not see a feature but my colleague does?

MartinRinas's avatar
MartinRinas
Icon for Microsoft rankMicrosoft
Feb 02, 2021

At Microsoft Teams, we frequently hear the question, “I am running the same version as my coworker, but they have a feature I don’t. Why don’t I have that feature now? And how can I get it now?” Before we answer that question, we want to shed some light on our overall release processes so that the answer makes sense.


As a productivity tool connecting hundreds of millions of people around the world and enabling remote work, remote learning, and connections with family and friends, we take a very orchestrated approach to how we roll out and enable new features. We have multiple updates that get rolled out: web (incl. PWA), desktop (Windows, Mac), mobile (iOS, Android), packages for conference room devices, and our backend services. Each of these packages are backed by feature flag configurations that let us ship a new Teams version and enable features separately.


When we roll out features, it consists of two activities:

  1. Shipping the version (Teams application version with code for new features included)
  2. Enabling the feature through the feature flag

Both activities happen progressively, but at different times. We first ship the build with the feature flags turned off. We progressively roll out the build to users, wait for the build to be picked up and used by users, and reach certain penetration rates. We’ll run scorecards for key performance and usage metrics between the prior build and the new build to ensure we are not introducing any form of regression with our latest version.


Once we have scorecards and confidence in the version, we can then begin to progressively enable our feature flags – making the new features available for users. For our larger, external customer facing rings, this is a multiple step process that usually happens over a few days.


Below is a high-level view of our audience segmentation. Each ring represents an audience with specific gating criteria to allow us to exit the build and the feature flag, and to progress them to the next ring.

When we begin rolling out feature flags within a ring is where you will usually see differences in features within the same version. We roll features and versions out on in increasing % tranches at user level (considering the worldwide user pool and not at an organization/tenant level) as it gives us the best cross section of use cases, hardware configurations, software configurations, network topology, bandwidth availability, etc., to validate our changes and the user experience they provide – but this does mean that co-workers on the same build can see differences in their features. Rolling out feature flags by organization introduces the potential to bias our results with similar hardware, bandwidth, and usage patterns, so we focus on getting a cross section of users and usage patterns with our rollouts.


In December 2020 we announced the availability of Teams Public Preview. Public Preview is a great mechanism to expose a subset of your user base to features a little ahead of everyone else. This allows you to get familiar with new features before they are available to all users.


Launch of Microsoft Teams preview experience and alignment with Microsoft 365 deployment channels | Microsoft Tech Community


Public preview in Microsoft Teams - Microsoft Teams | Microsoft Docs


Teams-Updates - Microsoft Teams | Microsoft Docs

 

Updated Nov 26, 2024
Version 3.0

40 Comments

  • Scarlett725's avatar
    Scarlett725
    Iron Contributor

    This was not all of the information I was looking for, but it is a start. While I understand that MS needs the time to roll out features, having some users have disparate experiences tends to degrade the user experience. For instance, the Teams Together Mode. One user can have it, and others, wanting to use it will not. That creates a disparate experience where if someone wants to kick off that new experience in their next meeting, because they're excited to share what they've learned, they don't have the feature. - Bad user experience and also creating issues with level 1 support seeking further clarification as to why they don't have that feature. 

     

    What I would suggest Microsoft do is create talking points that would be available through their Microsoft adoption guides. It's important to note this and not just stumble upon this information. We need to be able to speak to it and temper the expectations of our own user base. I'll be able to take this information and craft it into a watered-down version for my company. 

  • wroot's avatar
    wroot
    Silver Contributor

    You are right. I was downgrading my Teams client some time ago and was surprised to see Presence scheduling option working in a much older version, when this option just appeared as available a few days ago at that point..

     

    I can only guess, but maybe some users don't get Together Mode because of hardware restrictions. But i would rather guess features are not actually trickling down in a few days as MS brags. Not a first or second time i am waiting for months to get some new features.

  • Petri-X's avatar
    Petri-X
    Bronze Contributor

    Don Kirkham 

    As much I have learnt, the flags and versions are not going hand by hand. The features seems to be written into the earlier versions of the clients already, but are disabled until the flags on tenant enables it. Because of that, you could have older version from client (not too old) and still get the same features than newer clients.

  • Based on this blog, once the new version is deployed to the tenant and the feature flag is turned on, everyone in the tenant should see the new feature. That is not my experience. I have users that are on the latest version, but still can't see features (like Together Mode) that have been out for months. Other users in the same tenant have all of the latest features.

     

    Is there something else we need to do on a device or user level to ensure new features are available?

  • MTayal's avatar
    MTayal
    Iron Contributor

    Hi , when we push Teams client via package using version 1.3 vs 1.4, where we can check which features are added in 1.4

  • Thanks Martin. This is something we deal with customers on frequent basis. having a public blog definitely helps.

  • James Blackwell's avatar
    James Blackwell
    Copper Contributor

    This doesn't really answer the question of how to ensure all those in the same ring and in the same tenant get the updates as quickly as they can *within* that tenant.  That is the main question we (IT) face every time a new set of features is rolled out.

     

    Please solve this by pushing to everyone in the same tenant for whichever release ring they are in.  This just creates more work for IT groups everywhere like it is now and always makes users question if something is working correctly or not when their colleague on the same team gets new features they do not yet have themselves, etc.

  • Petri-X's avatar
    Petri-X
    Bronze Contributor

    Thanks to you MartinRinas to sharing this. But I believe the biggest problem on the organizational level is the transparency and predictability. I could use the client version report on CQD to see which version users are using and if new version is coming, I could see how widely it has been distributed. But as you told also, that is not the full picture.

     

    I cannot see those feature flags from anywhere (?), I cannot see on which rings we are, and I have no possibilities to see when certain feature rollout is starting to our end users. Are you planning to share any visibility to this, or is this just a cost we need to pay when using the cloud services?

     

    And about the public preview, if we allow users to choose to use that option, how I could see who have accepted the preview, and of course in centralized? It could be a challenge for the support organization if people who have forgotten that they are part of the preview features, and start reporting odd user experiences.

  • wroot's avatar
    wroot
    Silver Contributor

    This doesn't help in explaining users why they don't have a feature that another user has. This article will not help. They will still think they IT is dumb or doesn't care. Even personally, i just don't care about news about new features, because i know it can take months (not days) until you see it. Like with tasks in Teams, native notifications (where?) and so on. You are killing the excitement about new features with very long deployments and delays.

  • Nate Jackson's avatar
    Nate Jackson
    Copper Contributor

    We receive this question on a regular basis. Thank you for helping clarify the process that your team takes. Keep up the good work!