Traditional app-development efforts can take months to translate business requirements into a usable application or feature. For the business user, waiting can be the hardest part. You come up with an idea to improve efficiency or productivity at work—not only will it make your life easier, but you think it could transform the way your peers work as well. You share the idea with your managers, create a formal proposal, and submit it to your company’s engineering team. Then you wait.
Once you see how your idea was interpreted from requirements and provide feedback on the prototype, you have to wait again. This time it’s for the engineering team to wade through their backlogged change requests. Even the best idea can fall short, run over budget, or fail when business-focused teams are only peripherally plugged into the process of building the solutions they need to solve their business problems.
Enter citizen development.
Citizen development—the creation of business applications and features by the employees who use them—is an opportunity for business users to stretch beyond their day-to-day activities with innovative ways to improve their own business processes. Citizen development is not small groups of developers across the company creating an unmanageable amount of shadow IT applications; when done properly, it’s a mutually beneficial partnership—a win-win proposition for both business users and IT.
A few months ago, three launch program managers at Microsoft dreamed up an idea to get their work done more efficiently. They imagined an intelligent launch assistant app that would provide convenient access to quick tasks, centralize some satellite workflows, and provide more user-friendly views of their product launch data. Armed with only their business knowledge and some prior experience with HTML and design, they decided—on their own—to learn Microsoft Power Apps to try and build the app they envisioned. Power Apps turned out to be the right choice, as it was designed to give business users the tools they need to drive innovation and create new applications—with no coding skills required.
The team leveraged their expertise and, after doing some reading, Power Apps tutorials, and a little research, felt much less intimidated by the prospect of developing their own intelligent launch assistant. The launch managers had unknowingly begun their journey toward becoming citizen developers. In just over a month, they went from having an early prototype to a feature-rich application that more than a hundred other launch managers now use daily!
Building an intelligent launch assistant app
The Launch team at Microsoft oversees all launches of Microsoft products and devices, including system changes and compliance projects. The launch managers, being change agents who drive consistency and process simplification, had already identified some ongoing challenges in their processes. Launch workflows spanned multiple tools, and the team needed to reference data stored in different locations to get a full view of their projects.
After deciding on key features for their proof of concept, the launch managers took part in a company hackathon to kickstart prototype development of the launch assistant app. By the end of that immersive, collaborative event, the team had built their first prototype and was feeling more confident about what they could accomplish as citizen developers using Power Apps.
Microsoft Core Services Engineering and Operations (CSEO) supports every employee and team at Microsoft—including these launch managers—by deploying and managing the products and solutions they use to get work done. That includes managing the development, governance, and lifecycle for line-of-business applications. One of our core charters is to empower users to do more. In that vein, through technology and collaboration, we support efforts like citizen development.
In CSEO, we were excited to see the progress that was made in such a short time, but we were navigating relatively new territory. While the prototype was promising, it still represented a culture shift and we had a little trepidation about using citizen development for apps that support essential business functions. A few factors in this project helped us decide to cautiously continue along the citizen-development path. One, the existing launch workflows and tools were still in place, so there would be no disruption of operations. And two, the citizen developers were making progress, very quickly. Their velocity was outpacing any lingering concern, and we determined that whether they created something that could be rolled out broadly, or a prototype of something we would build for them, either outcome would be a step forward.
More nimble than Agile
Our engineering teams generally use Agile development methods while building out apps and solutions for the different business groups at Microsoft. With discovery, development, and iterating, even in two-week sprint cycles, it can still take months for us to develop a functioning app that the business users will adopt and continue to use. No matter how much time our engineers spend with a team learning about a businesses’ processes, only a business user truly understands the context, relationships, and flow of every scenario.
As illustrated in Figure 1, some of the benefits we saw while working in cooperation with the Launch team’s citizen developers included improved engineering resource allocation, reduced development backlogs, and a greatly accelerated application-building process.
In 40 days, the citizen developers released more than 250 iterations that evolved the app from an early prototype that only the citizen developers were using to a fully functioning app that has been widely adopted by the other launch managers at Microsoft. They were truly nimble. When something they built or changed didn’t come out quite right, they fixed it immediately themselves, or rolled back to a prior iteration in Power Apps and started over. They didn’t need to request a change or log a bug and wait for our engineers to resolve it during the next sprint.
The first 100 or so iterations happened very quickly—sometimes dozens in a day. However, as the app grew more complex and was being more widely adopted, the iteration cadence slowed down accordingly. As more features in the app were connecting to our Microsoft Dynamics platform and the Microsoft SharePoint lists that they created to centralize the data from other workflows, it made sense to begin meeting regularly to discuss guardrails and risks before each iteration was released. The citizen developers started giving our engineers weekly demos of the prototype and talking about their planned features, providing us an opportunity to provide guidance and answer questions.
A fully functional app and a living prototype
The phone and tablet versions of the intelligent launch assistant app pulled together views of all the information pertaining to a launch, including key dates and other information about the launch manager’s project, including the risks that are managed daily.
Roughly 50 percent of the information displayed in the launch assistant home page comes from data in the Dynamics-based platform that serves as the “single version of truth” for all work activities across the operations teams at Microsoft. The citizen developers enhanced the experiences of several tracking and management features that weren’t in Dynamics by creating SharePoint lists as a backend for the related data. Using Power Apps, it was easy to connect to both Dynamics and the SharePoint lists to create consolidated views and tasks.
As illustrated in Figure 2, the app experience is intuitive, and the citizen developers can continually adjust the UI to mirror more optimized versions of their business processes.
The app, now broadly available to all launch managers at Microsoft, also serves as a living prototype. Launch managers enjoy a transformed workflow, while we see the impact of new features as they are being used in the production environment. We evaluate those features and experiences before investing money in engineering resources to build or integrate them into the Dynamics platform.
Lessons learned and best practices
We have spent years refining our application-development processes, and we expected to face challenges and learn new things as the traditional processes were disrupted by empowering more business-focused individuals to develop the solutions they need. This effort has been successful and educational, so we’re sharing a few of our learnings and best practices.
Partnering helps set everyone up for success
With open communication and a growth mindset, a strong partnership between the business and engineering teams is crucial in helping ensure the success of a citizen development program. For example, we learned that we didn’t start discussing risks and guardrails for each team and role soon enough. As a result, we were initially very reactionary, addressing issues as we encountered them rather than taking a more holistic approach. As we got further into the process, we were better able to determine which changes need to be monitored more closely, and to be more mindful about where test data in the production environment was being stored. In one case, we almost sent a report to executive leadership that included test data from one of our intelligent launch assistant experiments.
It’s also important to communicate early with engineers about the benefits that come with this shift in paradigm. They need to understand that citizen development isn’t intended to replace traditional development, nor does it suggest that they aren’t doing a good job. It’s just an effort to better align activities with core skillsets.
Some traditional development processes still apply
In the early phases, most of the launch assistant app users were citizen developers who could make and publish every change as a new iteration. As the user base grew, and the app features became more complex, every iteration and change required more consideration. The team moved to a role-based model in which only a few citizen developers who fully understood how the changes would impact users of the app could publish new iterations.
Not being professional developers, the citizen developers did not start keeping meticulous version notes until they realized why they were useful. More than once during the 250 iterations, they needed to roll back to a prior version after a change didn’t go as planned. Having notes that explained what changed in each iteration helped in identifying which version introduced the change.
Use Power Apps to create living prototypes that can speed engineering decisions
Citizen developers know inherently how they want to use an application within the framework of their processes, and that insight provides a high-value impact when it complements engineering’s efforts.
When business users become citizen developers and build Power Apps solutions to address their business problems without code, it can ultimately be a benefit for engineers. We can see how a feature or functionality performs in production, how quickly users adopt it, and verify its continued use—while we plan and weigh the benefits of integration into our platform. Ultimately, when we do invest in hardening a feature for scalability, we anticipate no noticeable impacts to the user, other than performance or planned UI improvements.
How do I get started?
The Launch team citizen developers didn’t have to wait for us to build the launch assistant app they needed. Using Power Apps, and a little coaching from our engineers, the launch assistant app was defined, built, refined, and adopted without needing any of our dedicated development resources. The citizen developers saved us money, time, and resources because they knew their business well, and we didn’t have to focus on all the iterations required to transform their great idea into a proven prototype.
You can sign into Power Apps today and get started. Create your first app and see what’s possible and how easy it really is. Find plenty of learning resources at Microsoft Power Platform: Learning Resources.
For more information
Microsoft IT Showcase
© 2021 Microsoft Corporation. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.