brunch

You can make anything
by writing

C.S.Lewis

by The Compass 더컴퍼스 Aug 09. 2023

DevOps 그리고 애자일

애자일과 DevOps의 차이점 그리고 유사점에 대해서

비즈니스 민첩성이 강조되어지고 있습니다.

비즈니스의 핵심에 큰 리스크가 없으면서 조직을 새로운 방향으로 신속하게 바뀌어 나가는 것을 의미합니다. 발생할 수 있는 모든 위기에 대응이 가능해야하며, 이를 통해 빠른 변화에 적응할 수 있는 비즈니스 팀 빌딩을 하는 것이 매우 중요합니다.


이제 이는 선택이 아니라 필수 불가결한 조건입니다.


신속한 변화를 위한 팀이 필요하고 이에 대해 얘기할 때 붙는 두가지 단어가 있습니다.

Agile 그리고 DevOps


애자일 방법론이 2000년대 초에 널리 채택되면서 소프트웨어 및 기타 제품을 개발하는 방식이 전과는 전혀 다르게 바뀌었습니다. 그러나 업계에서 표준이 된 지 몇년 만에 크리티컬한 oversight가 발생하였습니다.

바로 소프트웨어 프로덕트를 배포하고 관리하는 실질적 운영 팀의 프로세스와 요구사항이 이러한 혁명속에서 제외되었기 때문입니다.


이로 인해 새롭게 등장한 것이 DevOps 입니다.

Development와 Operation의 합성어인 이 개념이 등장하면서 과연 애자일이 대체되었을까요?

이 둘에는 상당한 유사점이 있습니다.



애자일이 무엇일까요?

애자일은 협업, 고객 피드백 및 신속한 릴리스에 중점을 둔 프로젝트 관리 및 소프트에어 개발에 대한 반복적인 접근방식입니다. 2000년대 초 소프트웨어 개발 업계에서 생겨났으며 개발 팀이 변화하는 시장 상황과 고객 요구에 대응하고 적응하도록 돕습니다.


애자일 접근 방식에서는 일부 계획 및 설계가 사전에 수행되지만, 개발은 소규모로 배치하여 진행되고 이해 관계자와의 긴밀한 협업이 필요합니다. 변경 사항은 지속적으로 통합되며 제품의 사용 가능한 버전은 폭포수 방법론(Waterfall Project Management)을 통해 개발된 제품에 비해 좀 더 빨리 릴리즈 되는 경우가 많습니다. 이는 소프트웨어가 고객의 요구나 기대를 충족하지 못하는 경우 실시간으로 수정할 수 있다는 점을 포함하여 많은 이점을 제공합니다.



DevOps의 시작

DevOps는 자동화 증가 및 개발 팀과 운영 팀 간의 협업 개선과 같은 애자일 원칙과 관행을 통합하여 팀이 소프트웨어를 보다 빠르고 안정적으로 빌드, 테스트 및 릴리스할 수 있도록 하는 소프트웨어 개발 접근 방식입니다. 애자일 및 DevOps 모두에서 개발, 테스트 및 배포가 발생합니다. 그러나 전통적인 애자일은 DevOps의 필수적인 부분인 운영에서 멈춥니다. 

DevOps의 목표는 애플리케이션 소프트웨어를 작성하는 개발자와 프로덕션 환경에서 소프트웨어를 실행하는 운영을 함께 모으는 데 도움을 주는 것입니다. 또한 실행되는 인프라를 구축하고 유지 관리합니다. DevOps는 개발 팀이 애플리케이션을 작성한 다음 개발 방법에 대한 최소한의 가시성으로 소프트웨어를 배포하고 관리하는 운영 팀에게 애플리케이션을 전달하는 기존 접근 방식을 대체합니다. DevOps 환경에서 개발자와 운영 팀은 애플리케이션 개발, 배포 및 관리의 전체 프로세스에서 함께 작업합니다.   


DevOps를 이해하기 위한 두 가지 일반적인 프레임워크는 "Three Ways"와 Culture, Automation, Lean, Measurement 및 Sharing의 약어인 "CALMS" 입니다. 문화는 개발과 운영이 보다 응집력 있게 작동하는 문화적 변화를 의미합니다. 자동화는 속도를 높이고 더 높은 품질을 보장합니다. 지속적인 개선과 실패를 포용하는 린 원칙은 실험적 사고방식의 기초입니다. 측정은 프로세스를 개선하기 위해 결과를 측정하는 관행을 말합니다. 공유는 그룹 노력과 모범 사례 채택으로서 DevOps의 중요성을 강조합니다.



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


Agile은 개발자와 제품 관리 간의 협업을 강조합니다. DevOps에는 운영 팀이 포함됩니다.

애자일은 아이디어에서 코드 완성까지 소프트웨어의 흐름을 중심으로 — DevOps는 초점을 제공 및 유지 관리로 확장합니다.

Agile은 반복적인 개발과 소규모 배치를 강조합니다. DevOps는 테스트 및 제공 자동화에 더 중점을 둡니다. 

Agile은 개발자를 위해 계획된 작업에 구조를 추가합니다. DevOps는 운영 팀에 공통적인 계획되지 않은 작업을 통합합니다.




결론적으로 애자일과 DevOps의 목표는 동일합니다. 즉, 소프트웨어 개발의 속도와 품질을 개선하는 것입니다. 둘 중 하나에 대해 이야기하는 것은 거의 의미가 없습니다. 많은 팀이 애자일 방법론이 엄청난 도움이 된다는 것을 알게 된 반면, 다른 팀은 애자일 접근 방식이 약속하는 이점을 실현하는 데 어려움을 겪었습니다. 애자일 방식을 완전히 이해하지 못하거나 올바르게 구현하지 못하는 팀을 포함하여 여러 가지 이유가 있을 수 있습니다. 또한 DevOps 접근 방식을 통합하면 애자일로 어려움을 겪고 있는 조직의 격차를 해소하고 원하는 성공을 거두는 데 도움이 될 수 있습니다.  


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari