기본 콘텐츠로 건너뛰기

생산성 지표 - 효과와 효율

생산성에 대한 패러다임에 대해 생각해 보도록 하자.

아래 그림을 보도록 하자.


앞부분의 화살표는 요구사항, 중간의 녹색 원통은 개발팀, 마지막 파란 원통은 테스팅 팀이라고 가정해 보자.

A의 경우에 개발팀은 10의 요구사항을 개발할 수 있는 능력이 있지만 요구사항은 5만 들어오고 있다. 개발팀만을 생각한다면 현재 개발팀의 생산성은 50%이다.

반면에 테스팅 팀은 5만큼의 개발 결과물을 테스팅 할 수 있고 개발팀으로부터는 5만큼의 개발 결과물이 만들어지고 있기 때문에 테스팅 팀의 생산성은 100%이다.

따라서 전체 프로젝트의 생산성은 75%이다.

B의 경우에는 개발팀은 100%의 생산성을 테스팅 팀 역시 100%의 생산성을 보인다. 반면에 테스팅 팀은 5의 능력뿐이지만 개발팀에서는 10만큼이 오고 있기 때문에 언제나 5의 재고가 쌓여있게 된다. 하지만 전체 프로젝트의 생산성은 100%이다.

당신은 어떤 팀이 더 훌륭한 팀이라고 생각되는가?

A팀은 효과적인 팀이라고 한다. 여기서 효과라는 것은 목표 달성율을 말한다. A팀의 경우에는 모든 요구사항과 모든 개발 결과물을 처리하고 있기 때문에 할당된 모든 목표를 달성하고 있다.

B팀은 효율적인 팀이라고 한다. 효율이라는 것은 자원 활용 능력을 말한다. A팀의 개발팀의 경우는 자원 활용율은 겨우 50%이다. 반면 B 팀은 모든 팀의 자원 활용율이 100%이다.

우리는 일반적으로 효과보다는 효율적인 팀에 집중한다.

B팀은 개발팀의 결과물을 테스팅 팀에서 모두 소화하지 못하고 만성적인 지연에 시달리고 있다. 이럴 때 많은 경우 테스팅 팀은 계속되는 야근과 철야 등으로 자원 활용율을 200%로 올리는 방식으로 최적화를 하게 된다.

이게 정말 좋은 방식일까?

여기서 생각해 볼 개념은 TOC의 Throughput, 투자, 운영비용 이다. 쓰루풋은 Input 대비 Output의 비율이다.

TOC에서는 개선을 할 때 투자와 운영비용의 추가 지출을 지양한다. 추가 지출을 하더라도 투자와 운영비용의 합이 쓰루풋보다 반드시 작아야 한다.

그리고 어떠한 경우에도 쓰루풋은 손상되서는 안된다.

위의 경우를 테스팅 팀의 관점에서 다시 한번 살펴보자.

B팀의 경우 테스팅 팀의 문제는 개발 결과물을 모두 테스팅할 능력이 부족해서 테스팅이 계속 지연되고 있는 것이 문제이다. 이것을 해결하고자 할 때 기존 방식대로 야근과 철야를 밥 먹듯이 한다면 일시적으로 투자와 운영비용이 상승하게 된다. 그런데 이러한 투자와 운영비용의 상승이 쓰루풋을 10으로 만든다는 보장이 없다.

오히려 장기적인 관점에서 팀원의 이직등으로 쓰루풋이 손상될 수가 있다.

이러한 부작용은 우리가 효과보다는 효율에 집중하기 때문에 전체를 바라보는 시각이 부족해서이다. 즉, 종속성을 고려하지 못하는 것이다.

쓰루풋과 효과로 본다면 A팀의 생산성은 100%이다. 개발팀은 모든 요구사항을 처리하고 있고 테스팅 팀 역시 모든 개발 결과물을 테스팅 하고 있다.

반면 B팀은 개발팀의 생산성은 100%지만 테스팅팀의 생산성은 겨우 50%이다. 즉, 전체적인 생산성은 50%이다.

즉, 가장 생산성이 낮은 팀이 전체 팀의 생산성을 결정하게 된다. 이러한 곳을 제약 혹은 병목이라도 한다.

이러한 결과가 나오게 된 것은 패러다임에 있다.

기존의 패러다임은 합의 법칙이라고 볼 수 있다.

즉, 부분 최적의 합이 전체 최적이 된다는 것이다. B팀은 부분 부분의 생산성이 100%이고 이러한 생산성의 합으로 전체 생산성을 100%로 보는 것이다.

반면 TOC는 곱의 법칙으로 생각한다. 제약이 전체 생산성을 결정짓는다고 생각한다.

그렇다면 B팀의 생산성을 높이기 위해서는 어떠한 방법이 좋을 것인가?

개선해야할 팀은 테스팅 팀이다. 문제는 테스팅 팀만을 고려해서는 절대로 개선이 이루어질 수 없다는 것이다.

