애자일과 DevOps 비교

애자일과 DevOps 간의 차이점과 유사점은 무엇입니까?

Tom Hall의 얼굴 사진
Tom Hall

DevOps 애드보케이트 및 실행자

2000년대 초반에 애자일 방법론이 널리 채택되자 Atlassian에서 소프트웨어 및 기타 제품을 개발하는 방식이 바뀌었습니다. 그러나 업계 표준이 된 지 몇 년 만에, 간과했던 중요한 점이 드러났습니다. 소프트웨어 제품을 배포하고 관리하는 운영 팀의 프로세스와 요구 사항이 배제되었던 것입니다.

이로 인해 개발 및 운영 팀을 정렬하는 접근 방식인 DevOps가 시작되었습니다. DevOps가 애자일을 대체했습니까? 아니면 서로 보완합니까? 둘 사이에는 차이점과 유사점이 모두 있는 것으로 밝혀졌습니다. 애자일과 DevOps는 모두 배타적이고 포괄적일 수 있으며, 한 조직에 둘 다 존재할 수 있습니다.

애자일의 개념

애자일은 공동 작업, 고객 피드백 및 신속한 릴리스에 중점을 두는 프로젝트 관리 및 소프트웨어 개발에 대한 반복적 접근 방식입니다. 2000년대 초반에 소프트웨어 개발 산업에서 시작되어 개발 팀이 변화하는 시장 상황과 고객 요구에 대응하고 적응하도록 지원했습니다.

애자일 접근 방식에서는 계획 및 설계가 부분적으로 선행되지만, 개발은 소규모 배치로 진행되며 이해 관계자와의 긴밀한 공동 작업이 필요합니다. 변경 사항은 지속적으로 통합되며, 제품의 사용 가능한 버전이 대개 워터폴 방법론을 통해 개발된 제품보다 더 빨리 릴리스됩니다. 이것은 많은 이점을 제공하며, 그중에서도 소프트웨어가 고객의 요구 사항이나 기대를 충족하지 못하는 경우 실시간으로 문제를 해결할 수 있다는 점이 가장 중요합니다.

애자일은 개발에 대한 단일 접근 방식이 아니라 여러 방법론의 모음입니다. 스크럼, 익스트림 프로그래밍(XP) 및 개발자들이 그 이전에 수년 동안 사용했던 기타 관행 시스템의 집합체이며, 이 접근 방식을 일련의 원칙으로 통합하기 위해 함께 모인 실행자들이 만든 결과입니다. 이 통합 노력의 결과는 4가지 핵심 가치에 기반한 12가지 원칙으로 구성된 애자일 매니페스토였습니다.

중앙 집중식 노드 아이콘
관련 자료

CALMS 프레임워크에 대해 알아보기

머릿속에 구조화된 모양의 아이콘
관련 자료

DevOps의 역사에 대해 알아보기

애자일 매니페스토의 4가지 핵심 가치

소프트웨어 개발 워크플로를 찾고 있는 Meeples

프로세스 및 도구보다
개인 및 상호 작용

완료된 티켓이 있는 열린 폴더

종합적 설명서보다
작동하는 소프트웨어

플랫폼에서 일하고 있는 사람 모양

계약 협상보다
고객과의 공동 작업

수정 구슬

계획을 무작정 따르기보다는
변화에 대응

Enter DevOps

DevOps is an approach to software development that enables teams to build, test, and release software faster and more reliably by incorporating agile principles and practices, such as increased automation and improved collaboration between development and operations teams. Development, testing, and deployment occur in both agile and DevOps. Yet traditional agile stops short of operations, which is an integral part of DevOps. 

The goal of DevOps is to help bring together developers who write application software and operations who run the software in production. Also, to build and maintain the infrastructure where it runs. DevOps replaces the old approach of development teams writing applications then throwing them over the wall to an operations team who deploys and manages the software with minimal visibility into how it was developed. In a DevOps environment, developers and operations teams work side by side throughout the entire process of developing, deploying, and managing applications.   

