Software Development Over the Years

Over the past few decades, people and organizations have witnessed the digitization of business processes through the adoption of diverse software solutions. The introduction of products like Microsoft Windows in the 1980s, which evolved from MS-DOS, marked a significant moment in software history. This event ushered in the era of application development, which led to numerous advancements in software development practices.

Software developers have long relied on conventional programming languages to create software that addresses the increasing needs and challenges of businesses. Because of this, individuals with expertise in these languages have been crucial in developing software to meet organizational demands.

The quantity and quality of software developers proficient in these programming languages haven't kept up with demand. Due to this skills gap, the software industry struggles to keep pace. However, traditional programming languages are no longer the sole means of software development.

Since the early 2010s, there has been a growing shift towards low-code technologies and rapid application development (RAD) as alternatives to conventional software development. Many low-code platforms have surfaced, and Microsoft joined the space in 2015 with its Power Apps product. This broadened the range of employees able to participate in software development, helping to address business needs and bridge the skills gap.

Today, Microsoft Power Platform empowers organizations by making software development more accessible, enabling faster application creation, and entrusting the task to business users.

The Recent Emergence of Generative AI & Microsoft's Product Approach

For roughly a decade, we've witnessed a period of digital transformation. Microsoft encouraged every organization's shift towards a software-centric approach, recently supporting companies to develop their own software. In 2019, Microsoft unveiled an exclusive computing alliance with OpenAI. With a $1 billion investment from Microsoft, OpenAI set out to construct a platform for pioneering AI technologies, aiming to realize the potential of artificial general intelligence.

In May 2021, Microsoft incorporated OpenAI's GPT-3 model into their Power Apps tool, enabling the generation of Power Fx formulas from user-provided natural language descriptions (Figure 1). Since then, Microsoft has consistently advanced the low-code domain, leveraging AI's potential. They've supercharged the Power Platform with various enhancements, from improving user interface design with Express Design in Power Apps, to enabling the creation of low-code automation flows with just a single natural language sentence, and even introducing Copilots that interact with users to craft low-code digital solutions.

Figure 1: Express design in Power Apps – Microsoft – October 2022
Figure 1: Express design in Power Apps – Microsoft – October 2022

Along with Microsoft's evolution in product development, they are leading a paradigm shift in the industry, transitioning software companies into strategic AI entities. Forward-thinking organizations are moving from establishing their low-code strategies to defining their AI approaches (Figure 2), particularly examining how these two elements can work together.

Figure 2: Companies will become AI companies to meet their software needs. - Microsoft - November 2022
Figure 2: Companies will become AI companies to meet their software needs. - Microsoft - November 2022

Adopting Low Code / No Code and the Benefits of Rapid Application Development (RAD)

When considering how organizations adopt software and craft custom solutions for their business processes, there's a noticeable shift due to the rise of low-code platforms. In the past, organizations relied on conventional software development to meet their needs. This approach resulted in slower, less frequent custom software adoption due to higher costs. Additionally, software development was typically reserved for experts proficient in intricate programming languages.

Today's software development landscape has transformed. Platforms like Microsoft Power Platform cater to a diverse audience, from makers and citizen developers to seasoned coding professionals. Power Platform democratizes software development, empowering business users to craft many of their own solutions. This low-code platform also expedites the development process for intricate solutions tailored by professional developers. These pros can leverage the Power Platform to construct components that they once had to code manually, allocating more time to the more intricate facets of the projects they undertake.

Due to the advantages of low-code platforms, organizations are now rapidly creating custom software to cater to their business needs and operational workflows. For more on this, see Chris Huntingford's article, “The Rise of the Low-Code Ecosystem,” in this magazine.

Low Code Automation with Power Automate and Recent Enhancements in Generative AI

Power Platform has evolved into a comprehensive suite of low-code tools, now incorporating generative AI capabilities to make software development accessible to business users, turning them into citizen developers.

Digital automation addresses many challenges for organizations, enabling employees to concentrate on higher-value and more gratifying tasks. This can range from robotic process automation solutions to cloud-based automations that transfer and modify data across various cloud platforms. These are just pieces of a broader solution mosaic.

Microsoft's strategy for democratizing automation centers on empowering citizen developers (business users) with the ability to craft automation solutions. Citizen developers achieve this through Power Automate, an integral part of the broader Power Platform. Power Automate's inception traces back to a Microsoft hackathon, the brainchild of Charles Lamanna and his team. It laid the groundwork for Azure Logic Apps and Microsoft Flow, which later became Power Automate.