하나의 프로젝트에는 많은 부서가 연관되어 있고 각 부서는 종속되어 있다. 그 많은 부서 중 가장 대표되는 부서라면 역시 개발팀과 테스팅 팀이다. 두 부서는 독립적인 부서가 아니라 서로 연관되어 있는 프로젝트라는 마차의 바퀴와 같은 존재이다. 서로의 균형이 맞지 않는다면 마차는 앞으로 나아갈 수가 없다.

B팀의 테스팅 팀을 개선하기 위해서는 그 앞단에 있는 개발팀의 협력이 필수불가결하다.

많은 개선 방법이 있을 수 있지만, 개발팀의 쓰루풋을 줄이는 것이 하나의 방법이 될 수 있다. 현재 들어오고 있는 요구사항을 우선순위에 따라 선별해서 조절할 수 있다. 그렇게 될 경우 개발팀은 자원활용에 대해 여유가 생기게 된다.
이러한 여유분은 단위 테스팅이나 테스트 자동화를 통해 테스팅 팀의 쓰루풋을 증대하는데 쓸 수 있다. 이러한 결과로 전체 최적화를 하고 이에 따라 이익이 증대하게 된다면 훗날 전체적인 쓰루풋을 증대하기 위한 투자로 이어질 수 있을 것이다.

이러한 개선이 되기 위해서는 경영진의 지원이 필수 불가결한 요소이다.

그리고 전문적인 컨설턴트의 도움이 필요하다.

왜냐하면 기존의 패러다임은 그렇게 쉽게 바뀌지 않기 때문이다.

생산성에 관련해서 컨설팅을 제공하는 업체나 컨설턴트는 매우 많다. 하지만 그러한 컨설턴트 중 테스팅 프로세스를 잘 아는 컨설턴트는 매우 드물다.

거기다 테스팅 팀만의 효율이 아닌 효과와 전체 프로젝트의 연관성에 대한 조언을 해주는 컨설턴트는 더욱 드물다.

위와 관련되어 강연이나 컨설팅이 필요하다면 murian.mentor@gmail.com 으로 연락을 주시기 바란다.

필요하다면 무료 컨설팅을 제공해 드릴 수도 있다.

무료 컨설팅에 대한 내용이 궁금하시다면 http://murian.textcube.com/notice/12 을 참고하시면 된다.


댓글

이 블로그의 인기 게시물

테슬라 악세사리 구매 후기

테슬라를 구매하면서 알리와 네이버 페이에서 이런 저런 악세사리를 정말 엄청나게 구매했습니다. 스파크 13년의 경험을 총동원해서 어머 이건 꼭 사야지~~ 라고 생각되는건 모두 구매해봤습니다. 실제 비용은 쿠폰과 포인트로 조금씩 달라질 수 있기 때문에 구매한 제품과 구매 링크 그리고 간단한 후기만 남겨보도록 하겠습니다. 1. 하이패스(AP500S) 뭐.. 얼마 안 있으면 하이패스가 필요없어진다는 얘기도 있지만.. 시범 사업 이후에 전국 고속도로에 설치되려면 아직 멀었고 뭐.. 말이 필요없는 필수품이죠.. 테슬라 카페이서 추천하는거 구매해봤습니다. TKC에서 공구하는건 이걸 구매하고 나서 알게 되었네요.. 네이버 공식샵에서 구매했습니다.  설치 후 동작은 잘 되는데.. 센터 콘솔 안에 위치한 시거잭에 설치하고 뚜껑을 닫았더니.. 음량을 최대 5로 설정해도 동작음이 잘 들리지를 않습니다. 그래서 이게 제대로 결제가 된건지 안된건지 알 수 없는게 유일한 불만이고.. 작고 잘 동작하고 좋습니다. https://smartstore.naver.com/gair/products/4776415369 2. 액정 보호 필름(스코코) https://brand.naver.com/skoko/products/9882239107 좋다고 해서 구매해봤는데.. 솔직히 모르겠습니다. 그리고 미묘하게 크기가 안맞습니다. 테슬라 모니터 테두리가 곡면이라서 그런것 같습니다. 샵에서 붙여 달라고 했는데.. 제래도 붙지 않고 계속 기포가 생깁니다. 점착력이 떨어지는건지.. 혹시 몰라서 한번 더 구매해서 다시 붙여보려고 합니다. 무엇보다 비싸기 때문에.. 무반사 이런거에 큰 관심 없으시면 다른 적당히 저렴한거 구매하시는게 나을 것 같기도 합니다. 3. 도어 커버(카마루) https://blessauto.kr/products/37263 생각보다 얇고 얘도 생각보다 잘 안맞습니다. 미묘하게 좀 큽니다. 제가 똥손이라서 잘 못붙여서 그런것일 수도 있습니다. 막상 붙이고 나면 감촉도 좋고.. 관리하기 편합니...

쿠첸 스마트터치밥솥TOP(10인용) CJH-PD1000iCM 사용기(체험 후기)

