In this course you will learn about using Azure DevOps, formerly known as Visual Studio Team Services (VSTS), to manage the application development lifecycle. This training will show you the role of the project manager, developer and tester in this process and how DevOps can improve the efficiency and code quality of your team. You will perform project management, source control (no real coding skill required for the exercise), testing and build automation with Azure DevOps.
Team Development with Azure DevOps
Who should attend this course?
.NET developers, project managers, testers and anyone who is involved in application development.
Prerequisites
The course does not require real coding skills as the focus is on workflow with Azure DevOps.
Azure DevOps Services
What is Azure DevOps? Who is it for? What is the big picture?
- Azure DevOps: The big picture
- Features
- Architecture
- The Extensions Marketplace
- LAB: Register for an Azure DevOps Account
Azure DevOps Team Projects
Azure DevOps is the collaboration hub for everyone in the development team, including project managers, testers, architects, developers and end-users. Here we will create a team project and configure it.
- Development Processes
- Team Projects and Process Templates
- LAB: Creating and configuring your team project
Project Management with Azure Boards
The project backlog contains all the features that users have requested. This does not mean we will immediately add this feature, for this we have backlog planning where we try to identity the features we want to build next.
- Iterative Development
- Creating the project backlog
- Work Items and Queries
- Velocity and Forecasting
- LAB: Create your project backlog
Planning a sprint
Once we have decided which features we will build next, we will identity the various tasks that need to be completed to built that feature. We will look at balancing product, schedule and cost.
- Sprint Planning
- Identifying user stores for the next sprint
- Capacity planning
- Defining tasks to complete a user story
- Adjust work to fit team capacity
- Sharing a sprint with stakeholders
- LAB: Planning the next sprint
Running the sprint
Ready? Set? Go! During the sprint the whole team builds the next features. Communication here is essential, so we will look at the daily standup meeting and how VSTS can help. We will also look at reporting in VSTS.
- Running a sprint
- The daily standup meeting
- Burndown chart
- Team dashboard
- LAB: Starting the sprint
Storing Developer Assets in Azure Repos
Sources are probably the most important part in any software project and we need a way to keep track of all sources and all changes. Azure Repos gives you the choice between TFVS and Git for storing your source history, branching, merging and everything else required.
- Version Control concepts
- Distributed Source Control with Git
- Creating a local repository
- Cloning a remote repository
- Staging files
- Committing files
- Adding branches to your workflow
- Branching Strategies
- Merge vs. Rebase
- Synchronizing with a remote repository
- Pull Requests
- LAB: Working with Git
Continuous Integration and Deployment with Azure Pipelines
To build quality software, and to limit nasty integration problems at the end of the project, doing a daily build is long regarded as a best practice. Azure DevOps makes building daily very easy through the build system. You’ll learn how to manage the build, do desktop builds, and how you can setup Team Build to work in a continuous integration environment. You’ll then learn how to customize the build process to perform all your build steps including running unit tests, creating custom build actions, generating setup programs and deploying to staging servers.
- What is Team Build?
- Doing Continuous integration
- Creating Build processes with the new componentized build
- What are jobs, tasks?
- Integrating with other systems (such as GitHub) using Service Connections
- Integrating with other systems (such as GitHub) using Service Connections
- LAB: Setting up a build definition and deploying with a release definition
Azure Resource Manager Templates
Deploy your Infrastructure as Code
- Infrastructure as Code
- Authoring ARM Templates
- Parameters, Variables, Resources, Output
- Nested Templates
- LAB: Deploy Azure Resource Resources with ARM Templates
Continuous Deployment with Azure Pipelines
With continuous deployment you can automatically setup a machine in a consistent state, whenever you want. Not only can you deploy your application, but also setup your infrastructure.
- Release management and continuous deployment
- Release definitions
- Approving releases with release gates
- Choosing between deployment patterns
- Notifications with Service Hooks
- What are Agents?
- Setting up a build agent in your enterprise network
- Understanding ChatOps
- LAB: Continous Deployment with a release definition
Azure Artifacts
Modern development uses packages like NuGet, NPM or others. With Azure Artifacts you can create your own private or public package feeds.
- Understanding Azure Artifacts
- Creating a Package Feed
- Pushing a Package
- Understanding Upstream Sources
- Versioning Packages
- Using Artifacts in Azure Pipelines
Azure Test Plans
Azure Test Plans is now the central place for testers to plan, run and analyze their tests.
- Types of tests
- Test Planning
- Test Plan, Test Suite, Test Case
- Running manual tests using the Test Runner
- Parameters and Shared Steps
- Creating bug work items
- LAB: Acceptence testing your application
Book your training
Enter your information to confirm your booking.