Table of Contents

Microsoft teams

Utilizing Microsoft Teams with Altus provides visibility into Altus projects, programs and portfolios as well as integration avenues to display various pieces of data in Teams and Channels within the Native Teams Experience.
Altus offers a number of Teams integrated features that improve productivity and collaboration when working on the PPM Platform.
This includes:

  1. Leveraging notifications in Teams when approvals for proposals are posted
  2. Leveraging Teams and Channels for management/interaction with collaboration artifacts (Documents, Risks, Issues, Decisions, etc..)
  3. Views of the portfolios, programs, projects and proposals with quick links to the various portals where related content is stored (link to Altus, link to SharePoint, link to Teams Team, link to Execution tool)

Out of the box, organizations can choose from two management methods with their Microsoft 365 Groups and Teams. For the purpose of exploring these scenarios we define the term “Headline Table” as “Projects, Programs or Portfolios”, and we define “Child Artifacts” as all of the content you would manage related to a headline Table like “Risks, Issues, Change Requests, Decisions, etc…”

Teams usage method 1 - unique groups

The first scenario offers an organization the ability to ensure that the security around their headline Tables are uniquely managed. In this scenario, when creating a headline Table, the manager would create a group for each of these initiatives. This ensures that the security around the child artifacts of these headline Tables is limited to those in the specific group created for that initiative.

In Teams, this would create a separate Team for each of these groups created, in which the collaborating team can manage their conversations, artifacts, documents, and more.

Having separate Groups/Teams for each Table may also be useful as certain Teams features are only available at the Team level rather than the channel level. Inviting guest users from other Azure AD's for B2B collaboration is best maintained per Team and so in this scenario having a separate group per Table would be advantageous.

Summary
Maximum flexibility as personnel relevant to a project/table change
Good separation between initiatives (maybe needed for guest users)
End-users will likely need Group/Team creation rights
Proliferation of many Groups/Teams may become cumbersome over time
Note

There is a Microsoft limitation that users may only own up to 250 groups. Please keep this in mind when planning Group provisioning.

An alternative scenario would be to consider the recommendation that groups should be representative of functional teams or groups of people.

The projects, programs and portfolios are the initiatives that these teams collaborate on. For that reason, and to keep these items secure within the purview of the team working on them, groups can be created to represent the team, and then these groups can be reused across projects, programs and portfolios, if the individuals responsible for those headline Tables remain the same.

This scenario results in fewer groups created, and the individuals in the groups that are created have less administrative overhead in terms of the groups/teams that they belong to.

This method is also better aligned for larger organizations that have governance policies around the creation of Microsoft 365 Groups and Teams. If there is an approval process or 3rd party mechanism used to administer the creation of Groups/Teams this process can be employed and then once the Group/Team is created that is representative of the people working on the initiatives, this group can be reused in Altus to allocate to all the desired Tables related to that group of people.

This provides what we consider to be better organization and more efficient management of the groups/teams. An additional consideration with this choice is that when reusing a group/team for multiple headline Tables, in Microsoft Teams, the various initiatives will be added by Altus as channels.

Summary
Lower total number of Groups
People on the Team see what is important to them as channels
Groups can optionally be created by Administrators / 3rd party approval systems
Not as flexible when the personnel relevant to a project/table change
Not as much separation between initiatives (which maybe important to Team-based features like guest users)

Reusable Teams (RECOMMENDED)

This image displays the way that Altus and Teams fit into the security model

These two strategies can co-exist simultaneously for different parts of the organization as necessary and can be utilized immediately with Altus. Other than disabling tenant functionality (turning off user-driven group creation – NOT RECOMMENDED), there is no method to disable or choose one or the other exclusively. We suggest you decide on the strategy best for your organization, and educate your users as to how they should best utilize groups/teams with Altus.

Teams App - channel tab configuration setting

The teamsAppChannelTabs configuration setting allows the administrator to specify the channel tabs that will be created by the Teams app for each project. The array contains a list of the Microsoft Graph objects to create a channel tab.

The following tokens will be replaced with the project specific value:

  • .replace("{projectId}", channelArgs.entity.ItemId!)
  • .replace("{entityId}", channelArgs.entity.ItemId!)
  • .replace("{tasksUrlEmbed}", channelArgs.entity.EmbedUrl!)
  • .replace("{tasksUrl}", channelArgs.entity.Url!)
  • .replace("{teamsLocale}", channelArgs.entity.Locale!)
  • .replace("{entityTypeName}", channelArgs.entityTypeName)
  • .replace("{orgUrl}", channelArgs.organisation.Url)
  • .replace("{appId}", channelArgs.appId);

See: https://docs.microsoft.com/en-us/graph/api/resources/teamstab?view=graph-rest-1.0#json-representation For information on configuration of the different supported app tabs see https://docs.microsoft.com/en-us/graph/teams-configuring-builtin-tabs#power-bi-tabs

For information relating to deep-deep linking please see here: https://hub.sensei.cloud/Docs/Altus/Customisation/Index.html#deep-deep-linking

For information on using filters in an embed url see here https://powerbi.microsoft.com/en-us/blog/easily-embed-secure-power-bi-reports-in-your-internal-portals-or-websites/

The teamsAppChannelTabs screen contains the following fields:

This image displays the Teams App Channel Tab Configuration screen

  • Value: Click + New Channel Tab to create the New Channel Tab.

Hiding the Out of the Box Teams tab within the Altus Microsoft Teams Project Channel

To disable a default channel tab (e.g. Task)

  1. Within Altus go to Settings and open the Channel Tabs setting
  2. Click Load defaults
    This image displays the Channel Tab Configuration Settings screen
  3. Click the Edit Channel Tab button on the Tasks Channel Tabs
  4. Toggle the Provisioning Enabled option to No
    This image displays the Channel Tab Configuration Settings screen with Provisioning Enabled switched to No
  5. Click OK
  6. Save your changes.