Microsoft has applied several agility lessons to embracing DevOps across its Cloud + Enterprise (C+E) business.
The C + E engineering group, which encompasses products and services such as SQL, Power BI, Azure, Visual Studio, Visual Studio Online, Windows Server, and System Center, has taken the lead in DevOps practices at Microsoft.
“For many years, we have been implementing Agile practices across our teams,” said a post by Buck Hodges, director of engineering for Visual Studio Online and Team Foundation Server (TFS), and Munil Shah, director engineering for Visual Studio Online. “What we had discovered is that our developers and testers became very efficient at producing, but we had not yet changed our operations processes to be able to ship more quickly as well. We had created a bottleneck into the operations team. We needed to apply the lessons we learned with becoming Agile and move into the world of DevOps.”
Microsoft said DevOps quickly evolved Application Lifecycle Management (ALM) and Agile methodologies to address the needs of the digital business, including the importance of transparency, communication and collaboration between development and operations teams, and the inclusion of the project’s business owner and other critical groups, such as security (DevOpsSec), networking and compliance .
Moreover, DevOps can help teams respond faster to competitive pressures by replacing error- prone manual processes with automation for improved traceability and repeatable workflows. Organizations also can manage environments more efficiently and enable cost savings with a combination of on-premises and cloud resources, as well as tightly integrated open source tooling.
Other DevOps benefits include the ability to deliver better quality software faster and with better compliance, drive continuous improvement and adjustments earlier and more economically; increase transparency and collaboration among stakeholders involved in delivering and operating software; control costs and utilize provisioned resources more effectively while minimizing security risks, and plug and play well with many of your existing DevOps investments, including investments in open source.
To illustrate this, Microsoft has produced a series of DevOps videos that discuss how different teams from Tools, to Azure, to SQL and Windows Server, have made cultural adjustments in how they build software and how they’ve brought engineering and ops together in the process.
“It's a different world; it requires a fundamentally different kind of development and operations process," said James Phillips, corporate vice president of Power BI and Data Analytics at Microsoft.
In an eBook describing Microsoft’s journey to DevOps, Sam Guckenheimer, developer engineering manager at Microsoft, said, over seven years, the Microsoft Developer Division embraced Agile and achieved a 15-times reduction in technical debt through solid engineering practices. However, that was not enough. DevOps became the goal.
“Part of a DevOps culture is learning from usage,” Guckenheimer said. “A tacit assumption of Agile was that the Product Owner was omniscient and could groom the backlog correctly. In contrast, when you run a high-reliability service, you can observe how customers are actually using its capabilities in near real-time. You can release frequently, experiment with improvements, measure and ask customers how they perceive the changes. The data you collect becomes the basis for the next set of improvements you do. In this way, a DevOps product backlog is really a set of hypotheses that become experiments in the running software and allow a cycle of continuous feedback.”