2008년 아내를 만나 결혼을 하고.. 자식 셋이 딸린 애아빠가 되어버린 지난 7년 동안.. 머.. 다들 아시겠지만.. 참 못난 아빠로 살고 있습니다. 어느새 7년이 되었네요.. 첫째가 내년이면 초등학교에 들어가니.. 짧지 않은 세월인것 같습니다. 지난 7년동안 애 키우느라 고생만 아내에게 뭐 하나 잘 해준게 없는데.. 아직 철이 덜 들어서 여전히 잘 못해주네요.. 아내가 결혼하면서 가져온 전자 밥솥은 재작년에 수명을 다했는지.. 밥이 제대로 안되어서 한 2년 정도 압력 밭솥에 밥을 해먹었습니다. 한국인은.. 밥심이죠.. 밥을 하려면 솥이 필요한데.. 머.. 냄비에 해먹는 방법도 있지만.. 그건 음.. 귀찮고 힘들고.. 현실에서 밥솥하면 크게 2가지죠.. 압력 밥솥 아니면.. 전자 밥솥.. 압력 밥솥하면.. 풍년이죠.. 아닌가요? 압력 밥솥은 다른건 다 좋은데.. 닦기가 귀찮고(냄비보다는 뭐.. 쉽습니다만..) 밥을 보온으로 하면 금방 말라비틀어지는.. 물론 누룽지를 만들 수 있다는 장점 아닌 장점이.. 전자 밥솥은 저 어릴때는 너도나도 코끼리 밥통이었는데.. 어느샌가... 쿠쿠라는 브랜드와 쿠첸이라는 브랜드의 2강 체제로 바뀌었더군요.. 쿠쿠와 쿠첸이라면.. 밥통계의 삼성과 LG 정도라고 할까요? 주변에 물어보면 대체로 쿠쿠를 추천하더군요.. 아내가 결혼할 때 가져온 밥통도 쿠쿠였습니다. 대략 이렇게 생긴 녀석이죠. 그러다가 이 녀석이 밥을 제대로 하지를 못하야.. 밥통 하나 새로 사준다면서.. 먼넘의 밥통들이 그렇게 비싼 것인지... 그리고 쿠쿠나 쿠첸이나.. 홈페이지에 들어가보면 정말 수십개의 밥통이 있는데.. 도데체가 각각의 밥통 간의 차이가 무엇이고 무엇이 좋고 무엇이 나쁜건지 비교도 할 수 없고.. 설명도 제대로 안되어 있고 제품 겉이나 안을 제대로 볼 수 있는 사진조차 없는 사용성은 개나 줘버린 그런 구조인지라.. 선택 장애를 일으켜서 결국은 압력 밥솥에 밥을 해먹어가며 밥통 하...

결국 테스팅은 어렵다

 AI 코딩 에이전트와 대형 언어 모델(LLM)이 코드를 순식간에 쏟아내고 테스트 스크립트까지 자동으로 만들어주는 시대가 되면서, 일각에서는 "이제 테스팅도 버튼 하나 누르면 끝나는 쉽고 단순한 일 아닌가?"라는 착각에 빠지곤 합니다. 하지만 품질 전문가 매슈 하이저(Matthew Heusser)가 자신의 블로그 Quality Remarks에 기고한 "Turns Out Testing is Hard" 아티클은, 기술이 아무리 화려하게 발전하더라도 소프트웨어의 '진짜 품질'을 검증하는 일은 여전히 지독하게 어렵고 복잡하다는 현실을 서늘하게 되짚어 줍니다. (출처: Quality Remarks - Turns Out Testing is Hard / Matthew Heusser) https://qualityremarks.com/turns-out-testing-is-hard/ 이 아티클이 말하는 핵심은 간단합니다. 단순한 스크립트 실행이나 표면적인 기능 작동 여부를 확인하는 '체크(Checking)'는 AI나 도구를 통해 얼마든지 자동화하고 속도를 높일 수 있지만, 시스템의 숨겨진 리스크를 탐색하고 비판적으로 질문을 던지는 '진짜 테스팅(Testing)'의 난이도는 오히려 이전보다 더 올라갔다는 점입니다. AI 코딩 에이전트가 단 몇 초 만에 수백 줄의 코드를 생성을 해내면서 당장 눈앞의 기능은 돌아가는 것처럼 보입니다. 하지만 그 이면에서는 오작동이 일어날 수 있는 엣지 케이스, 시스템 간의 미묘한 맥락 단절, 그리고 나중에 거대한 장애로 돌아올 인지부채가 순식간에 쌓여갑니다. 매슈 하이저는 왜 테스팅이 여전히 지독히 어려운 과제로 남아있는지 몇 가지 근본적인 이유를 제시합니다. 첫째, '모호함과의 싸움'입니다. 소프트웨어 요구사항은 언제나 비어있는 행간과 모호함을 품고 있습니다. AI는 주어진 텍스트 그대로 명시적인 조건만 테스트하지만, 실제 인간 테스터는 명시되지 않은 사용...