ALM takes the boredom out of development #HoskWisdom
ALM and automated release management has moved from a nice to have to a must have for enterprise projects in Dynamics 365. The more developers you have working on a project the more important setting up ALM and release management. ?Without ALM you will waste hours manually deploying and having merge and build problems.
There is an investment in time to set it up and learn about ALM tools but the longer or bigger the project, more you use it and the greater the return on the investment.
Start at the beginning
Get your head around the ALM concepts
You may question if setting up ALM worth the time, this page Application lifecycle management has a healthcheck, read it and score your current setup. The key points Hosk highlights below
You should be deploying managed solutions beyond development
If you aren’t deploying managed solutions, there is a danger the environments beyond dev are out of sync, this can hide bugs and invalidate your testing on those environments.
Environments outside of Dev are to test individual components and how the solution works as a complete system.
Environments should be disposable
You should be able to deploy to a new environment with solutions and data and set it up quickly. Changes should be made in DEV and then deployed to all non development environments.
Source control should your definitive version of the truth and all customisations, data, templates and reports should be checked in. You should be able to deploy everything from source control.
Use the Solution Packager to convert your Dynamics 365 customisations into XML files, you can see the changes in detail. Deploying from source control means if your environments get corrupted you can rebuild them easily and quickly.
Solutions are binary files, you can see any changes.
Automated ALM and Release
If it can be automated, it should be automated #HoskWisdom
This increases builds and deployments and finds problems quicker, the more frequently you build and release the sooner you find problems. Fixing problems is easier and quicker in a smaller changeset.
Developers are expensive resources, don’t waste their time and enthusiasm manually deploying solutions or wasting time fixing build/release problems because it’s not done often.
The fewer manual steps you do, the less mistakes you will make releasing updates.
Articles to get your started
I’m hope you have read some of the material above and you are now itching to get started, If you have skipped read this page Application lifecycle management (ALM) with Microsoft Power Platform
Read the two articles below
The articles below give step by step instructions to setup an ALM process. The best way to learn is by doing
- Simple ALM for Dynamics 365/CDS Projects
- Simple ALM for Power Apps/Dynamics 365 Projects Revisited — Power Apps Build Tools edition
- Introduction to DevOps for Dynamics 365 Customer Engagement using YAML Based Azure Pipelines
- CI/CD & Test Automation for Dynamics 365 in Azure DevOps/VSTS — Part 1
- dyn365-ce-devops — Build and deploy Dynamics 365
- Session 6 : How to implement the CI/CD for Dynamics 365 CRM Solution Deployment
- Dynamics 365 Continuous Integration using VSTS with spkl Task Runner
- Azure DevOps Pipelines: Overview and Deploying Dynamics 365 CE solutions
- Use source control with solution files
- Create packages for the Dynamics 365 Customer Engagement Package deployer
- Connect Azure Boards to GitHub
Solutions are core part of deploying your customisations and organising your the development team.
- What’s the best way to organise solutions in Microsoft Dynamics 365
- Solution concepts
- Solution layers
- Questions on Microsoft Dynamics 365 solutions and environments
- Managed solution problems with out of sync solutions
There are lots of resources available online and videos to watch. Technology books can go out of date quicker than they can be written. The three books below are about the theory and give you a deeper understanding of DevOps.
- The Devops Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
- Accelerate: The Science of Lean Software and Devops: Building and Scaling High Performing Technology Organizations
- Free ebook(PDF) — Building Cloud Apps with Microsoft Azure: Best Practices for DevOps, Data Storage, High Availability, and More (Developer Reference)
The two books below are fiction, showing you how DevOps can help a business and the pain you might experience trying to implement it
- The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business
- The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age
ALM is worth the investment because it's something multiple developers on your team do every day. ALM increases build and release frequency, enabling you to find problems faster in smaller changesets.
ALM will set standards on your development process and increase quality.
Once the ALM and release management is set up, you will benefit it every day and you will wonder how you ever did without it.