Altus Solution Architecture
Solution Architecture
Technical Architecture
The diagram below provides an overview of the Microsoft components that comprise of the Altus solution. Altus deploy components that utilise the customer's own Microsoft 365 Tenant to provide a tight security posture and defined data sovereignty.

Updates delivered via Service Principal Identity
Altus is a cloud application that processes customer data within the confines of the customer's own Microsoft 365 environment. As a cloud application, updates and fixes to Altus are applied over time to add additional features and keep the product synchronised with the features and capabilities of the underlying cloud platform, which is also changing.
Updates are delivered in the following ways:
- The Altus Dynamics managed solutions are updated via the Altus Deployment Service Principal consented to in technical readiness. This service principal is granted administrative access to the target Altus Power Platform environment in order to stage and update the Dynamics solutions layers that are used by the Power Platform to provide the application.
- Power BI Reports. Updates to the Power BI reports could be applied manually via the deployment account (while it remains activated) or by appointment at a later time. Power BI Reports are likely to be customised as part of the initial engagement, so updating them at a later time is deemed unlikely.

The updates are delivered as follows:
- Sensei Hub Connection via Service Principal: The Sensei Hub makes a connection to the customer tenancy using a Service Principal consented to during Technical Readiness.
- Azure AD Authentication: The Service Principal is authenticated by Azure AD
- Power Platform connection: The Service Principal connects to a Power Platform environment via the Microsoft Power Platform APIs and is authenticated as Application User created during the manual deployment steps.
- The Application User is authorised by the Power Platform to either do the initial deployment or perform upgrades to the Altus solution layers in the environment.
Further information regarding the deployment of updates to Altus can be accessed on our publicly facing documentation portal via this link:
https://docs.sensei.cloud/solutions/Altus-Atsumeru/Reference/Updates.html
Module Hierarchy
Altus contains many modules to enable users to access the functionality most relevant to their user role. The diagram below articulates the modules in the logic hierarchy that underpins the solution:
| Module | Details |
|---|---|
| Strategy | Strategy is the top-level in the Altus module hierarchy. It is at this level where executives and senior managers set corporate strategy and the goals which underpin the strategy. Benefits can be defined within Strategy and tied to Strategic Themes and Goals. |
| Portfolios | Portfolios enables organisations to track both portfolios and programs. A Portfolio can contain programs projects. |
| Programs | Portfolio also contains programs. These can be stand-alone or contained with a portfolio. The program can contain many projects. |
| Projects | Project managers access their projects from Projects. |
| Proposals | Proposals are found within Portfolios. Proposals can be converted into a project. |
| Ideas | Ideas are found within Portfolios. Ideas can be converted into proposals. |
Solution Components
Solution Components Overview
Altus is built in the M365 technology stack and leverages the following Microsoft components:
| Component | Component | Details |
|---|---|---|
| Power Apps | PowerApps is Microsoft’s low-code solution for creating applications in Office 365. The Altus solution utilises the model-driven version of these applications to create forms, views, controls, and custom entities within the power platform environment. | |
| Power Automate | Power Automate (or Flow) is Microsoft’s solution for automating business processes and reducing the need for physical signatures and approvals via paperless processes. The Altus solution utilises Power Automate to enable approval processes and governance activities to be systemised and linked to projects, programs, and portfolios. | |
| Power BI | Power BI is Microsoft’s business analytics services that provides interactive visualisations and business intelligence capabilities using a simple, user-friendly interface. The Altus solution serves up Power BI Dashboards and Reports within the IQ application for users to consume at the portfolio, program, and project level. The Reports and Dashboards can also be consumed within the Power BI service itself providing users with the full set of features. | |
| Dataverse | Dataverse or CDS is Microsoft’s secure, and scalable low-code data platform. Data inputted by users into the Altus solution is captured in Dataverse for use in reporting. | |
| Teams | Microsoft Teams is the evolution from Skype for Business, and offers organisations a powerful method for communications, including video conferencing, chat, and collaborative workspaces. The Altus solution includes a custom Teams application to provide integration features between PowerApps, SharePoint, and Teams for an enhanced user experienced for collaboration on projects. |
Power Apps
The Altus application is essentially a large model-driven Power Apps application that is deployed to a client’s Power Platform environment.
We leverage Power Apps for the following functionality:
| Function | Details |
|---|---|
| Views | Views provides lists of data to end users in Altus. These can be interacted with by end users who can filter, sort, and export data from these views. |
| Forms | Power Apps enables users to input data via intuitive web forms to easily and quickly input information into Altus. |
| Controls | We leverage Power Apps to create controls within Altus such as the control to open external execution tools and create Groups and Teams for projects. |
| Custom Apps | We leverage Power Apps to create custom applications to more closely meet requirements that cannot be met with the model-driven functionality that underpins Altus. |
Power Automate
Power Automate is Microsoft’s workflow and task automation tool within the M365 platform.
We leverage Power Automate for the following functionality in Altus:
| Function | Details |
|---|---|
| Approvals | We use Power Automate to orchestrate the approval for items in Altus such as Change Requests, Project Gate progressions, Proposals, etc. This enables organisations to apply appropriate governance controls on objects within Altus. Power Automate enables notifications to be served up in tool (toast notifications) or as automated emails to approver users. |
| Creating Items | We also use Power Automate to create items within Altus to reduce administration and dual-data entry for end users. These can be triggered by user input via Power Apps forms or via custom buttons and even other Power Automate workflows. |
Power BI
Power BI is Microsoft’s business analytics services that provides interactive visualisations and business intelligence capabilities using a simple, user-friendly interface.
We leverage Power BI for the following functionality in Altus:
| Function | Details |
|---|---|
| Dashboards | In each module in Altus, we serve up context specific dashboards referred to as Insights. These provide users with the full context specific dataset which they can ‘slice and dice’ as needed to get quick insights on information contained with Altus. These dashboards are refreshed on a periodic basis to provide users with up-to-date information. |
| Status Reports | Project and Program manager users will need to create status reports on a periodic basis for their projects and programs. To mitigate the need for users to create these manually, we utilise Power BI paginated reports to create automated status reports. These reports are ‘click to run’ and query data from the Dataverse tables in near real time. This enables both project and program managers to create and share accurate reporting with system and non-system users (by exporting these reports to a wide range of standard formats such as PDF, PowerPoint, Word, Excel, etc.). |
| Custom Reports | The same methods mentioned above can be utilised to create and publish custom reports for end users. The method will be determined by the customer’s specific requirements. |
Dataverse
Dataverse or CDS is Microsoft’s secure, and scalable low-code data platform. Data inputted by users into Altus is captured in Dataverse for use in reporting.
We leverage Dataverse for the following functionality in Altus:
| Function | Details |
|---|---|
| Tables | Dataverse tables stored data key into Altus via Power Apps forms, by Power Automate flows or from the External Execution tools. These tables are hosted within M365 and don’t require organisations to stored information outside of their M365 environment. Information from these tables can be piped into data warehousing tools such as the Microsoft Data Lake. |
| Choice Fields | We use choice fields in Altus to limit the number of ‘free text’ fields that users have to input data into. This provides the PMO (or application administrator) with the ability to control input into forms. These choice fields can be re-used across multiple Dataverse tables. |
| Data Flows | Data flows are another Microsoft technology which can be leveraged to move large volumes of data within an M365 environment. We leverage this as part of our External Execution tools configuration. |
Groups and Teams
Groups and Teams Overview
A key feature of Altus is the ability for users to manage their project documentation and collaborate with other users on projects. To achieve this, we have leveraged Microsoft Groups and Teams.
Groups
Microsoft 365 Groups is a service that works with the Microsoft 365 tools which allows you to collaborate with your teammates when writing documents, creating spreadsheets, working on project plans, scheduling meetings, or sending email. Altus utilises Groups to enable project managers to store project documents and key deliverables for their projects. The documents are stored within a SharePoint Document library within the Group site.
Teams
Teams is the hub for teamwork where people, including people outside an organisation, can actively connect and collaborate in real time to get things done. Altus leverages teams to enable project managers to collaborate with their project teams to complete projects.
Teams and Group Options
Unique Teams/Groups
This scenario offers an organisation 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, 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.
Re-usable Teams/Groups
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 organisations 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 organisation 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.