Azure DevOps and Continuous Learning
Application Development Manager Kelly Wilson demonstrates using Azure DevOps to transform certification knowledge to practitioner knowledge.
Microsoft offers a vast array of certifications designed to increase your knowledge and skills in a wide variety of platforms and architectures, from Azure to Dynamics 365 to the Power Platform.
Unfortunately for many of us, taking the certification exam might amount to little more than an academic exercise with very few acquired skills. If you or your company has invested the money and time for you to acquire a certification, that certification should mean more than a piece of paper; it should represent real acquired skills. This requires some planning and practice.
The blog post is designed to show you a pattern where you can use Microsoft Learn and Azure DevOps to assist you in becoming a practitioner of the technologies.
How Can Azure DevOps Help Becoming a Practitioner?
Becoming a practitioner of the skills combines a couple of elements:
- Planning the learning, scoping, and practicing of the technology covered in the exam.
- Organizing the scoped items into SMART (Specific, Measurable, Attainable, Relevant, and Time-Based) sprints to accomplish your goals.
- Budgeting time into the scoped sprints, to practice the skills covered in the technology.
- Developing code samples to allow practice of the technologies.
Setting the Environment
For this demo, we will use:
- Azure DevOps, available via free Visual Studio Dev Essentials.
- Microsoft Learn, which will outline the path we will document in Azure DevOps.
- For this demo, we will use the learning path for the certification, Microsoft Certified: Azure Developer Associate, Exam AZ-204: Developing Solutions for Microsoft Azure (beta)
Using Azure DevOps, we will do the following:
- Create a Project, Team, User Stories, and Tasks.
- Assign Microsoft Learn areas to the Azure DevOps User Stories and Tasks and assign scope.
- Organize Sprints with Azure DevOps to plan learning in preparation for the certification exam.
Create Azure DevOps Environment
- Navigate to https://visualstudio.com and sign-up for a free Visual Studio Dev Essentials account.
- Once signed-up, you can access the Azure DevOps instance, using the credentials you used to sign-up for your account
Organize the Azure DevOps environment
- Navigate to Exam AZ-204: Developing Solutions for Microsoft Azure (beta)
- Under Exam Resources, click on Certification Learning Path to open the poster
- In the poster, click on the link for Manage resources in Azure learning path, which will become a User Story in the backlog.
- When you click on the link, Manage resources in Azure, you will see 6 modules the learning path (with completion times). These will be the tasks under this User Story.
Create the Azure DevOps Project
- Navigate to Azure DevOps
- Follow these steps to Create a project in Azure DevOps and TFS
- Make the project private.
- Name the project “My Learning”.
Create the Azure DevOps Team
- After the project “My Learning” is created, in the lower-left click on Project Settings.
- In the left pane of the Project Settings screen, click on Teams.
- In the middle pane of theTeams screen, click the New Team button.
- Add yourself as an administrator.
Add Backlog Item
Add the backlog item, Manage resources in Azure
- In the left-pane, navigate to Boards » Backlogs.
- In the ribbon, click on the drop-down to navigate to the newly created team: “Azure Developer Associate Team”.
- On the backlog, create a new User Story, Manage resources in Azure
- Assign the User Story to yourself.
Add Tasks to the Backlog Item
The following modules under the learning path Manage resources in Azure will be added as Task work items under the User Story with the corresponding hours.
Perform the following:
- Open the User Story created for the module Manage resources in Azure
- In the lower-right of the user story, click on Add Link New Item.
- In the New Item dialog, select Child Item from the drop-down and Task from the type drop-down.
- Add a child task for the first item in the Manage resources in Azure learning path, Align requirements with cloud types and service models in Azure (35 minutes).
- Inside this child task, Align requirements with cloud types and service models in Azure (35 minutes), add the links on the learning page as bullet items in the child task, as illustrated below.
- Fill out the Planning – Effort.
Create Sprint from Tasks
After the tasks are created, the final step is to put the items into sprints. This will allow you to scope learning path prior to certification.
In the Azure DevOps Project, perform the following:
- In the left-pane, click Sprints menu.
- In the upper-right, click on the New Sprint button to add a new sprint.
- In the New Sprint dialog, enter the values for Name, Start Date, and End Date.
After sprint is created, perform the following:
- Ensure you click on the Boards » Sprints left menu item
- In the center pane, click on the Capacity ribbon menu and set the “Activity” and “Capacity per day”
- Click Save
Add Backlog Items to Sprint
After the sprint is created, add backlog items to the sprint:
- In the left-pane, click on Boards » Boards
- On the User Story, “Manage Resources in Azure”, click on the ellipsis and navigate to the current sprint to move the User Story into the current sprint.
- In the left-pane, click on Boards » Sprints
- In the Sprints center-pane, you will see the work items.
- At the far right of the ribbon, click the View Options icon and select “Work Details”
- On the Work Details pane, you will see the resource allocation for this sprint, based on capacity assigned to the resource and the hours assigned to the child tasks.
- You can then add/remove items from the sprint, until the utilization will work for the time you have available to prepare for the certification.
One of the critical points of becoming a practitioner is that you need to write code; practice makes perfect. During the sprint, for activities such as learning Docker, App Service, App Insights, it is critical that you build in time for the sprint practice writing code to truly learn the skills. This may increase the sprint time, but will pay-off in terms of skills acquired.
I have created a sample .NET Web API solution that you can use for code practice, if you wish.
The setup involves some planning and configuration. However, once completed you can plan the overall sprints enabling you to systematically learn and practice with code.