Azure Boards: An effective tool for Agile Planning and Portfolio Management
Tags: azureboards, agileplanning, portfoliomanagement, teamsareasanditerations
Published: 2024-01-02 15:27:37

For some years now, Agile project management have come to stay as an effective way of planning and collaborating on different types of projects. Particularly of interest is its application to Software Development life cycle. It has helped teams to streamline and plan their activities in such a way that achieving best results is not as tedious as what it used to be. One of the popular tools used extensively by Developers is Azure Boards. It has helped in effortlessly navigating the complexities of project planning with ease. But before we dive much into Azure Boards and demonstrate how it can be used, lets briefly explain what Agile Planning and Portfolio Management means.  

**What is Agile Planning?**  
It is a style for Project management used for Software development projects. It is an incremental iterative approach that is very flexible and makes continuous improvement for software applications possible. Most times these improvements are necessitated by Customer's or User's feedbacks.    
With agile planning, Software engineers are able to understand and estimate the time it will take to perform each task and complete the entire project. The team will break down the entire project activities into different 'portions' known as **Sprints**. Processes created from Sprints usually becomes repeatable processes that can be used throughout an application or product life cycle.

**What is Portfolio Management?**
Creating a Portfolio in the management of software projects is a usual norm as this sets out project-related activities, responsibilities and tasks. Therefore, a portfolio is a selection of projects grouped together to be centrally managed and controlled in accordance with the organization's set goals and objectives. This allows for strategically planning project execution with agile principles. The risks and returns on investment of each projects are considered and this will help the members of the Project Portfolio Management(PPM) to make effective decisions.

As mentioned at the outset, this blog will deal with one of the tools used by Software developers for Agile planning and Portfolio management - Azure Boards. 

**Azure Boards**
Azure Boards is a web-based service provided by Microsoft to plan, track and collaborate on software development process. It supports agile planning and methodologies like Scrum and Kanban. It is a platform that can be customized for the management of work items and effective team collaborations. The hubs on Azure Board include Work items, Boards, Backlogs, Sprints, Queries, Delivery Plans and Analytics views. ([For more on Azure Boards click here](https://learn.microsoft.com/en-us/azure/devops/boards/get-started/what-is-azure-boards?view=azure-devops)).
This blog and four other blogs to follow on my [page](https://dev.to/yemmyoye/) will demonstrate (with well-annotated images) to use Azure Boards in the following ways to perform some agile planning and portfolio management tasks:
 
1. Manage teams, areas, and iterations
2. Manage work items
3. Manage Sprints and Capacity
4. Customize Kanban Boards
5. Customize Team process

**Managing Teams, Areas and Iterations with Azure Boards**
For this lab and the other four stated above which will be covered in subsequent articles, you will need to set up an Azure DevOps Organization. To do this, take the following simple steps

i. Log in to your account on Azure portal 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rpmq4yg26ltf4q8tca1j.png)


ii. Search for **Azure DevOps Organization** on the Search bar and click on it


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h171ohlqgq0uzlinpl7c.png)

iii. Next, you will have this page. Then click on **My Azure DevOps Organization**


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k940eh25rveiqimkfsis.png)


iv. Input your details and click on **Continue**


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2xabh5snec34urqhz0uu.png)



v. Click on **Create new Organization** and then **Continue**


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jrrk15k9mue7uso37akt.png)



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mfwclpyg6exta352f8zg.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nuuonrr668jj7zbfkj6o.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zvlal23y6ya4mexgo6to.png)



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y99q9fsyh801jdwch2gr.png)

Yes!! We are ready to take the first step in this lab on how to manage teams, areas nd iterations

<u>Step 1 -Create and configure team project.</u> 
We will create a new Azure DevOps project with a repository based on the eShopOnWeb. Lets have a walkthrough 
(a) Open your Azure DevOps Organization on a browser (Please be sure you are using a browser that supports Azure DevOps such as Microsoft Edge)
Click on **New Project**



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/53wb4tocx1q9mh38rpey.png)

