Chapter 1. Rapid Innovation with the Power Platform

I once solved a critical issue with a business process by pulling a single all-nighter with the Power Platform. I was working for an organization that had one or more off-the-shelf products at its disposal with the ability to capture its workforce’s skill sets, but those products didn’t meet the business’s specific needs and had limitations that the business couldn’t work around. Over the years, the organization had lost track of employees’ unique skills, and it was spending time, money, and effort searching for candidates who could fill niche customer needs while not knowing that it had those skills in-house. The business managed to go on without finding or building a solution to solve the problem until a potential customer asked for very specific information about the team’s experience and the organization could not easily provide it. It was that moment that would spark a change, and that’s when I began working on a solution using the Power Platform.

The potential customer asked the business several questions that should’ve been easy to answer. How many of your employees have experience with the JavaScript framework that we’re using? What is the mix of senior versus junior? How many years of experience do they have? At that point, the sales team members who were working toward landing that business began to scramble. They reached out to human resources, directors, and staff that they were aware of with the skill or a related skill. They mobilized all of those people to help search for those answers, all the while knowing that they weren’t going to get exact numbers.

At least a dozen people were roped into this desperate search, and eventually they gathered sufficient information. But if we take a step back and think about what that meant to the business, you’ll see several problems with what happened:

  • It showed a lack of understanding of their own team.
  • It almost cost that business a new customer and a lot of revenue.
  • It took people away from other high-value tasks.
  • It cost the company thousands of dollars, if you look at it in terms of hourly wages or hourly billing rates.

After this incident, the business was naturally worried about a similar situation happening again. In a meeting that included executives and several key business leaders, I proposed that they leverage the tools that they already had and build a solution to track employee skills. The team agreed, and I set off to build this skill-tracking solution. I spent roughly 8 to 12 hours on it using Power Apps, and in the end, the company had a prototype of an app that would allow employees to:

  • Select a skill from a drop-down that retrieved information from a SharePoint list
  • Enter the number of years of experience the had with that particular skill
  • Enter their proficiency—in other words, whether they felt they were a beginner, intermediate, or expert at that skill
  • Enter any notes that they wanted to include about that skill

The company immediately kicked off a pilot. Feedback was gathered from the staff, some minor UI tweaks were made, some bugs were identified and corrected, and over time we made further improvements and evolved the solution. Business processes also changed. Employees were instructed to update their skills in the app whenever they completed a project, the assumption being that they may have gained a new skill that needed to be accounted for. As the app continued to successfully solve the need, more and more people were invited to use it, and eventually all of the technical staff were tracking their skills.

When I made the recommendation to use Power Apps, I also recommended that the company start a separate project using Power BI to help them report on that information. They then mobilized their business intelligence team and created reports and dashboards where the executives and recruiting team could see where they were lacking in skills based on upcoming customer needs, where they needed training, where they could leverage similar skills, and even when employees were coming off of projects—all to help them plan whether they could staff a team member or should start a hiring search.

If this were a traditional project—leveraging modern web technologies like Angular or React for the frontend, a SQL backend, a reporting layer, Azure Functions, unit testing, code reviews, etc.—the team composition would likely have been two developers (with at least one being at a senior level) a project manager, a database engineer, and potentially a UI/UX developer, a quality assurance (QA) engineer, and a business analyst. That project likely would’ve taken roughly four to eight weeks, and if a team of people were hired to build that solution, it would have cost tens of thousands of dollars per week in the US—versus the one and a half business days that it took me to build a prototype.

You might be thinking, “Well, you probably have a lot of experience with the Power Platform and build these types of solutions all the time.” I can tell you that while I do work with these tools quite a bit today and often do projects, presentations, and demos involving these products, at that time I had only dabbled with them. I had maybe two Power Apps solutions under my belt and a handful of Power Automate solutions—before it was called Power Automate—so I wouldn’t say by any means that I was an expert with these tools at the time.

This real-world example should illustrate the power of the Power Platform, and I’ve only mentioned two of the apps so far! Before we dive into the nitty-gritty of the apps that form the Power Platform, let’s take a step back and look a little closer at what it is and who it’s for.

The Rise of Low-Code/No-Code Solutions

Over the last few years, we have been seeing a significant shift in how business solutions are built. In an effort to keep up with the speed of business and the need for technology to help solve everyday problems, companies have been opting to create solutions that meet their needs using products that allow you to create apps, automated business processes, and other kinds of solutions without needing to be a professional developer or know how to write code. These tools are commonly referred to as low-code/no-code technologies. Microsoft 365 provides a collection of apps that fall into this category of low-code/no-code, and the core ones include Power Apps, Power Automate, Power BI, Power Virtual Agents, and Power Pages. Over the course of this book, I will go over what each of these do in detail and introduce other apps in the Power Platform that are at your disposal.

So what is the Power Platform? The Power Platform is a collection of apps designed to allow you to rapidly create end-to-end business solutions. Figure 1-1 shows the icons of five of the Power Platform apps that are used the most.

Figure 1-1. The Power Platform

You may be wondering why a business would turn to these types of solutions instead of simply hiring or relying on traditional development. While there are plenty of reasons, cost savings and speed are high on the list. A traditional software development project often requires a team of people to plan, build, test, and deploy a solution. A project may have one or more frontend and backend developers, project managers, business analysts, and database administrators. Projects can also include UI/UX designers, QA testers, and possibly a DevOps team to help build automated deployment processes designed to get you through the development, quality assurance, and production deployments. The team of people involved alone can be costly, and when you factor in things like storage, cloud services, and resources, the costs really begin to add up.

Speed also factors into the cost of building solutions. The Power Platform gives you the ability to create solutions in a fraction of the time that it takes to build them using traditional development methods. I started this book by describing a situation where I created an app in a single night—though by the way, I am not promoting sleep deprivation! That solution might’ve taken a few days to build as a prototype using traditional development methods. The time saving comes from being able to drag and drop controls onto a canvas and configure properties without understanding code or HTML, knowing how to properly structure that code, or knowing how to create complex business logic with code.

Once you factor in all of those costs, a lot of times the smaller projects get pushed aside because the cost and effort seem too high for the work requested. Businesses are built on systems and repeatable processes that undergo continuous improvement as they grow. Let’s take an example of a small business that starts with simple processes like manually filling out invoices and sending an email to request an approval before sending an invoice. As the business grows and the number of invoices and approvals grows, the possibility of errors increases. Errors could be things like adding the wrong amount to the invoice. Maybe the business adds rules saying that if the invoice reaches a certain dollar amount, extra approvals are needed. Those types of errors could damage a business’s revenue and reputation.

Let’s look at another example of a typical business process—the employee onboarding process. When a person is hired, you want them ready to go on their first day, and a bad onboarding experience could be problematic in more ways than one. What are the common things that occur to get ready for a new hire? In no particular order, here are a few things that happen:

  • IT needs to create a user account and set up their email.
  • Equipment needs to be ordered, such as a laptop, a docking station, monitors, and possibly a phone.
  • An employee badge needs to be ordered if the hire is required to enter a secured building.
  • Access to applications like the company’s time-tracking system needs to be set up.
  • The team should be informed that a new member will be joining them.
  • HR needs to send benefits information, like instructions for setting up a retirement account and health benefits.
  • Employee orientation may need to be scheduled with more than one new hire and the person or people who will be running those sessions.
  • Some organizations assign a “buddy” who will be the new hire’s go-to person for information about the company.
  • Training may need to be scheduled.
  • Welcome lunches may need to be scheduled.

A small organization might choose to handle much of this manually. Once the hiring manager tells human resources that they intend to hire someone, HR may go through their checklist and begin the process of alerting their people to get started organizing the onboarding tasks mentioned above. In a small organization, it might be easy enough to just ask the procurement team or the IT team to run through their respective checklists. Emails begin to fly, and the tasks may get done, but you still run the risk of missing something. A key piece of information isn’t shared, or someone forgets to order a laptop, or, worst of all, someone forgets to schedule the day-one lunch!

These unfortunate scenarios could have consequences. Forgetting any of the key steps in the onboarding process could result in a loss of productivity and hurt the business’s reputation. I don’t know about you, but if I start a new in-person job, I’m looking for that lunch! Joking aside, this is a common business process, and scheduling a lunch is typically manual. Routine tasks often get overlooked by businesses needing to prioritize their projects. If a project requires a team to develop a solution or a consulting firm is hired to create something, the money gets tied up and something like an onboarding solution, where one might assume that each step is well documented and everyone knows their role, may not be anywhere near the top of the list.

