By Steve Drake, Director, Technology at TrueNorth IT

What is Application life cycle management? (ALM)

As shown in the diagram below, ALM has many aspects. Microsoft defines ALM as follows:

“ALM is the lifecycle management of applications, which includes governance, development, and maintenance. Moreover, it includes these disciplines: requirements management, software architecture, development, testing, maintenance, change management, support, continuous integration, project management, deployment, release management and governance. ALM tools provide a standardized 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. To that end, ALM combines the disciplines concerned with all aspects of the process to achieve the goal of driving efficiency through predictable and repeatable software delivery.”

alm

How to implement ALM

How does this affect your management of your Dynamics 365 systems? It is likely to be an important part of your digital transformation project. As developers make changes to address bugs and implement new features, we need to be able to track what has changed, when it was changed and which feature or bug it relates to. This allows us to approve changes in a controlled fashion and to roll back to earlier versions if necessary.

If you set up ALM for Dynamics right from the start, you can collect changes to the Dynamics solution throughout the digital transformation project.

For instance, you can configure your ALM process to automatically release managed solutions to other environments via a pull request. You are then able to release to your next environment, such as production, once the testing is complete. Again this all done via pull requests.

Development complete and ready for testing :

alm

Testing complete, ready for release:

alm

This is an example of the output from our DevOps pipelines:

alm

This did take a little effort to set up, but it’s repeatable and having a solid release process is very valuable to any project. Setting this up from the start gives us more history, but it can be added to an existing project and will still add value.

Key benefits for the business

  • You can track the changes made to Dynamics solutions throughout their development
  • You can see which features are released to each environment
  • You can see when features were released
  • You can track bugs against feature development
  • You can see when fixes to bugs were released and which environment they were released to.

Practical benefits for developers

This is all pretty standard practice for most developers. We are using GIT to store changes made to Dynamics; we are using standard pull requests to manage the code review and the merging of the code to make up the release. Developers like to work like this. Using ALM for Dynamics allows your Dynamics projects to have the same governance as the rest of the codebase that makes up the project.

Further reading

Find out how we help organisations get the most from their Dynamics 365 systems.

Read a case study on how we transformed systems at the Scottish National Health Service using Dynamics 365.

 

Get our latest articles in your inbox

Enjoyed this article? Sign up for our email newsletter and get real-world information on all things Microsoft, cloud and tech. Your information will be shared with MailChimp but no one else, and you can unsubscribe with one click at any time