With the integration of OpenAI features, Microsoft has enhanced Power Automate with generative AI functionalities, further equipping citizen developers. This amplifies Microsoft's belief that everyone can be a developer and every organization is on the path to becoming an AI-centric entity. Developers can now articulate the processes they wish to automate (Figure 3). Power Automate and Copilot interpret natural language input, designing a tailored solution. Such innovations have only recently surfaced in the product arena, signaling an exciting future where generative AI merges with low-code platforms.

Figure    3: Describe it to design it – Microsoft – October 2022
Figure 3: Describe it to design it – Microsoft – October 2022

Enabling People and Organizations to Automate Business Processes With a Set of Low-Code Building Blocks, Recently Infused With AI

Power Automate offers a low-code collection of elements, categorized as triggers and actions, which users can assemble to address automation needs. With over 1,000 pre-made connectors available for developers on the Power Platform, both makers and seasoned developers can interface with a multitude of platforms, both within and beyond the Microsoft Cloud ecosystem. Furthermore, the platform's flexibility is enhanced with features like custom connectors, enabling adept developers to safely engage with custom APIs.

Power Automate's capabilities range from supporting solutions designed for small teams to those tailored for large-scale, business-critical applications engaged by thousands. Consider a basic task: sending a team notification every time a new account is added to the CRM. For such common needs, one can simply instruct Power Automate in natural language about the desired outcome, and with its “describe it to design it” feature, the system will generate the necessary flow.

For a more complex example, imagine working in a department that frequently receives emails containing image attachments, such as scanned documents or photos. To enhance my team's productivity, I want colleagues to be able to search text within these attachments, which might contain invoice numbers, purchase order details, and more. Turning to Power Automate for a solution, I'd instruct Power Automate: “Utilize AI Builder to extract text from image attachments in emails and incorporate that text into an email response. This way, the content becomes searchable within our mailbox.” Figure 4 shows the suggested flow.

Figure 4: Using Copilot to build a flow
Figure 4: Using Copilot to build a flow

Using the “describe it to design it” method, I was provided with a suggested workflow shown in Figure 4. This workflow activates when emails come into my inbox, examines any attached images for text, and then sends an email back to me with the results. With a simple instruction, I've created an automation that fulfills my needs and will save my team countless hours of manual work.

Next, consider a Power Automate flow I've created to extract data from the invoices we receive (Figure 5). I've updated it so that now I also receive a text summary of the extracted information, using GPT from the Azure OpenAI Service. I'm not just creating software with the help of generative AI; the software itself employs AI to yield better, more efficient results for my team.

Lastly, if I ever want to adjust my flow but am unsure how to do it, I can now use Copilot within Power Automate. With this feature, I can make changes using plain language. It's an exciting glimpse into the future of user-friendly automation in the age of generative AI and Copilot.

Figure 5: Copilot in Power Automate - Microsoft - May 2023
Figure 5: Copilot in Power Automate - Microsoft - May 2023

When we ask the question, “What if my business process is already flawed? Can automation fix everything?” the answer lies in process mining with Power Automate. This tool allows business leaders to pinpoint inefficiencies throughout their company's workflows. It offers a comprehensive suite of features for quick setup, profound insights, and tailored reporting.

Furthermore, process mining showcases the strength of AI in supporting these analyses (Figure 6). It delves deep into the root causes of inefficiencies within organizations, granting full transparency of processes. This clarity helps companies identify the precise areas where their business operations need refinement.

Figure 6: Process mining in Power Automate - Microsoft
Figure 6: Process mining in Power Automate - Microsoft

Organizations are using Power Automate in so many ways from digital process automation, through to robotic process automation, as well as elements like process mining. Today, in the recently entered era of generative AI where we're seeing numerous Copilots launched alongside many more AI solutions, organizations are building with low code in Power Automate using natural language, AI Builder models, AI-powered root cause analysis on business problems and so much more. And we are right at the start of this era.

For more insights, read Angelo Gulisano's article, “Using Power Automate to Manage Process,” in this issue, where he delves into creating a system to extract invoice data from attachments.

Introduction to Microsoft's RAD Offering, Power Apps

Microsoft's approach to crafting front-end solutions for diverse devices is rooted in low-code and rapid application development, prominently via Power Apps. The platform empowers individuals across a broad spectrum of backgrounds to harness low-code components, intuitive drag-and-drop interfaces, and data-centric building tools. The result? High-caliber apps that help solve a wide array of business challenges.

Since its debut in 2015, Power Apps has expanded its array of options for creators. Initially, there were three app types: portals, canvas apps, and model-driven apps. But things evolved. Now, what were once known as “portals” have transitioned to “business websites,” developed within Microsoft's newly introduced Power Pages, which launched in 2022.