Two common frameworks for understanding DevOps are “Three Ways” and “CALMS”, an acronym for Culture, Automation, Lean, Measurement, and Sharing. Culture refers to the cultural shift where development and operations work more cohesively. Automation increases velocity and ensures higher quality. The lean principles of continuous improvement and embracing failure are the foundation of an experimental mindset. Measure refers to the practice of measuring results to improve processes. Sharing emphasizes the importance of DevOps as a group effort and adopting best practices.

The DevOps Three Ways

Connecting puzzle pieces

Systems thinking
Understanding that software applications are complex systems

Browser pointer with play

Amplifying feedback loops
Improve bidirectional communication between teammates

Meeples looking at a software development workflow

Cultural change
Culture of continuous experimentation and learning

When do agile and DevOps work together?

DevOps can be thought of as an evolution of agile practices, or as a missing piece of agile. It’s an effort to take the innovations of the agile approach and apply them to operations processes. At the same time, it’s a missing piece of agile, because certain principles of agile are only realized in their most complete form when DevOps practices are employed. For example, there are multiple references to continuous delivery of software in agile documents, but because delivery pipelines encompass operations concerns, continuous delivery is usually regarded as a DevOps practice. Amplifying feedback loops requires improved communication across and between teams. Agile, specifically scrum, helps facilitate this communication through its various ceremonies such as daily standups, planning meetings, and retrospectives.

What are the similarities/differences between agile and DevOps?

  • Agile emphasizes collaboration between developers and product management — DevOps includes the operations team
  • Agile centers the flow of software from ideation to code completion — DevOps extends the focus to delivery and maintenance
  • Agile emphasizes iterative development and small batches — DevOps focuses more on test and delivery automation 
  • Agile adds structure to planned work for developers — DevOps incorporates unplanned work common to operations teams

The Agile Manifesto explicitly prioritizes individuals and interactions, working software, customer collaboration, and responding to change. These are clearly the same priorities of DevOps but extended beyond the development process and into the management of systems and running applications. 

In addition, the Twelve Principles of Agile Software includes references to DevOps principles. For example, the emphasis on continuous integration and delivery, working in small batches with frequent releases, and using automation are all referenced in the Twelve Principles of Agile Software.

In conclusion... agile AND DevOps

Ultimately the goals of agile and DevOps are the same: to improve the speed and quality of software development, and it makes very little sense to talk about one without the other. Many teams have found agile methodologies help them tremendously, while others have struggled to realize the benefits promised by an agile approach. This might be for any number of reasons, including teams not fully understanding or correctly implementing agile practices. It may also be that incorporating a DevOps approach will help fill the gaps for organizations that struggle with agile and help them have the success they were hoping for.  

Atlassian connects development, IT operations, and agile teams with automation that spans Atlassian products and third-party tools. To learn more visit Atlassian DevOps.

Tom Hall
Tom Hall

Tom Hall은 DevOps 애드보케이트이며 실행자이며, 열렬한 독서가이며, 아마추어 피아니스트입니다.
지난 20년 동안의 업적에는 Novell, EMC, VMware 및 AWS의 인증이 포함됩니다. 그는 2016년에 애틀랜타에서, 그 이후로는 텍사스 오스틴에서 DevOpsDays를 조직했습니다.

이 기사 공유
다음 주제

여러분께 도움을 드릴 자료를 추천합니다.

이러한 리소스에 책갈피를 지정하여 DevOps 팀의 유형에 대해 알아보거나 Atlassian에서 DevOps에 대한 지속적인 업데이트를 확인하세요.

DevOps 일러스트레이션

DevOps 커뮤니티

DevOps 일러스트레이션

시뮬레이션 워크숍

맵 일러스트레이션

무료로 사용해보기

DevOps 뉴스레터 신청

Thank you for signing up