(b) We will give this project the name **eShopOnWeb** and select the Visibility option to be **Private**


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/izrnhe9h8ixv5ubyymji.png)

(c) Click on **Advanced** and select **Scrum** under *Work Item Process*.**Git** is already the default Version Control. Now Click on **Create**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6472hww3dk1irrdq3zbf.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kpv7mn0xql3dtam3dwfa.png)

We are now ready for the main task of this Lab


<u>Step 2 - Create a new team and configure its area and iterations</u>
(a) Ensure that your Browser displays your Azure DevOps organization with the **eShopOnWeb** project generated in Step 1(c) showing like this :**https://dev.azure.com/youraccontname/eShopOnWeb**

(b) Click on **Project settings** and select **Teams** under the *General* section

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/brt7uf3uw0xiz1mfps41.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f19krhg09au4b4suug9r.png)

(c) Next, click on **New Team**. However, there is a default team, **EShopOnWeb Team**, already for this project but we need to create a new one


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ph9nkph6zl56hjsmz7u.png)

(d) Name the new team **EShop-Web**, leave other settings at default and click on **Create**  


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8eygltzt9eakpbixzrs0.png)

(e) On the list of teams, Click on the newly created **EShop-Web** team to have a view of its details

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1gqtxorjl4s6cwvef1q1.png)

(f) To define the schedule and scope of the team, click on **Iterations and Area Paths** link at the top of the **EShop-Web** page.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i7enx8luaasj612p60vm.png)

(g) On the **Boards** pane, click on **Iterations** and then at the bottom of the page on the left hand side, click on **+ Select iteration(s)** 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pb9yz35v8qc4qlmdeng5.png)


(h) On the window that comes up for Iterations, select  **EShopOnWeb/Sprint 1** and click on **Save and Close**  

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/664vvjg7xa6gyopb8ch9.png)


(i) To set the dates for the Sprint 1, select **Sprint 1** and  click on the ellipsis **(...)** that is in front of Sprint 1 on the Iterations' page. On the dropdown menu, click on **Edit**


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/04vhzqa80zgsqlsdk98k.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3xel742zow0kvbi0zi6k.png)

(j) I will state three(3) full work weeks for each Sprint. In this Lab, the first Sprint starts from 18th December 2023 and ends on 5th January 2024


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f1ngghlax0z1ngl8evvz.png)


(k) Repeat Steps 2(g) to 2(j) to add Sprint 2 and Sprint 3.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wffihvg5wd2cqcee35y9.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nft8k9ouil1a1bdnont3.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oxxcpeilii0qaxbua9r7.png)
Note that the first day of Sprint 2 is the next working day after the end of Sprint 1. Sprint 1 ends on Friday 5th January 2024 and Sprint 2 starts on Monday 8th January 2024. Each of Sprint 2 and Sprint 3 also lasts for 3 working weeks.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0sa4fvt7yuyec9azlzfm.png)

(l) Now we will configure the Area path. On the **Project Settings / Boards / Team Configuration** pane, click on **Areas**. You will notice that there is a default area named after the team name


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hp6n42flde372ghx8yo5.png)

(m) Click on the ellipsis by the left side of **default area** as shown in the image below. From the dropdown menu select **Include sub areas**


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hm92zj6fywlyhk7f0cig.png)
Please note that by default, all teams is set to exclude sub-area paths. With that, the team will not be able to view work items from sub areas but only the work items associated with their specific area path. However, if the Management team decide to change the default setting and include the sub areas as we did in this Lab, for example, the EShopOnWeb team will gain visibility into all work items from all sub areas under its hierarchy.

As noted above, my subsequent blogpost will address managing work items, sprints and capacity, customizing Kanban Boards, and customizing team process. 

I hope you find this blog helpful. Kindly drop your feedbacks in the comments section.