Edit

Share via


Choosing an approach to AI-enabled application development with Capability Envisioning

This article enables Independent Software Vendors (ISVs) to:

  • Learn how to align selected AI use cases with an approach to application development
  • Understand the ISV Journey and how it can help ISVs develop high-quality applications

Introduction

After using the business envisioning framework to prioritize your top generative AI use case, the next step is to plan how to build the solution.

On this page, we guide you through choosing the best approach for executing your use case. We outline key considerations, provide resources to help you think through them, and explore the tools Microsoft offers for building your application based on your chosen approach. To help illustrate this process, we walk you through an example scenario, demonstrating how an ISV might evaluate their options and choose the most effective approach. We also provide an overview of the wider development journey, and how it can differ depending on the approach you select.

Capability Envisioning

After selecting a prioritized use case, it's time to decide how to develop it. ISVs can choose from three main approaches: extend or adopt a Microsoft Copilot, build a custom copilot, or create an application on Fabric.

These approaches are not mutually exclusive, but rather offer flexibility through broad spectrum of tools for developing your application. In the following section we explore how each approach fits into the development process, along with tools and considerations for choosing the best fit for your application. Our example scenario demonstrates the range of effort and resources involved in application development, while highlighting how your choice of approach can impact the development process.

Considerations for your approach

To identify the best approach for development, we explore six primary considerations. These considerations help you evaluate the key features of the intended solution and make an informed decision on the approach that best aligns with your goals.

  • Data: what types and sources of data and information does the application need to engage with?
  • Customization: how should customers interact with the application and what control do you need over its outputs?
  • Development complexity: how challenging is it to build the application, and are the necessary resources and expertise available?
  • End-user: who is the end user and how much technical understanding do they have?
  • Business value: how does this application provide customers with value and what is the profitability potential?
  • Risk and compliance: what regulatory requirements and security concerns are relevant for this application?

The following graphic demonstrates how the answers to these questions can help you align with the different approaches to application development. If your use case has a limited scope and minimal need for customizability, extending an existing Microsoft Copilot using low-code tools may be the best approach. Alternatively, as we explore in a moment, a more complex and customizable solution might be better suited to building the application on Fabric.

This use case was prioritized for development using the business, experience, technology framework to evaluate and compare its viability with other potential use cases. Explore how you can prioritize your own use cases in more detail here.

Example scenario: Contoso Shopping application

In our scenario, Contoso partners with retailer AdventureWorks to develop a solution that provides a virtual storefront and systems to improve employee communication, inventory planning, and data insights across operations. Let's review how this use case aligns with our considerations for choosing a development approach.

Considerations

Contoso store operations assistant

  • Data: The application requires distributed data from a diverse set of sources, including non-Microsoft cloud applications, surfaced via APIs.
  • Customization: The application is custom built for AdventureWorks with extensive customizability and control over individual features. The application needs to have multiple potentially complex components to support different stakeholders and tasks.
  • Development complexity: Development of the application's capabilities requires substantial resources, time, and human capital, including professional software developers.
  • End-user: The end-user can vary across AdventureWorks operations but includes technical data scientists and nontechnical frontline workers.
  • Business value: This application serves as a core feature of AdventureWorks operations by enabling a virtual storefront with substantive revenue potential along with data-driven insights on company operations. For Contoso, this offering represents a major business opportunity.
  • Risk and compliance: This solution interacts with protected financial data to complete transactions for AdventureWorks customers, necessitating significant security and regulatory compliance components.

Contoso then used these considerations to assess how their development approach aligns with their overall strategy, business value, and technical capabilities, recognizing that alignment in these areas is critical for a successful application. Let's review how each of these considerations impacted their decision.

  • Strategy: Given the use case prioritized in their business envisioning session, Contoso needed an application with expansive, and modular capabilities that could handle complex and highly customized functions. The Build on Fabric approach is ideal for this scenario because it helps Contoso teams learn new tools and technology, and the application needs features that require extensive development.
  • Business: In addition to the larger revenue generating potential of this complex application, building the Contoso Shopping application on Fabric means Contoso can also templatize components of the application for reuse. With these templates, Contoso can accelerate future development efforts, potentially reducing costs and improving time to value.
  • Technology: Lastly, and most obviously, the technical parameters of Contoso's use case and AdventureWorks' problems mean the Contoso Shopping application requires substantial pro-code development, along with more advanced data infrastructure and customization. Building an application on Fabric is the best path for Contoso to be sure they have the tools they need to execute on this use case.

