What is Application Lifecyle Management (ALM) and how does it fit into Microsoft Power Platform?
ALM is a structured process with defined tools used to manage the full lifecycle of developing a solution until its retirement. A complete ALM process can consist of various components such as a planning process, development standards, deployment stages and quality testing. These are a few of the many important parts that complete a successful ALM process.
In the context of Power Platform, ALM provides a structured process assisting both Makers and Admin to manage solutions, from planning throughout deployment. Without diving into the specifics of what is used in a Power Platform ALM process just yet, the ultimate goal of ALM within Power Platform is to assist organisations/users to ensure solutions are developed and delivered in a controlled, process driven manner. This also ensures that deployed solutions all adhere to a structured standard and governance.
The components of ALM
As mentioned, ALM consists of various parts. In my personal opinion, the 3 key components of ALM within Power Platform are:
Governance
Governance includes many processes around how development and deployments are managed within an organisation. Having systems in place such as:
- Development Standards ensure your code stays consistent and efficient.
- Security & Compliance ensure developers manage sensitive data within the solution and implement measures to ensure the solutions data is secure.
- Deployment Stages guide makers through structured environments assisting with quality assurance, testing and having a production solution separate from dev content.
Collaboration
Similar to Governance, there are many topics involved with collaboration. Processes such as:
- Channeled Communication between project developers and stakeholders keep everyone update to date.
- Integrated project management tools such as DevOps ensure solutions can be built in line with requirements.
- Implementing version control or source control is crucial! This governs release management and offers a single location for the most up to date production code.
Automation
Lastly, automating repetitive tasks that can reduce human error and follow a defined process is critical. Some examples of automation are:
- Automating deployments to various environments and production.
- Implementing test automation ensuring that the solutions are production ready.
- Having processes in place to automate tasks such as unpacking solutions into a source control, or updating user stories, or even generating test plans or UAT scripts.
These are just a few factors that make up a successful ALM process that can streamline the development and deployment of Power Platform solutions. By implementing your own ALM practices, you can ensure your solutions are developed and deployed in a controlled, effective and efficient manner.
Next up… we will discuss Governing like a pro: Setting up an ALM governance framework.