With the Power Platform, you can build low-code/no-code solutions like a skills tracking app or an employee onboarding process. You don’t necessarily need a team of people to create solutions that will optimize this process. In fact, you can incrementally add to these solutions and solve your problems as you go, in the same way that your business incrementally refined its onboarding process as the years went by. For example, with the Power Platform, you may begin with a workflow that will automate sending those previously manual emails to key people, informing them of their HR tasks when a key piece of information is uploaded to SharePoint. Next, you may create an app that collects relevant information about the new hire, like the equipment that needs to be ordered for them. Later, you may decide to capture that employee’s key skills and create a report to help you understand where your business’s strengths are and where you may have a lack of skills.

The Power Platform gives you the tools that you need to build custom forms and create automated processes quickly so that you can build solutions that address a problem and incrementally improve it as your business grows. We will dive into these apps and the types of solutions you can create with them as we progress through this book. My hope is that you will see the benefit of these tools, get inspired to build your own solutions, and realize that you don’t necessarily need to push potential projects aside because of budget constraints. In the next section, we’ll take a closer look at five of the main apps that comprise the Power Platform.

The Major Tools in the Power Platform

If you find yourself needing to make critical decisions around which projects to invest in and which to put on the backlog, if you need a solution but off-the-shelf products may not meet your unique needs, if you have a need that can be gradually built, or if you have gaps in your business that need to be addressed quickly, the Power Platform may be your solution.

At this point, I’ve highlighted a few real-world scenarios, including a personal experience with the Power Platform where I used it to quickly solve a major organizational need. In Chapter 2, we’ll take a closer look at the major tools (Power Apps, Power Automate, Power BI, Power Virtual Agents, Power Pages) as well as several additional services and features. I’ll also introduce the ways you can easily incorporate AI into your solutions.

Setup Before We Get Started

Before we begin creating solutions, you’ll need to have access to Power Apps. If you have access to Power Apps, maybe through a Microsoft 365 tenant at work or a developer tenant that you already have, then you can skip this section. If you do not have a place where you can tinker, don’t worry, Microsoft allows you to create your own development tenant for free. I should probably mention that if you’re using a work tenant, you may want to consult with your IT department to make sure there aren’t any business policies that may be an issue, and you’ll also want to make sure that any solutions that you build are using test data first. You wouldn’t want to accidentally create an app that overwrites important business data!

Microsoft has a Microsoft 365 Developer Program (Figure 1-2) that allows you to create your own development tenant. At the time of this writing, the tenant has a 90-day expiration, but as long as you’re using the tenant and deploying solutions to it, you will be allowed to continue using it. It comes with 25 E5 user licenses, sample content, and access to just about all you will need to not only build Power Platform solutions, but gain an understanding of what Microsoft 365 has to offer.

Figure 1-2. Joining the Microsoft 365 Developer Program

Once you hit the “Join now” button, you’ll be taken to a profile page where you’ll be asked for basic information like your email address, country, and more. Next, you’ll have a choice between an instant sandbox or a configurable sandbox (Figure 1-3).

Figure 1-3. Microsoft 365 developer subscription

The instant sandbox will create a tenant that is preconfigured and contains sample content. The benefit of an instant sandbox is that you’ll be ready to go from the beginning, but you won’t be able to specify your domain name, which means your tenant will be named for you (you’ll get a randomized alphanumeric name). The configurable sandbox will let you provide a domain name, but you may need to wait up to two days to have all of your content, and you have to manually add the samples.

Once you hit Next on this screen, you’ll be ready to log in to your own personal tenant. You’ll receive an email describing what comes with the selected tenant as well as some links for additional training. At this point, you can log in to your tenant by navigating to the Office 365 portal and entering in the new admin account and password that you received during the tenant setup.

Congratulations! You now have a tenant, and if you click on the app launcher icon at the top left (or, as some call it, the waffle icon) you’ll see several apps that are already available to you, including Power Apps, Power Automate, and Power BI (Figure 1-4).

Figure 1-4. Office 365 portal and apps

Now that you’re set up and ready to go, start Power Apps by clicking its icon in the app launcher. In the next chapter, we’ll start to explore the UI and what it can do before jumping into creating any solutions.

Get Building Solutions with the Microsoft Power Platform now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.