In this scenario, Contoso decided to develop the Shopping application using pro-code given the need for extensive customization and the variety of complex features. Low-code development does not enable the capabilities identified in this use case. Within the pro-code journey, Contoso chose to develop this application from the ground up, on Fabric, to ensure a solid foundational data infrastructure on which to build its various features. They were able to make this decision confidently because this approach to development aligned with their use case strategically, commercially, and technically.

Let's also briefly examine why Contoso didn't choose the adopt/extend a Microsoft Copilot, or build your own copilot approaches. First, adopting and/or extending a Microsoft Copilot limits the application to a conversational assistant, which does not satisfy the requirements of the Contoso use case or meet AdventureWorks' needs. Similarly, while building a custom copilot enables greater customization and complex interactions, the technical data functionality required for a Shopping application extends beyond the capabilities of a copilot on its own. With these considerations, building an application on Fabric is the best choice for this scenario.

Given the application's variety of interfaces and capabilities, Contoso ultimately used multiple tools, including Microsoft Fabric, Microsoft Azure, and Azure AI Foundry, to complete development. It's important to note that the three approaches are not mutually exclusive. A custom copilot, built with low-code in Copilot Studio, using the Store Operations copilot template, could easily be integrated into this Shopping application. Selecting an approach is not a walled highway, it is a tool to help think through the requirements of your application, the capabilities you envision for it, and the resources you need to develop it. Let's dig a little bit deeper into how Microsoft solutions fit into these approaches.

Microsoft Development Tools

Microsoft offers various development tools to meet ISVs' application development needs. Each of these approaches can involve a mixed array of individual Microsoft tools. We've summarized the main tools. You can also review a detailed guide for ISVs on building GenAI experiences that explains the possibilities of each approach.

This graphic has five boxes above a long arrow along the bottom that goes from left to right

You can see how these solutions map to the approaches in the graphic that follows. We use the store operations application, which we compared to our Shopping application on the business envisioning page as an example use case.

Along the top line, from left to right, are the Microsoft Teams and Copilot for Microsoft 365 Logos, then a column Adopt or Extend a Microsoft Copilot

The store operations use case involves an AI assistant that enables rapid access to store procedures, policies, and data in natural language. This use case could be developed using any of the three approaches, to different levels of complexity. An ISV could rapidly develop an assistant to fulfill this use case using the Copilot Studio Store operations template. This effort would require minimal coding and involve interfacing at the surface of the stack, with Microsoft 365 plug-ins or Copilot Studio, as shown in the left column.

Alternatively, an ISV could undertake a more complex development process and utilize Azure AI Foundry or Fabric to develop a more comprehensive store operations application, including data infrastructure and technical user assistants. This approach, as in the Shopping application scenario, would involve substantial pro-code development with developers interfacing with more of the full stack, as shown in the right column.

Your specific needs and circumstances determine the best development approach. These tools and methods support you regardless of how you develop your application, but the path varies based on your choice. You can use this template to walk through the GenAI considerations for your use case and determine the best path forward.

Which generative AI approach should you pursue

Now that you have identified and evaluated your use case and chosen the best development approach, let's look at the path ahead.

The approaches across the ISV journey

The three approaches to building AI and GenAI applications on Microsoft tools can be split into two primary development journeys: a low-code journey and a pro-code journey. The low-code journey is characterized by rapid time to value and light application development lift while the pro-code journey powers more application customizability and complexity.

Our experience working with ISVs has led Microsoft to develop the ISV Journey Map, a consistent, and systematic process to develop applications for the Microsoft Cloud. This framework is designed to help you reduce costs, and efficiently develop the best possible solution. If you'd like to be evaluated using this framework, contact your partner development manager.

The ISV journey provides a broad overview of the different phases you'll go through to develop your application. Your chosen development approach will shape your experience in each phase, but the overall structure remains consistent across development lifecycles. This applies whether you are extending a Microsoft Copilot with low-code or building an application from scratch with pro-code.

The ISV Journey. Below are two rectangles titled, top to bottom, Low-code and Pro-code.

Microsoft continues to build out content to provide holistic guidance for building AI and GenAI applications for the Microsoft Cloud. You can find more content and resources at this Microsoft Copilot for ISVs Collection. This page is regularly updated with newly developed content.

Next steps

Selecting the appropriate approach to your applications development is a critical stage in this process. Whether you need rapid time to value or complex customization, Microsoft is here to help you bring value to your customers. Once you've selected the right approach for your application, then comes the question of choosing the appropriate path for implementation. Each approach includes several potential tools, or patterns, you can use to develop your application. Here are pages where you can find more information about low-code patterns and pro-code patterns.