Canvas apps (Figure 7) offer creators more flexibility in sculpting a user interface from scratch. Canvas apps provide an intuitive drag-and-drop environment paired with Power Fx low-code language. Creators articulate their business logic in formulaic terms that Power Apps comprehends. These apps are amplified by reusable components and a vast connectivity range to over 1000 data sources via Power Platform Connectors. This vast integration allows users to access and modify data across their myriad business systems seamlessly.

Dive deeper into the nuances of Power Fx in the article, “Power Fx: Low Code for Everyone,” by Mike Stall and Greg Lindhorst in this magazine issue.

Figure 7: Building a canvas app
Figure 7: Building a canvas app

When organizations want to rapidly develop applications rooted in their data structure (as can be done within Microsoft Dataverse), they can turn to model-driven apps. These apps allow for speedy creation using a standardized user interface (seen in Figure 8). Here, creators can employ drag-and-drop features to personalize data views and forms. They can also emphasize business procedures to users and enhance functionality through plugins, digital automation flows, and additional features.

Figure 8: Building a model-driven app
Figure 8: Building a model-driven app

Microsoft has revolutionized the concept of application development with these two options. We've observed a growing number of organizations embracing Power Apps, crafting solutions for various business challenges, whether for team members working remotely in the field or those stationed at a desk.

How Power Apps Is Continuing to Enable People and Organizations to Build Software at a Rapid Pace With Low Code

Since the arrival of Power Apps, Microsoft has continued to make developments in the low-code and RAD space. Today, makers have more options than ever to kick start their application development from Power Apps, as well as other interfaces in the Microsoft Cloud ecosystem, such as across Microsoft SharePoint.

Today, makers can create apps from data, a page design, from templates, or even by supplying Copilot with a sentence of natural language from which it can start to build a data model (Figure 9). More than ever, organizations have the tools to build applications for their business problems without the need for relatively slower and more expensive traditional development.

Figure 9: Power Apps lets you build an app by typing a few sentences.
Figure 9: Power Apps lets you build an app by typing a few sentences.

Starting with data, creators have a variety of avenues to initiate app building. Users can upload an Excel file (Figure 10), and leveraging AI and Copilot, this data can be transformed into a Dataverse table.

Figure 10: Uploading a legacy Excel file to build an app with Copilot
Figure 10: Uploading a legacy Excel file to build an app with Copilot

Following this, an application is readily crafted from the table (Figure 11). This process allows organizations to convert their older Excel files into functional applications designed for multiple user interactions. And when it's time to expand upon these datasets, Dataverse is equipped to manage the added tables necessary for storing data within the newly built applications. For a fun example of this in action, see Shane Young's article, “Phillip's Power Apps Odyssey,” in this issue.

Figure 11: Building applications with legacy Excel files and Copilot
Figure 11: Building applications with legacy Excel files and Copilot

Suppose you're focused on your app's design and want to explore what Power Apps offers from a UI/UX standpoint. Start with a basic page layout and let Power Apps demonstrate its design capabilities using your existing data or initial sketches. Among the available features, there's the split-screen layout, a blank canvas, and more. Notably, Power Apps uses AI to convert an image or a Figma design into a functional application for further development (Figure 12).

Figure 12: Convert an image into an app
Figure 12: Convert an image into an app

Microsoft offers even easier ways for creators to develop applications to aid business operations. With the features of Copilot and generative AI, creators can give a simple description in plain English about what they want their application to do. In response, Copilot produces an app equipped with the described capabilities.

Imagine you need an app to oversee vehicle inspections. You might not be well-versed in Power Apps and lack coding skills, but your business still requires a solution. Here's where the AI features of Power Apps come into play. Using Copilot, you instruct it: “I need to manage inspections for vehicles at my workshop.” You can see the response in Figure 13.

To start, Copilot designs a table with columns and data tailored to the task. Reviewing its output, it appears to be quite suitable. And if you need more data, you can simply request Copilot to generate it for you.

Figure 13: Building low-code applications with more sample data with Copilot
Figure 13: Building low-code applications with more sample data with Copilot

I simply told Copilot that I needed to manage vehicle inspections in my workshop. After requesting additional example data, I clicked on Create app. Just like that, I've constructed an app using low-code technology and AI. Now, I can utilize this app in my workshop for vehicle inspections (Figure 14). Microsoft is shifting the responsibility of basic software development from seasoned developers to business users. As a result, these users can now craft the simple applications they need in mere minutes.

Figure 14: A low-code application built with natural language
Figure 14: A low-code application built with natural language

