While making your own custom apps has become easier with solutions like Power Apps, a healthy application lifecycle process is critical if you want to manage these effectively. This is where application lifecycle management (ALM) is important. Here at Bridgeall we have a strong background in application development and know the importance of good application lifecycle management. In this blog we explain more about what ALM is and how you can use it for Power Apps and the Power Platform.
What is ALM?
ALM is the lifecycle management of applications, this includes governance, development and maintenance.
ALM tools provide a standardised system for communication and collaboration between software development teams and related departments, such as test and operations. These tools can also automate the process of software development and delivery.
ALM combines the disciplines concerned with all aspects of the process to achieve the goal of driving efficiency through predictable and repeatable software delivery.
Why you need ALM for Power Apps
As Power Apps development rises, IT teams are becoming aware of the need for setting up governance models. Having the basic knowledge of what apps are created, by who, for which audience, for what purpose, through what technologies, on what data sources is often the discussion that needs to be had to analyse the situation.
If you aren’t planning ahead when creating your Power app, this could become problematic for someone later down the line. In the worst-case scenario, your organisation would become reliant on an app that no one really knows much about, only to realise that your processes have already stopped working due to errors caused by a change either inside or outside the system.
Key areas of ALM
When it comes to key areas of ALM, here is what you need to know. Governance includes requirements management, resource management, data security, user access, change tracking, review, audit, deployment control, and rollback.
Application development includes identifying current problems, and planning, design, building, and testing the application. This area includes traditional developer and app maker roles.
Maintenance includes deployment of the app and maintenance of optional and dependent technologies.
The application lifecycle is the cyclical software development process that involves these areas: plan and track, develop, build and test, deploy, operate, monitor, and learn from discovery.
ALM in practice
At Bridgeall we work with many organisations to implement an effective ALM process. We recently worked with Edrington to ensure they had their processes in order, here is what we did using the above framework:
Plan & track – When it comes to ALM we recommend you clear up exactly what you want to apply it for.For our clientwe recommended creating a process to rate apps. These followed a bronze, silver and gold categorisation. Bronze being personal productivity which doesn’t require much ALM as it is a simple app.Silver level apps were used by team or dept which would have a greater business impact.Gold level org wide, mission critical apps where ALM isimportant.These apps need a lot of attention as if something was to go wrong it could greatly impact the business.
Develop – Relating to bronze, silver and gold standard. Within every PP installation there is a default environment that can be used. We recommend separate environments for more complex projects. We used source control here to manage the development.
Build and track – Here we created automated pipelines. We used Azure DevOps as the tools to manage the code build and tracking. We have the source code repository within this. Source control can remove opportunities for error. Once that code is complete you can promote to the live environment.
Deploy – We then deployed using the automated pipelines. You can create a pipeline and take whatever you’re developing in source control so multiple people can work on it. To maintain control, you have certain quality gates within Azure DevOps that you can set so that certain people must sign off the app before it goes into the live environment.
Operate – Using the app and being able to report and track any bugs that come up. Ensure you have a product roadmap so you can plan new features and improvements to the app.
Monitor & learn – Power Apps monitor what connectors are being used and how much they are being used. At this stage you should monitor if the app is still fit for purpose? Do you have enough new features? ALM is for the lifetime of the app and is an iterative process. It’s constantly changing and involves constant monitoring and learning.
ALM for Power Apps, Power Automate, Power Virtual Agents, and Dataverse
A great tool for facilitating this is the Power Platform Center of Excellence (CoE) Starter Kit, which gives you an overview of the big picture for Power Apps and Flows in your tenant. To go deeper into the lifecycle of an individual (potentially business critical) application, we need to start discussing ALM.
Dataverse in Microsoft Power Platform lets you securely store and manage data that’s used by business applications. To use the features and tools available for ALM, all environments that participate in ALM must include a Dataverse database.
The following concepts are important for understanding ALM using the Microsoft Power Platform.