T-Mobile manages company wide initiatives and more with Microsoft Power Platform
T-Mobile provides wireless voice, messaging, and data services in the United States, Puerto Rico and the U.S. Virgin Islands under the T-Mobile and Metro by T-Mobile brands. The company operates the third largest wireless network in the U.S. market, with over 84 million customers. Its nationwide network reaches 98 percent of Americans. As of 2018, J. D. Power and Associates, a global marketing-information-services firm, ranked the company highest among major wireless carriers for retail-store satisfaction four years consecutively and highest for wireless customer care two years consecutively.
They’ve seen widespread organic adoption of Microsoft Power Platform with hundreds of makers building apps and flows across several departments. In this post we’ll take a deep dive look at an app built by Brian Hodel, a Senior Systems Analyst with a pro-dev background, who embraced low code and the Power Platform to rapidly build complex solutions. The app, called Orbit, is used by team members, projects leads and executives to approve all new initiatives across the company, such as device promotions, service offers, and more. It uses Power Apps (canvas and model-driven apps), Power Automate, Power BI, Common Data Service, and integrates with Microsoft Teams. It also leverages out of box capabilities of Common Data Service such as a low code approach to configure business process flows and manage robust role-based security permissions. The app has been running in production since February 2020, with approximately 250 daily active users and 750+ new initiatives entered in the first two months.
We will also describe the efforts of a passionate Principal Systems Architect, Arturo Silis, who helped build an internal community of over two hundred Power Platform champions at T-Mobile. They collaborate using SharePoint and Teams, where they share their learnings and help each other use the Power Platform to solve business problems across retail, legal, finance, sales, marketing, and IT.
Video highlighting the Orbit App and the internal community of champions
Meet Brian Hodel
For over 10 years, Brian has worked in process improvement in industries ranging from manufacturing to healthcare. During that time, he realized that the two biggest barriers to change across all industries is people and technology. He says, “people don’t like change and technology is expensive and slow to change.” To address these challenges, he began leveraging the Microsoft 365 suite and built live dashboards and reports to share real-time information with employees and management. This changed their perspective from reactive to proactive, preventing problems before they happened. When he came across Power Apps, he immediately saw the potential to further build on the existing tools, without the large investment that is typically involved with building custom applications.
Skip forward a couple of years, and many custom applications later – Brian has successfully built and deployed a comprehensive project management platform that leverages all of the great features and capabilities that those tools offer. He has also been working with other makers in the organization through one to one sessions, workshops, and demonstrations to build their skillsets and implement best practices. He is currently working with the platform team and T-Mobile IT to deploy the Center of Excellence Starter Kit to give better guidance and resources to makers in the organization.
Here’s Brian’s perspective, in his own words, on building partnerships between pro devs and citizen devs:
What scenarios do you see where citizen developers are likely to call in a pro dev?
“I definitely think a pro-dev should be called, at least for consulting on a build strategy and architecture review, anytime there is an expectation of a large amount of data or a complex data structure. I have seen many times where apps are built on SharePoint where it works fine until they start running into delegation issues and suddenly find out that the whole things needs to be moved into a another platform.”
Do you have any examples of where pro devs call in citizen devs to collaborate on a solution?
“There are times where I just hand off a project to a citizen dev because I feel it is a learning opportunity and/or simple enough that the citizen dev will be able to handle it. Often, especially on teams that are used to building on other tools, they tend to overestimate the complexity of the solution at hand. My background is in process improvement, so I am used to the Six Sigma structure of mentorship and growth. I think that same model applies to this situation as well, where you can have, ideally, defined skill levels that help you to optimize your developer resources, have a structure for learning and growth, and have an established path to find answers to questions.”
How do you see pro dev and citizen dev working together?
On larger projects, I like to separate administrative functions out into other apps, especially if they are stopgap issues, until the new tool can be up and running. I like to use these opportunities to have a citizen dev work alongside me to both have a concept of how the new tool is built, but also to build the smaller solutions that I need for various roles. The nice part of this is that it helps with my bandwidth and gives them an opportunity to have coaching along the way to learn best practices and new methods.
Managing company-wide initiatives – ORBIT APP
For T-Mobile to be competitive and a leader in the telecommunications industry, there are a myriad of customer initiatives that are constantly being run, such as device promotions, service offers, technical initiatives, etc. The complex customer initiatives process, from initial input to final approval takes months to complete and involves anywhere from 5 to 15 employees at every stage. This includes project members, team leads, and executives. The process is owned by the marketing team, but it involves inputs and approvals from almost all business functions such as legal, finance, sales, IT, etc.
Before Microsoft Power Platform
Prior to the Power Platform solution, the initiatives process was not centralized. There was no cohesive way that intakes were inputted or reviewed, and mainly Excel was used to run the process. It was time and labor intensive and cumbersome to review.
Power Platform Solution
After an initial Power Apps pilot using a canvas app connected to SQL, the team decided to rebuild the app using the Common Data Service. Brian and his team built a reconstructed Orbit app that had many new features and far surpassed the capabilities of the original SQL-based app. The rebuilt version took advantage of several out of box capabilities in Common Data Service such as generating declarative UI based on a data model (model-driven app), configuring business process flows, and easily configuring role-based security permissions. This solution has been in production since February 2020 with over 3,500 customer initiatives being managed in the app, 700 of which were created within the first two months of going live. The solution is available to ~40k users at T-Mobile, and as of May 2020 has approximately 400 app launches and 250 active users per day. In the month of May, there were ~400k API calls and 600+ unique active users performing ~150k CRUD (Create, Read, Update, Delete) operations on production records.
Power Apps canvas app for tracking initiatives and managing multi-stage approval process
So how is Orbit used by project team members? When a project member needs to create a new initiative, such as a promotion for a new device, they go into the app, input the details, and attach all relevant documentation for their team leader to review. The app is also used by T-Mobile executives to review and approve initiatives. The various tabs in the app are used in specific ways by different members of the team. For example, an executive may use the ‘summary’ view to read the comprehensive notes and key stakeholders on the initiative, whereas a project member will use the ‘detail’ tab to input all the details of the initiative. Once the initiative is entered, a series of follow-up actions are triggered based on the type of promotion – e.g. service offers, device promotions, etc. Some of the key functional features of the solution is as follows:
- Managing initiative details: The input forms have built-in smarts, such as dynamically showing fields based on the type of promotion selected and performing input validations for each field.
- Approvals: Once the initiative details are added to Orbit, an approval flow runs and sends an email to the appropriate executive to approve. Executives can view all their pending approvals within the app.
- Viewing and filtering initiatives: All team members can view the full list of initiatives. The list can be filtered based on several fields, such as pending approval, date, project type, etc., as well as free text queries.
- Executive summary: This view is used by executives to get a summary view on the initiative, including the key stakeholders. The page has a toggle that allows executives to make changes depending on their permissions.
- Attachments and document storage: Project members can upload multiple documents as attachments for each initiative. There is built-in logic, so depending on the initiative type, there are placeholders for the appropriate required documents.
- Note taking: During meetings, project members take notes related to specific initiatives – all this information is kept up to date in real-time in a single central location.
- Managing security and team permissions: There is a complex hierarchical permission structure in the back end. Levels of permission vary for different teams, sorted by line of business, role of the individual on the team, etc. For example, most people won’t have access to “dark” records, or some individuals will only have view rights versus edit rights.
Impact and benefits
A summary of the key benefits and impact of the Power Platform solution are as follows:
- One source of truth – a single system where all the data is centralized
- Easy to scale app with data-driven approach – easy to add a new ‘type’ of initiative based on business requirements
- A complex system that is built on low code with a lot of flexibility to make changes
- Permissions are managed at a granular level with the ability to add and remove users as roles are predefined
- Administrators have flexibility to do a lot of custom activities – like custom Power BI reporting, audit logs etc.
- Teams Adaptive cards brings together a news feed and task list into a single place for project members to act on.
Overall, the Orbit app has been a powerful example that brings together the capabilities and extensibility available in the Power Platform to implement a business critical solution, which is used to manage the pipeline for new initiatives and approvals across several departments at T-Mobile. Next, let’s take a deeper look at the technical details of this solution.
Solution architecture and implementation patterns
Orbit has complex capabilities with extensive amounts of data that needed to be entered, reviewed, and analyzed. The team made several architecture and implementation choices to utilize the full spectrum of capabilities of what the Power Platform has to offer.
High level solution architecture of the Orbit solution
Choosing to build Orbit as a canvas app
The executives at T-Mobile were particular about the look and feel of the app – they wanted a T-Mobile branded experience and were particular about various UI elements on the screen – layout, size, etc. For this reason, they chose to build it as a canvas app and put in the extra effort to get pixel perfect control over the UI. At the same time, there are several benefits that come with model-driven apps such as auto-generation of the user interface based on the underlying data model and using business process flows. The subsequent sections below describe how these were incorporated into the holistic solution.
Using Business Process Flows (BPF) in a canvas app
The Common Data Service provides rich capabilities for managing complex business process flows. This is typically exposed to makers and users within model-driven apps. Since this solution was a canvas app, the team implemented a custom connector to directly interface with the underlying CDS business process flow engine using the CDS APIs. To use render a BPF within Canvas App, T-Mobile tapped into the rich APIs available with CDS. To accomplish that, they created a “codeless” custom connector in which they only defined the Open API spec that lines-up with the underlying CDS API service without building the service itself.
Depending on the type of the initiative and the approvals needed, the appropriate flow path is assigned. For more details, including a downloadable sample template, see this article on using BPF in canvas apps.
Canvas app user interface for the business process flow
Business Process Flow – creating and updating process stages in a no-code editor
Using canvas components
There are shared Power Apps canvas components used throughout the app. This made it easier to repurpose common elements, reducing the overall development time and improving the maintainability of the app. Some examples of components are as follows:
- Top navigation bar with menu options
- Left navigation bar that allows the team members to input and view specifics
- Interface for selecting filters in the main list view
- Form components with built in validation logic
Screenshot showing usage of canvas components
Using Common Data Service for attachments
The documents associated with initiative that are tracked in the system are stored in Common Data Service. T-Mobile chose Common Data Service over other document management solutions because it scales to accommodate large files, and the team wanted to keep everything in one environment. There is also a version control feature – the history of each document is stored, along with the latest version.
Screen used to manage attachments associated with an initiative
Managing user permissions
Common Data Service provides a security model that protects data integrity and privacy, and supports efficient data access while providing users with the access only to the appropriate levels of information that is required to do their work. In the case of T-Mobile, the app was used by executives, project managers, and team members, each needing different views over the data given their role. There is a complex hierarchical permission structure in the back end, which makes it easy to add someone because the permissions are pre-defined. They have also leveraged the Teams Channel permissions to manage certain groups of users.
Robust role-based security access – configurable in canvas app using CDS User Security Management APIs
A model driven app is used by back-end administrators to perform a wide range of additional activities that are not built into the canvas app. This includes – advanced search capabilities, exporting data to Excel, and more. For this target audience, the user interface did not need a high level of branding and layout customization and the model-driven approach worked well to rapidly generate an application with responsive UI.
Power Apps model-driven app used by backend administrators to manage initiatives
The Orbit app is embedded in a Teams tab, along with the associated Power BI reports. A news feed of high visibility changes, such as new submissions or intakes, shows up on the Posts tab. Utilizing Teams allows project members to have a single place to access Orbit related tools and information.
Power Apps and Power BI run embedded within tabs in Microsoft Teams
Teams Adaptive Cards
Utilizing the Adaptive Cards feature in Teams allows project members to have customized news feeds that let them easily find out what is going on with initiatives in a single place. The Adaptive Cards has allowed the business to design custom, interactive cards that can display and gather information related to initiatives in a variety of ways so users can easily identify and interact with initiatives from directly within Teams.
Screenshot of an adaptive card posted in a Teams channel using Power Automate
Power Automate was not only used to send approval notifications but also as a “low code” mechanism to process data on the server-side and return an appropriately formatted data response to Power Apps. In effect, a substitute to building a full fledge API service. In the case of the Business Process Flows, Power Automate was used to orchestrate Approval requests creation and process stage advancement as can be seen in the following flow.
Dashboards and reports built using Power BI are used to get detailed analytics and visualization on the progress of initiatives as they progress through the approval pipeline. These reports are also embedded as tabs within Teams.
Power BI dashboard for tracking approvals
Building a community of makers – Arturo Silis
The sections above provided a deep dive look into one solution. Across T-Mobile, there are several other app makers in different departments that have discovered the Power Platform and are using it to solve business problems. Let’s look at the efforts of one individual, Arturo Silis, who is bringing these individuals together as a community of Power Platform makers.
Arturo Silis has spent twelve years at T-Mobile. His roles have varied from a sim card hardware engineer to a software engineer. He is currently a Principal Systems Architect. The focus of his job is to be the interface between the business and core networks – to gather business requirements from various team members and build a network offer. The first Power Platform solution that Arturo built was used to optimize an old manual process of collecting offer requirements. He used Power Apps to digitize the intake of offer requirements, Power Automate for reviewing offers, and Power BI for progress reports.
This was just the beginning of Arturo’s Power Platform journey. In 2018 he was invited to join the Power Apps Champions community managed by Microsoft, which inspired him to build a similar community within T-Mobile. He was driven by the productivity that could be found when manual processes were automated using Power Apps. Instead of answering one-on-one questions, he decided to build a community and host ongoing monthly learning sessions. There is now a community of 230+ members within T-Mobile that regularly collaborate and share learnings and best practices using SharePoint and Teams. While this is not Arturo’s day job, it is his passion to build this community, that in turn teaches others to use the right tools for the right solutions. Hear more about Arturo’s experience in this Microsoft Business Applications Summit 2020 interview with Dona Sarkar.