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
adjust permissions as required
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
By default, the existing process name will be appended with - Copy
Click on the "Copy process" button
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
navigate to the projects tab
click on "Change process"
select the copied project as the target process
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
rename original process to any archived name
finally, rename the copy process to its original name
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!