2.0 2부 소개: 플로우 메트릭
1부가 측정의 철학이라면, 2부는 그 철학이 전달 그 자체와 만나는 곳이다: 단지 팀이 아이디어에서 실행되는 시스템까지 코드를 얼마나 빠르고 안전하게 옮기는지뿐만 아니라, 애초에 어떤 종류의 가치가 그 파이프라인을 통해 흐르고 있는지를 서술하는 메트릭들이다. 이 부는 Mik Kersten이 2018년 저서 Project to Product에서 만든 모델인 플로우 프레임워크를 중심으로 조직되어 있으며, 이는 소프트웨어 전달을 가치 흐름으로 취급하고 그 가치 흐름에 공유된 어휘, 즉 네 가지 플로우 아이템 유형과 다섯 가지 플로우 메트릭을 부여하여 비기술적 이해관계자도 실제로 사용할 수 있는 용어로 엔지니어링 활동을 비즈니스 전략에 연결한다.
그 조직 프레임워크의 선택은 의도적이다. 배포 빈도, 리드 타임, 변경 실패율, 복구 시간이라는 DORA 메트릭은 진정으로 연구에 의해 검증되었으며 이용 가능한 최고의 증거를 갖춘 전달 프레임워크 중 하나로 남아 있지만, 그것들은 그것을 통해 무엇이 흐르고 있는지가 아니라 파이프라인의 역학을 측정한다. 팀은 실제로 전달된 가치가 재작업 쪽으로, 혹은 시스템의 미래를 보호하는 부채 및 위험 작업으로부터 멀어지는 쪽으로 조용히 드리프트하는 동안에도 훌륭한 DORA 수치를 게시할 수 있다. 이 부는 DORA를 완전히 다루지만, 맨 끝에 있는 단일한, 통합된 참조 주제(주제 2.10)로 다루는데, 대부분의 조직에게 더 시급하고 더 흔히 빠져 있는 질문은 “우리의 파이프라인이 얼마나 빠른가”가 아니라 “우리의 파이프라인이 실제로 무엇을 전달하고 있는가”이기 때문이다. 이 부의 모든 주제는 여전히 1부에서 확립된 것과 동일한 규율을 따른다: 메트릭을 명시하고, 그것이 어떻게 게임당하는지 이름을 붙이며, 그 게임을 잡아내는 가드레일과 짝짓는다.
대규모 팀에게 플로우 메트릭은 가치를 놓치지 않으면서 팀 간 비교를 가능하게 하는 것이다. 플랫폼 팀, 모바일 팀, 데이터 팀은 일상 업무에서 거의 공통점이 없을 수 있지만, 일관되게 계산된 플로우 속도와 플로우 분포는 리더십이 세 팀 모두에 걸쳐 공정한 질문을 던질 수 있게 한다: 이 팀은 현재 단계가 실제로 요구하는 종류의 가치를 전달하고 있는가. 엔터프라이즈와 정부 조직은 플랫폼 투자를 정당화하고, 경쟁하는 현대화 노력의 수익을 비교하며, 엔지니어링 역량이 리더십이 믿는 방식으로 배분되고 있다는 것을 일화가 아니라 증거로 입증하기 위해 이 부의 메트릭에 의존한다.
이 부의 주제
- 2.1 플로우 프레임워크: 프레임워크의 기원, 그 가치 흐름 모델, 그리고 이 책이 전달 및 플로우 메트릭을 조직하기 위해 DORA만이 아니라 왜 이것을 사용하는가.
- 2.2 플로우 아이템: 기능, 결함, 위험, 부채: 프레임워크의 네 유형 분류 체계, 그 제로섬 역량 배분, 그리고 소급 적용될 경우 분류가 어떻게 게임당하는가.
- 2.3 플로우 속도와 플로우 분포: 얼마나 많이 출시되었는지와 그것이 어떤 종류의 가치였는지를, 항상 함께 읽는다.
- 2.4 플로우 타임과 플로우 로드: 리틀의 법칙이 과부하된 가치 흐름이 아마도가 아니라 수학적으로 느려진다는 것을 어떻게 증명하는가.
- 2.5 플로우 효율과 진행 중 작업: 바쁜 것이 왜 빠른 것과 같지 않은지, 그리고 진행 중 작업을 제한하는 것이 어떻게 반직관적으로 처리량을 개선하는가.
- 2.6 사이클 타임과 그 구성 요소: 변경의 엔지니어링 시간을 그 구성 단계로 분해하여 팀이 시간이 실제로 어디로 가고 있는지 정확히 알게 한다.
- 2.7 대기 행렬 이론: 플로우 로드, 플로우 타임, 사이클 타임, 진행 중 작업 아래에 있는 수학, 그리고 공유 자원에 대한 대기 시간이 가동률이 그 한계에 접근함에 따라 왜 폭발하는가.
- 2.8 린 가치 흐름 메트릭: 이 부의 소프트웨어 특화 메트릭이 유래한 고전적 린 툴킷, 리드 타임, 프로세스 타임, 사이클 타임, 완전 정확률, 택트 타임, 그리고 두 어휘를 잇는 방법.
- 2.9 풀 리퀘스트와 코드 리뷰 메트릭: 전달 파이프라인의 단일 단계 안에 살아 있는 메트릭, 그리고 부주의하게 사용될 경우 리뷰 품질을 어떻게 왜곡할 수 있는가.
- 2.10 DORA 메트릭 프레임워크: 완전한 네 가지 DORA 메트릭, 그것들이 그것을 통해 흐르는 가치가 아니라 파이프라인을 측정하기 때문에 의도적으로 마지막에 배치되었다.
이 주제들이 서로 연결되는 방식
주제 2.1은 플로우 프레임워크 전체를 소개하고, 주제 2.2는 그 플로우 아이템 분류 체계를 제공하며, 주제 2.3과 주제 2.4는 그 사이에서 다섯 가지 플로우 메트릭을 다룬다: 속도와 분포를 함께, 그다음 타임과 로드를 함께, 로드와 타임은 리틀의 법칙에 직접 연결된다. 주제 2.5부터 주제 2.7까지는 특히 플로우 타임과 사이클 타임 아래에 있는 역학을 확대해서 본다: 플로우 효율과 진행 중 작업은 엔지니어링 단계가 왜 흔히 보이는 것보다 느린지 설명하고, 사이클 타임은 그 엔지니어링 부분을 그 단계로 분해하며, 대기 행렬 이론은 앞선 주제들의 로드, 대기 시간, 가동률에 대한 주장이 왜 참인지를 증명 가능한 수학적 용어로 공식화한다. 주제 2.8은 물러서서 그 모든 것을 고전적 린 가치 흐름 매핑에서의 기원까지 추적하는데, 이는 이 부의 소프트웨어 특화 메트릭이 일반화된 공통 어휘다. 주제 2.9는 대부분의 팀이 가장 빠르게 개선할 수 있는 단일 파이프라인 단계를 다룬다. 주제 2.10은 앞선 주제들의 더 넓고 비즈니스 대면적인 그림이 이미 시야에 들어온 후에 잘 입증되었지만 더 좁은 참조 계층으로 제시되는 완전한 DORA 메트릭으로 이 부를 마무리한다.
이 부의 가드레일 규율은 주제 1.2로 직접 다시 연결된다: 플로우 속도는 플로우 분포와 함께가 아니면 결코 보고되지 않으며, DORA의 속도 메트릭은 그 안정성 메트릭과 계속 짝을 이루어, 팀이 더 위험한 코드나 더 좁은 가치의 혼합을 조용히 출시함으로써 속도 수치를 개선할 수 없게 한다. 그 짝짓기는 어느 프레임워크에도 부수적인 것이 아니다. 그것은 각 프레임워크의 핵심 통찰이며, 6부의 신뢰성 메트릭은 코드가 이미 출시된 후 그 짝짓기의 안정성 절반을 프로덕션 운영으로 확장한다.