소프트웨어 제품/서비스를 개발하고 계시나요? 우리가 잘하고 있는지 어떻게 판단하고 있나요? DevOps로 제품/서비스 개발 속도 및 안정성을 높이기 위해 어디에 포커싱 해야 할까요? 그리고 그 우선순위를 어떻게 가져 가야 할까요? 제품 개발팀의 리더분들은 DevOps에 대한 관심을 가지셔야 합니다. 요즘 대부분의 회사는 고객 경험이 핵심지표가 되고, 맞춤형 제품을 만들기 위해 Agile을 활용하고 DevOps를 구축하고 발전시키고 있기 때문입니다.

우리 조직이 고 성과(🏆) 인지 아닌지를 빠르게 판단 해보려면...
DevOps로 조직이 높은 성과를 내도록 지원하는 DORA의 4가지 간단한 질의로 가능합니다.
DORA는 DevOps Research and Assessments로 DevOps로의 성과 연구를 6년 이상 진행해 왔고,
지금은 google의 DORA팀으로 DevOps 관련 콘텐츠를 제공하고 있습니다.
4가지 간단한 질의가 측정하는 것은 다음과 같습니다.
한가지 축은 처리량 지표
입니다.
- 배포 빈도 - 운영에 정상적으로 릴리즈하는 빈도
Elite는 수십번
, Low 조직 대비 208배 빠름
- 변경 리드타임 - 커밋해서 운영까지 걸리는 시간
Elite는 1시간 미만
, Low 조직 대비 106배 빠름
다른 한 축은 안정성 지표
입니다.
- 변경 실패율 - 운영에서 실패한 배포 빈도 (서비스 장애나 결함이 생겼을때 서비스를 복원하는데 일반적으로 걸리는 시간)
Elite는 1시간 이내
, Low 조직 대비 7배 낮음
- 서비스 복원 시간 - 운영에서 장애 발생에 대한 복구 시간
Elite는 0~15% 사이
, Low 조직 대비 2,604배 빠르게 복구
위의 4가지 지표의 결과를 가지고 Elite, High, Medium, Low로 구분하며, DevOps로 어떻게 하면 지표를 높일 수 있는 파이프라인을 만들지에 대해 어떻게 개선할지에 대해 지속적인 고민을 합니다.
고민을 실제로 어떻게 해결 할 수 있을지 세분화하는 방법은 아래 DevOps 기능
에서 가장 부족한 부분을 찾고 우선순위에 따라 개선하면 됩니다.
첫번째는 기술역량부분 입니다. 소프트웨어 개발팀의 기술적인 역량은 무엇보다 중요 합니다.처리량 지표를 만족 시키는데 영향을 받습니다. 우리 조직에 아래 항목들이 어느정도 성숙화 되어 있을지 확인 해보고, 발전시킬 액션 아이템을 찾는것으로 시작 할 수 있습니다.
DevOps 기능
기술 역량
버전 관리
: 재현성과 추적 가능성을 충족하는데 필요한 버전 관리 방법을 구현하도록 안내합니다.트렁크 기반 개발
: 트렁크 기반 개발 방법으로 병합 문제를 방지하고, 스테이징 환경을 최신으로 유지합니다.