Microsoft is levelling the playing field by enabling more people to create applications that address business challenges. They're empowering business users, leading to a surge in app development as organizations boost their productivity.

How Microsoft Continues to Democratize Software Development With the Rest of the Platform

The Power Platform, as a comprehensive low-code application development suite, offers more than just Power Apps and Power Automate. It provides tools for revealing key data insights with Power BI, creating AI-powered chatbots using Power Virtual Agents, and designing custom, data-driven business websites.

Power BI, now part of the newly introduced Microsoft Fabric family, enables makers and citizen developers to utilize and interface with their data throughout the Power Platform. Whether their data resides in the cloud or on-premises, it can be surfaced to offer organizational leaders crucial insights and reports.

Power Virtual Agents allow citizen developers to quickly construct intelligent bots (https://powervirtualagents.microsoft.com/en-us/). Utilizing generative AI, these bots efficiently respond to both customer and colleague inquiries, scaling based on the organization's needs. They can be deployed across multiple channels and languages, facilitating global operations. Over time, these bots evolve by tracking KPIs and leveraging AI's self-learning capabilities. Furthermore, Microsoft's expansive toolkit offers seamless integration between Power Virtual Agents and other solutions. An example is Dynamics 365 Customer Service, where customers can converse with a bot before transitioning to a live agent. This system reduces call center traffic and enhances both productivity and user experience.

Finally, there's Power Pages in Microsoft's low-code line up. It lets makers and citizen developers craft business websites using a hybrid approach. While it offers drag-and-drop features with data-driven elements, it also supports the embedding of custom code, such as CSS and JavaScript. This allows organizations to offer custom experiences, capitalizing on Power Pages' data-driven functionalities. For more insights on this, refer to the article, “The Power of Power Pages to Create a Business Website,” by Fabio Franzini and Toni Pohl in this magazine issue.

How Microsoft Is Embedding AI Across the Entire Platform to Enable Makers More Than Ever

Microsoft's approach with Power Apps and Power Automate showcases their evolution into the AI age, further broadening the horizons of software development with low-code combined with generative AI. But the innovations within the Power Platform don't stop there.

In Power BI, Microsoft has integrated several tools backed by generative AI. These tools allow developers to fast-track the creation of business insights reports. For instance, while formulating quick measures, AI-powered suggestions help streamline the DAX writing process, eliminating the necessity for expertise in the DAX language.

Moreover, the introduction of Copilot in Power BI (Figure 15) means Microsoft has incorporated the strengths of expansive language models. With the added support of GPT models, developers can simply describe the visuals and insights they aim to extract from their data, and Copilot takes care of the rest. Whether it's for organizational leaders or makers, no matter how they want to interpret the data stored in Power BI and Fabric, Copilot is equipped to manage. This includes providing straightforward summaries, answering data-related inquiries, formulating DAX measures, crafting visuals, and more. Dive deeper into Power BI's capabilities in the article, “Powering Up Power BI: 7 Seamless Integrations with the Power Platform,” by John P. White featured in this issue.

Figure 15: Copilot in Power BI – Microsoft – May 2023
Figure 15: Copilot in Power BI – Microsoft – May 2023

Power Virtual Agents, enhanced by Copilot, introduces a new realm of capabilities. It can effortlessly generate entire topics from succinct descriptions and condense user-provided information. The innovations driven by generative AI in Power Virtual Agents go even further.

Beyond utilizing Copilot for faster development, the introduction of conversation boosters in Power Virtual Agents is a game-changer. Organizations can now direct a chatbot to their public website. When users ask the bot questions, it leverages Microsoft's Azure OpenAI Service to search the site, find the relevant information, and then provide a summarized response (Figure 16). This represents a significant leap in rapid application development, as organizations no longer have to manually input the knowledge a bot should possess; the bot can independently retrieve and interpret information as needed.

Figure 16: Copilot in Power Virtual Agents
Figure 16: Copilot in Power Virtual Agents

Power Pages, a recent addition by Microsoft, has transformed the website development journey for creators. Thanks to Copilot, developers can now generate text, create intricate forms, and much more using plain language in just a few minutes. As organizations embrace these tools, they're delving deeper into the generative AI age. This not only simplifies their software creation process but also boosts their productivity.

Furthermore, creators can now effortlessly integrate chatbots into Power Pages (Figure 17). Powered by Azure OpenAI, Bing Search, and Power Virtual Agents, there's no need for intricate bot creation. With minimal configuration, organizations can deploy a chatbot on their website, poised to provide real-time answers about the company to visitors.

Figure 17: AI-powered chatbots in Power Pages
Figure 17: AI-powered chatbots in Power Pages

The industry-leading advancements in Power Apps and Power Automate showcase AI's role in further automating tasks for developers. But this trend isn't limited to these tools alone. Across the entire Power Platform, organizations can now build high-quality solutions with low code at an even faster pace.

Empowering Organizations With the Appropriate Digital Guardrails

When integrating Power Platform, organizations gain the ability to effortlessly develop a wide range of applications and solutions. In doing so, they also manage and transfer data. It's vital that organizations implement the platform properly, ensuring employees are both supported in their tasks and empowered to increase productivity, all while safeguarding crucial business data and solutions.

Power Platform offers features that need to be correctly set up to empower organizations. However, certain features should be limited to prevent misuse. These features can be thought of as “digital guardrails.” More specifically, they are sets of adjustable policies and systems that shield both the platform where solutions are built, and the data stored within.

With tools such as data loss prevention policies in Dataverse, organizations can give creators the advantages of a low-code platform, allowing them to create applications and address business challenges. At the same time, they ensure data isn't inadvertently compromised due to unrestricted access to the available tools.

It is crucial to strike a careful balance when setting up these digital guardrails in Power Platform. This equilibrium involves safeguarding organizational data and solutions, while also enabling creators and other team members to boost efficiency and reduce time spent on tasks using the right tools. The newly introduced Managed Environments in Power Platform are designed to support this balance. They offer data policy features and also accommodate creator content.

For organizations to truly thrive with Power Platform, it's vital to keep this balance in check. There's a danger in swinging too far either way: overly restricting the platform can stifle creators, while leaving it too open risks potential data issues. With the introduction of tools in Managed Environments, achieving this balance and ensuring successful platform integration becomes more straightforward for organizations.

Read more about Managed Environments in this article from Microsoft - https://cloudblogs.microsoft.com/powerplatform/2022/10/12/the-future-of-low-code-governance-with-managed-environments-for-power-platform/

Managing the Life Cycle of Solutions and Digital Guardrails

While traditional software development requires developers to be well-versed in an application's life cycle, the same diligence is necessary when constructing intricate solutions using low-code platforms like Power Platform. Organizations must prioritize the life cycle of their software development on the Power Platform, just as they would with conventionally developed software.

One of the perks of the Power Platform is its comprehensive suite of tools designed to streamline the process for both creators and developers. With Managed Environments, creators can set up Power Platform Pipelines, which simplify the transfer of solutions between environments. This caters to basic development life cycles and aids in application life cycle management.

For those dealing with more intricate scenarios, the Power Platform Developer Tools offer an array of application life-cycle management resources. These tools cater to elaborate solutions and can be complemented by utilities like the Azure DevOps Power Platform Build Tools or GitHub Actions for Power Platform. Both of these are rooted in the Power Platform CLI.

But our responsibility doesn't end with managing the life cycle of the solutions we design. It's equally crucial to maintain and periodically review the digital guardrails we establish. This ensures that while we govern and empower our platforms, we remain up-to-date and relevant in an ever-evolving digital landscape.

The rapid advancement of AI has prompted concerns about its ethical use in our current times. As AI continues its upward trajectory, it's paramount for us to frequently reevaluate our guardrails. When integrating AI strategies, it's our duty to consider responsible AI practices and ensure that our platform's digital guardrails mirror these principles.

In Conclusion

Over the past decade, a significant shift has been observed in the organizational landscape. The focus has transitioned from traditional software development methods to data-centric and low-code application development approaches. What once took years of training and specialized knowledge has been condensed into simpler, more accessible platforms. Now, as we step into the AI era, the landscape of low-code and no-code development is set to undergo another massive transformation, amplified by the capabilities of generative AI and models like GPT.

Microsoft stands at the forefront of this revolution, consistently innovating and making monumental strides. They provide a platform that caters to a wide range of developers: from amateur enthusiasts and citizen developers to seasoned professionals. This democratization of software development means that businesses no longer need highly specialized personnel for basic software creation. Meanwhile, seasoned developers can utilize the advanced features of these platforms to expedite the creation of intricate solutions. See David Yack's article, “Power Platform ❤ Code Developers” in this magazine to read why all of these strides in Power Platform will help traditional software developers.

This is merely the dawn of the AI and Copilot age. As we gaze into the future of low-code solutions and the Power Platform, it's evident that organizations are poised to possess unprecedented problem-solving prowess. The cumbersome days of prolonged waits for essential software solutions are fading into obsolescence. Welcome to a new epoch: where AI-driven strategies lead to empowered, agile, and dynamic organizations.