Scrum Or DevOps: Which One To Implement In Agile Transition
In the process of practicing agile, the team will have multiple choices: Scrum, XP(Extreme Programming), Kanban, Crystal, Lean, SAFe, etc. The most popular agile development method is Scrum. Therefore, some stereotype it as that agile is Scrum, and implementing Agile is to practice the Scrum method.
DevOps, created after Agile, integrates concepts, practices, and tools, which can improve the organization’s ability to deliver applications and services at a high speed. Compared with traditional software development and infrastructure management, it can help teams develop and develop faster. Improving products has gradually become the glue that keeps the development team and the operation and maintenance team together. In this case, people are often tied to a dilemma: for team agile transition, Scrum or DevOps?
Why misunderstand Scrum and DevOps
Here is the misunderstanding of thinking that needs to be corrected. First of all, Agile is not equal to Scrum. Agile is a software development movement. Its initiators try to think about software development, methodology, and organizational structure in a more agile new way to help people in the industry. As a methodology, Scrum is not detailed operation guidance, but a set of framework for actions and behaviors. On top of that, each team forms reasonable iterative tasks according to the actual situation of their team.
DevOps is not only concerned with the content of the development, but also the entire system, in order to facilitate the value flow end-to-end. From the customer's requirements to the development, and then to the delivery of customer results, the value flow is not limited to any certain stage. Each unit in the whole system is complementary to each other, so the change of one will affect the other. To make the value flow smoothly, each unit in the system needs to cooperate.
People often fall into the misunderstanding of choosing one over the other, if they do not understand Scrum and DevOps. Scrum and DevOps are not conflicting with each other. In terms of essence, Scrum is biased towards the basic framework, and DevOps is biased towards the cultural concept. Scrum and DevOps are like part and whole: Scrum is more for the delivery of results after the end of each sprint, while DevOps for the overall operation of the construct, development, and operation and maintenance, as well as the connection and continuous delivery before and after.
DevOps to Support Scrum
The Scrum Team consists of developers in the original Scrum team, as well as architects, analysts, sales personnel, etc. The next step for the team is to link the various and cross-functional team members together. To solve the drawback of Scrum that only focuses on the development, some teams that have realized this problem began to seek DevOps support.
The concept of Continuous Delivery which is part of DevOps is introduced to Scrum, which emphasizes that the completion of each sprint should take the product increment as a goal.
In a Sprint, the Scrum Master will not do detailed Sprint planning. He only plans for the first few days of the Sprint, and then follow the work progress during the Sprint to improve and adjust the plan and adapt to the current;
Hold daily Scrum meetings to synchronize the plans of the members in the team to improve the efficiency of collaboration among members;
When the Sprint is over, the team needs to hold a Sprint Retrospective meeting to review the work done in this Sprint, reflect on the deficiencies in this sprint and the matters that should be noted, to adjust the overall direction of the team in the next sprint.
In the Sprint, the Scrum team continuously learns, gets feedback, and strives to improve the velocity and output, so that the product and its increments can be released for delivery as much as possible. The Scrum Master decides the next sprint goal based on the completion of the goals in this Sprint. In this phase, it is still necessary to minimize the intervention, thereby reducing the cycle of the release.
The Scrum team synchronizes the task progress of each team member through acceptance/review meetings, retrospective meetings and daily Scrum, and gets feedback on the results of the previous sprint in time. Different from a single Scrum, the increments which is in the application of DevOps Scrum acceptance has already been in the production environment, the acceptance criteria is no longer a single performance test, but a multi-faceted review around the product, deployment architecture, market, and such, to set the next sprint plan.
There are many ways to expand feedback. Generally speaking, the first step is to improve production efficiency. Pair programming can be used to increase work efficiency and deliver as many increments as possible to the environment. It is also possible to unify code specifications and reduce the increase in additional costs. If the team has a good and unified code specification, it will effectively avoid the risk of work stagnation in the team when one developer is not working today. It can also improve the readability of the code, and thus improve the work efficiency and expand feedback.
A sense of ritual in Scrum is often manifested in Sprint Planning meetings, Daily Scrum meetings, and Sprint Retrospective meetings. DevOps weighs more the rapid and continuous delivery of value in the entire value stream. This rapid flow of value requires everyone's participation in the product release. By automating the processes of "software delivery" and "architecture change", human intervention is gradually eliminated, making the building, testing, and release of software faster, more frequent and reliable.
The DevOps culture advocates "shared responsibility", that is, in the entire process of product release, all members collaborate to ensure the value of the product. Therefore, applying DevOps based on the Scrum framework can help the Scrum team to better learn and innovate.
Scrum is only concerned with software developers, while DevOps focuses on an end-to-end Software Engineering Organization to enable impressive business outcomes. The two are building bridges not walls.
When asked what Scrum would look like in the next 20 years, co-creator Ken Schwaber often responds, "it will be the normal way that teams produce goods." An easy argument, but the truth is that not only do people need to "get" Scrum, but Scrum Teams still need to operate in an atmosphere that encourages an analytical approach to thrive.