Azure DevOps Agile Boards process
Azure DevOps Boards is a good Tool for organisation to develop of projects in a Agile methodic.
In the following I am going to describe how to start and how to organize a development project, create Issues, tasks assign issues to members of project, create development, feature branches, how to pull, push, and merge them together and with master branch.
Getting started
Azure DevOps Services Prices
The basics
Azure DevOps Services is a SaaS platform and as such, you can be running a new Organization (an Azure DevOps instance) within minutes. Up until 5 users it remains free. That means that you can use Azure Boards (Agile boards, backlogs etc), Azure Repos (Git repositories, pull requests etc), Azure Pipelines (CI/CD, environments etc) and Azure Artifacts (Package management) for free, virtually without limits
For more info regarding prices look to What does Azure DevOps Services cost?
Now lets start DevOps Boards
1 Start your browser and give address: dev.auzure.com
2- You will be asked your Microsoft account: give your account, and after that it will create you an Organization name: give a name
3 -asks verify som characters, try them correct, then an organization is created for you
when it created you can got email (mail you have configured as account) that:
Welcome to Azure DevOps. For me with organisation name mehzan07 it shall be as follow:
dev.azure.com/mehzan07
Create project:
4- asks you project name: give your project name (for me: ProductMicroservice), then a project is created created and it look likes as follow:
Import a Project from Github
1- Press to the Project (for me ProductMicroservice) then a menu list is shown in the left side under Project name press to the Repos then in the right side you can found Import butten then press to this
2- Then you se : Repository: Git, Cone URL: here you can give the URL of your project in github (for me https://github.com/mehzan07/ProductMicroservice.git)
3- press to Import button in the down ( project in the Github should be public, Not private)
then you can receive email: Congratulations! Your request to import ProductMicroservice repository has completed and then you can see all the files in your Repos in your master branch.
Create a development branch from master branch:
1- In devOps create a development branch from master by pressing to the branches
2- you can see new branch in the uppe right corner, press to this button
3- give name development and this is based on master branch, press to Create button
now we have two branches in the devops, and we want work with development branch and in the end merge this to the master. Stay in the development branch.
Clone this project to Visual Studio
1- Open visual Studio 2022 and then choose: Clone a Repository
2- Under Browse a Repository, select Azure DevOps
3- In the right side, under: Showing hosted repositories for: Select your Microsoft account (for me mehzan07@yahoo.com )
4- then under type here … you can find a tree like following:
dev.azure.com
mehzan07 (organisation name)
ProductMicroservice (Project name)
ProductMicroservice (Repos project)
5- Select your Repos project name (for me, ProductMicroservice ) and then in the bottom, you see: Clone locally at(….)
6- Press to this and choose a local directory to Clone the project for development
7- under this you se Connect button, Then Press to this then project shall be opened for development.
8- If it is not possible to compile or run the project, you can reopen it locally then it shall be worked.
Now we have a DevOps project (ProductMicroservice) both in devops repo and in visual studio and we can create Issues, tasks, we can work with dem. and both are in development branch.
Creating Issue and Tasks in the Boards
- press to Repos and choose development branch
- press to Boards and then Boards again
- Under board and under To Do press to New Item then you have the following figure:
4. write a tittle and description for Issue and press to Return then an Issue number is generated automatically. Press to the Arrow toward down then show Issue is not assigned as shown in the figure bellow:
5. Press to the Unassigned and assign it to a member of project (e.g. Mehrdad Zandi)
6. Press to the 3 … in the right upper corner of Issue and then select New branch, fill in name of branch (Feature_Issue7_add_new_Categroy), based on (development), Work Items to link: Issue 7, then press to Create button, the the feature branch: Feature_Issue7_add_new_Categroy is created and it is based on development branch. To see this press to Repos: branches, then select this branch then you see the following figure:
Pull and select the Feature branch in Visual Studio
- In Visual studio choose the Git changes(the pen ) and on the upper press to the pull arrow (down arrow) to pull the new created branch as shown in the following figure:
2. press to the development branch under Visual Studio and then Remotes and choose the feature branch: origin/Feature_Issue7_add_new_Category as showon in the following figure:
Now we have the Feature branch both in DevOps board and in Visual Studio. Developer can fix /Implements the Issue and then checks in it and pushes to the DevOps as we see as following:
Creating sub tasks for Issue
- press Boards, and Boards again and in the new created Issue press to the 3 … and then select Add Task as the following figure
2. Press to the + Add Task then fill in the description (like Add a new Item book with name Swedish history) and then press to return then you shall see the following figure:
You can create several task for each Issue.
How to process the Issue and its Tasks?
When an Issue is assigned to a user, then user can move it under Doing column and when it is implemented /fixed then checkmarks the Tasks and writes descriptions as seen in the following figure
And when it is implemented/fixed it should be moved under Done step.
How to commit (check-in) changes in Visual Studio and push the changes to DevOps Boards project
when a developer has implement or fixed the issue and its tasks then the changed files (classes) should be checked in and pushes to the Devops project as following:
We assume that 3 files has been changed in the feature branch and we need only to check-in two files: Programs.cs and Startup.cs:
- Press to the changes (pen) the it shows all the changed files under Git Changes as showing in the following figure:
2. as shown in the figure above press to the + in front of each file you want to stage and check in in our case Startup and Progam files then you have the following figure:
3. In the comment area write: # issue number in this case #3 then it show the feature branch Issue as following figure:
3. Now write a comment in the comment area and press to the Commit Stages then the two staged files are checked in (commited) but still not in the DevOps project
4. Press to the push arrow (upward arrow) to push changes to the devops feature branch : Feature_Issue7_add_New_categroy as showen in the following figure:
Now we have finished the job in Visual Studio.
Checking changes in DevOps Feature branch
In the Devops Boards press to Repos for Feaure branch : Feature_Issue7 then you can see that the changes from Visual Studio has been pushed to the DevOps Repos for Feature branch as shown in the following figure:
As seen in the above figure: the commit: #7 Issue 7 has been implemented. and this means that the Issue 7 implementation is pushed to the DevOps project.
merging Feature branch to development
Now we have implemented our Issue 7 in the Feature_Issue7 branch now we want to merge this branch to development branch.
- Press to the Repos and then Branches and then Pull Request then you see the following figure:
2. Press to New Pull Request and in the new Window you see: Feature_Issue7_add_new_Category Into master, Change master to development and fill in the fields as following figure:
3. Press to the Create button then in the new window some information is displayed (e.g. Merging Issue7 to development) and Complete button on the upper right corner is displayed.
4. Press to the Complete Button to complete the merging then shows the following figure:
As you see in the above figure shows graph of merging and there is option to select how should be after merging, the default option is ‘ Delete feature_Issue7_add_new_Category’ after merging.
5. Press to Complete merge button to complete the merging. then you see that merge is completed
6. Press to the Repos and then Branches you can see two branches, development and master
7. Select development then you see that implementation of Feature branch is in development branch as following figure:
Now we have development branch, after some issues we should merge the development branch to the master branch and Release the master branch.
Merging development branch to master branch
- Press to Repos then Branches and then Pull Requests, then you can see New Pull Request in the upper right corner
- Press to New Pull Request button then choose development into master (in case it is not so) and fill in the fields as the following figure:
- press to Create button then in the right side you see a Complete button (to complete merging process), press to this button and deselect the delete development (if you want) as follow figure:
- Press to Complete merge to finish the process of merging
- Then you see merge of development to master branch completed and in the upper right you see a button ‘Delete Source branch’, if you want you can press to delete the development branch if you don’t want to have it.
Conclusion
In this post I have described about Azure DevOps Agile Boards. How to create it, create organisation, project, How to Import a project from Github, how to Clone this project from Visual Studio, How to create Issue and Tasks in Board, how to create feature branch , how to pull this feature branch in Visual studio and work with Issue, check in (commit) the implementation of Issue and push it to the DevOps. And we have discussed how to merge feature branch to development and how to merge development to master branch.
My next post explores Azure DevOps Project Release and Deploy
This post is part of Azure DevOps Agile Boards step by step