Chapter 1: Azure DevOps Overview
This chapter introduces the first topics of this book: DevOps principles and Azure DevOps project management. In this chapter, we are going start by introducing DevOps and provide an overview of the different DevOps principles. Then, we are going to cover the key concepts of Azure DevOps and the different services that Azure DevOps offers. Finally, we are going to introduce the scenario that we will be using throughout this book.
The following topics will be covered in this chapter:
- Introducing DevOps
- Understanding DevOps principles
- Introducing Azure DevOps key concepts
- Discovering Azure DevOps services
- Introducing the scenarios
Let's get started!
Introducing DevOps
For a long time, development and operations had been divided into isolated modules with both separate concerns and responsibilities. Developers wrote the code and made sure that it worked on their development systems, while the system administrators were responsible for the actual deployment and integration in the organization's IT infrastructure.
As there was limited communication between these two isolated modules, both teams worked mostly separated on their projects. However, they heavily depended on each other because there was no cross-platform knowledge across the different teams.
This fitted in nicely with the Waterfall Methodology that was used for most projects. The Waterfall Methodology is based on the Software Development Life Cycle (SDLC), which has clearly defined processes for creating software. The Waterfall Methodology is a breakdown of project deliverables into linear sequential phases, where each phase depends on the deliverables of the...
Understanding DevOps principles
There are a lot of different definitions when it comes to DevOps. Most of them are good at explaining the different aspects of finding the right flow in delivering software and IT projects. In the upcoming sections, we will highlight six DevOps principles that we think are essential when adopting a DevOps way of working.
Principle 1 – Customer-centric action
Nowadays, it is important that software development projects have short cycles and feedback loops, with end users and real customers integrated into the team. To fully meet the customers' requirements, all activity around building software and products must involve these clients. DevOps teams and organizations must continuously invest in products and services that will allow clients to receive the maximum outcome, while also being as lean as possible to continuously innovate and change the chosen strategy when it is no longer working.