Process Tips

June 27, 2023

Last week, we saw the various customization options in the Azure DevOps processes

today we will look into the best practices to be followed while doing the customizations

Security:

Limit the number of people who has edit permission on the inherited process. Project Collection Administrators or any users who have been given "Edit Process" permission will be able to customize the process

As a change to process will impact all the projects which are based on that process, ensure that only suitable personnel has edit permissions

Let's say we have a power bi based reporting for our projects and making any changes in the inherited process could break the reporting

so beware of such indirect dependencies and integrations

click on the process security

process security

adjust permissions as required

adjust process permissions

Changes:

while making changes to an inherited process don't make the change directly as it can affect multiple projects and a plethora of work items

Following is the best practice for making major process changes

make a copy of the inherited process

create a copy process

By default, the existing process name will be appended with - Copy

Click on the "Copy process" button

created copy process

Now make all the required changes to this copy process

After making changes, we need to test the process

create a dummy project from this copy process to test our changes

Now validate all the changes in this dummy project

Once we are happy with the changes,we need to modify the actual project to follow the copy process

click on the original process

original process

navigate to the projects tab

projects tab

click on "Change process"

change process

select the copied project as the target process

select a target process and click save

do this for all other projects (if any)

changes are now rolled out, we just have to do some cleanups

disable the original process after ensuring that all the projects now point to the copied process

disable original process

rename original process to any archived name

rename original process

finally, rename the copy process to its original name

rename copy process

Performance:

while customization is very handy, we need to be mindful of the resource limits and performance impacts before making any process change. There are hard limits set on azure devops services to prevent performance issues. for example, the maximum number of states that we can add to a work item type in an inherited process is 32.

In addition to this, we should consider a practical limit while we start customizing the process

Whenever we update a work item an sql query runs in the background to validate the workitem, adding many custom rules will make the query complex and can affect the performance so limit the custom rules

Summary:

In this article, we have seen a few best practices to be followed while customizing processes

Thanks for reading, Goodbye until next week!


Profile picture

Written by Thillai Madhavan who lives and works in India. Stay updated by following him on LinkedIn.

All the information on this website - OrganicDevops.com - is published in good faith and for general information purposes only. OrganicDevops.com does not make any warranties about the completeness, reliability and accuracy of this information. Any action you take upon the information you find on this website (OrganicDevops.com), is strictly at your own risk. OrganicDevops.com will not be liable for any losses and/or damages in connection with the use of our website. From our website, you can visit other websites by following hyperlinks to such external sites. While we strive to provide only quality links to useful and ethical websites, we have no control over the content and nature of these sites. These links to other websites do not imply a recommendation for all the content found on these sites. Site owners and content may change without notice and may occur before we have the opportunity to remove a link that may have gone 'bad'. Please be also aware that when you leave our website, other sites may have different privacy policies and terms which are beyond our control. Please be sure to check the Privacy Policies of these sites as well as their "Terms of Service" before engaging in any business or uploading any information. By using our website, you hereby consent to our disclaimer and agree to its terms. Should we update, amend or make any changes to this document, those changes will be prominently posted here
© 2024, OrganicDevOps