Azure DevOps

Azure DevOps provides tools and services needed to manage the process of software development that involves collaborative efforts between various stakeholders such as project managers, scrum masters, product owners, users, developers, QA, infrastructure/ops. MS Azure DevOps is offered on the Cloud as the Azure DevOps Services or on premises as Azure DevOps Server. If you have MS 365 subscription, it makes sense to have the Azure DevOps service available.

Azure DevOps Services has below services available to support the software development process –

Azure Organization – This is the level where you set the organization details. The organization can have multiple projects.

Azure Project – This is where you create and manage unique projects for your organization. Each project area allows you to create and manage Boards, Repos, CI/CD Pipelines, TestPlans and Artifacts needed to manage the process of software creation and deployment for that project. You can create multiple projects. Max projects allowed is 1000. Normally, we just create one general project for the organization and create teams and area paths and repos within as needed for various initiatives/product features/functional teams that handle various applications so each team can see and share work with each other easily and all work is well-aligned. Generally, a team is associated to an area path.

Azure Boards – Is the PM toolset that allows to manage work items across the feature teams and across Epic, Feature, User Stories and Sprints following Agile/Scrum methodology. In general, it allows you to setup and manage work-items for your feature teams’ development projects and production bugs/issues. Bugs are items to deal with something is broke and issue is to deal with something cause an impediment to work.

Azure Repos – Is where you store and version control your code

Azure Pipelines – Allows you to implement the complete CI/CD process to build and deploy your code.

Test Plans – Allows you to implement automated tests into your pipelines.

Artifacts – Allows you to share and integrate common packages across pipelines.

Azure Boards

Is the PM toolset that allows to manage work items across the feature teams and across Initiatives, Epic, Feature, User Stories and Sprints following Agile/Scrum methodology. Initiative, Epic and Feature are at the Portfolio level and are generally linked to the Portfolio backlog. User stories, Task, Bugs/Issues are generally linked to the general backlog. A Sprint generally contains items from the general backlog. In general, it allows you to setup and manage work-items for your feature teams’ development projects and production bugs/issues. Bugs are items to deal with something is broke and issue is to deal with something cause an impediment to work.

Normally organizations create one single project to manage all of its work. For example, in case of an organization that has a software development team that support various Enterprise Applications, it can create a single project called EnterpriseApps with the default area path EnterpriseApps. Then create various teams under that project eg: Apps1Team, CoreAppsTeam, OrgWebsiteTeam etc associate to sub-area-paths under the main area path.

Setting up and Managing Azure DevOps Project

The first step towards managing your Cloud development projects is to manage your development items on Azure DevOps by creating a project. Creation and management of Azure DevOps project involves below activities to successfully manage the life cycle of your cloud project –

  1. Creation of Azure DevOps project – This is the first step towards creating your unique project area where you manage your Azure Board/Sprints, work items, Repos, CI/CD Pipelines, Test Plans and other artifacts.

2. Creation of your team – You would need to create a team in order to make use of Board feature. Add your team members to the team once you create it –

3. Create and manage work-items for your sprints – Once you create Teams, you can start creating and managing your work-items.

4. Once you start developing code, create Repos as needed and start checking in code – Use local Git repo to start with and sych to Azure Git Repo using your standard procedures – (Refer to Git.doc for more info)

5. Closely follow your Agile principles to manage your sprint work items / Boards to manage your project work

6. Refer to the article on managing your CI/CD Pipelines on how to set up and manage your Azure CI/CD Pipelines