Modern software is increasingly complex and almost impossible to guarantee repeatable, predictable and consistent results using a manual approach for release and deployment of code across environments. This is only made more complicated by solutions being made up of a greater number of components than ever before.
Having well established processes and automated pipelines help us to increase quality of delivery achieving higher customer satisfaction.
The tools covered in this lab, PowerApps Project Generator and Development Hub will form the basis for all our projects which deliver solutions built on the Power Platform.
Our goal is for the whole team to be able to setup and configure these tools for projects and understand our approach to delivering software.
ALM (Application Lifecycle Management) 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. 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 includes these disciplines:
This lab will only cover the development, continuous integration, deployment and release management aspects of ALM.
For further reading on ALM please visit here
A compound of development (Dev) and operations (Ops), DevOps is the union of people, processes and technology to continually provide value to customers.
What does DevOps mean for teams? DevOps enables formerly siloed roles – development, IT operations, quality engineering and security – to coordinate and collaborate to produce better, more reliable products. By adopting a DevOps culture along with DevOps practices and tools, teams gain the ability to better respond to customer needs, increase confidence in the applications they build and achieve business goals faster.
We as a team are keen to have people skilled in both development and operations to provide a better understanding of the complete picture of solutions we implement.
For further reading on DevOps please visit here
)
Azure DevOps (ADO) is a Software as a service (SaaS - meaning you pay a subscription fee for the provider to host, in this case Microsoft) platform from Microsoft that provides an end-to-end DevOps toolchain for developing and deploying software.
An internal tool used to scaffold the necessary resources for a new project including:
For more info on the tool please visit the Github project
A model-driven Power App that supports a teams development workflow within a shared development environment. It integrates with Azure DevOps to enable continuous integration by automatically creating pull requests or commits for an individual developer's changes.
For more info on the tool please visit the Github project
An extension of Microsoft's PowerApps package deployer which includes common functionality used across projects when deploying PowerApps solutions across environments
For more info on the tool please visit the Github project