Software delivery performance 즉, 전달 성과가 조직의 성과에 가장 큰 영향을 미친다고 합니다.
이 책은 DevOps 전문가인 Nicole Frosgren, Jez Humble, Gene Kim이 고성과 IT 조직에 대한 연구를 기록한 글입니다.
영문판의 제목은 Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations 입니다. 제목에서 처럼 Lean Software와 DevOps에 대한 내용을 주로 다루고 있습니다.
조직의 성과에 가장 큰 영향을 미치는 Software delivery performance를 높이기 위해서는 어떤 역량들이 필요할까요?
책에서는 여러가지 역량들을 소개하고 있고, 그것들은 다음과 같이 5가지 범주로 나눌 수 있었습니다.
Continuous Delivery (CD, 지속적 전달)
Architecture (아키텍처)
Product & Process (제품 및 프로세스)
Lean Management & Monitoring (린 관리 및 모니터링)
Culture (문화)
각 항목들의 세부사항들을 정리하면 다음과 같습니다.
Continuous Delivery (CD, 지속적 전달)
Continuous Delivery는 소프트웨어 Release를 자동화 하는 것을 의미합니다.
Version Control (버전 컨트롤)
배포 프로세스 자동화
Continuous Integration (CI, 지속적 통합)
Trunk 기반의 개발
테스트 자동화
테스트 데이터 관리
보안 통합
Continuous Delivery(CD, 지속적 전달)
Architecture (아키텍처)
Loosely Coupled
권한이 부여된 팀
Product & Process (제품 및 프로세스)
고객의 피드백을 수집하고 구현
작업 흐름의 시각화
소규모 배치
팀 실험의 활성화
Lean Management & Monitoring (린 관리 및 모니터링)
변경 승인 프로세스 간소화
애플리케이션 & 인프라 모니터링
시스템 상태를 사전에 예방
프로세스를 개선하고 WIP를 제한
품질 및 작업을 시각화
Culture (문화)
학습을 장려
팀 간 협업을 지원하고 촉진
작업을 의미 있게 만드는 자원과 도구를 제공
트랜스포메이션 리더십을 지원
책에서 소개한 내용들 중 우리 환경에 필요하고 맞는 부분을 찾아 잘 적용하면, 개발 Performance, 품질, 보안등 많은 부분에 큰 효과가 있을 것 같습니다.
이렇게 프로세스를 잘 다듬는다면, 시스템 개발과 운영에 더 효율적이고, 스트레스를 덜 받는 개발자의 복지가 될 수 있지 않을까요?