본문 바로가기
버그 수치 개선

스쿼드 품질개선 1년 성과 뽑아보기

by 도천수 2024. 1. 29.

2022년 12월 말에 스쿼드를 옮기고 나서 지금까지 대략 1년하고 1주일 정도 지난 것 같습니다. 지난 스쿼드에서 얻은 경험을 바탕으로 새로운 스쿼드에서도 품질 개선 활동을 열심히 해왔습니다. 현재 스쿼드에는 어떤 문제가 있는지 파악하고 어떻게 개선할 수 있을지 고민하고 여러가지 활동을 하며 효과를 측정했어요. 그 중 가장 먼저, 그리고 가장 오랜 기간 해온 활동이 있는데요 그것은 월말마다 우리 스쿼드의 상태를 공유하는 일이었어요.

품질을 끌어올리는 일은 저 혼자 할 수 있는 것과 구성원 모두의 힘이 필요한 것이 있다고 생각했고, 구성원 모두에게 “우리 더 잘 해봅시다!”, “이 부분을 개선해 봅시다!” 라고 어필하기 위한 가장 좋은 방법은 스쿼드의 상태를 숫자로 보여드리고 짚어드리며 같이 고민해보는 일이라고 생각했습니다.

그렇게 2023년 1년 간 Quality report라는 이름의 스쿼드 월간 보고서를 작성해 공유한 과정과 1년 전과 현재가 얼마나 달라졌는지 2024년 1월 1일에 돌아보려고 합니다.

혼자 할 수 없는 일은 같이 하기

제가 하는 방법이 당연히 정답은 아니지만 저는 품질 개선 활동을 할 때 다른 구성원들을 최대한 귀찮게 하지 않으려고 합니다. (품질에 대해서 주도적으로 롤을 가져가야 하는 사람은 QA니까요.) 그렇기에 혼자서 할 수 있는 일들은 혼자 진행하고 그 결과를 틈틈이 링크드인에 공유하기도 했죠.

버그를 분석해서 우리 스쿼드의 약점을 찾기. UX를 공부하기. 자동화 테스트를 마련하기. 체크리스트 도입하기. 사용성 테스트 진행하기. 버그바운티 진행하기.

이 같은 활동들이 혼자 할 수 있었던 활동이었습니다.

하지만 저 혼자 할 수 있는 일 만으로는 한계가 있었고, 보다 앞선 단계에서 버그 예방 등의 품질 개선을 위해서는 제가 할 수 없는 일을 할 수 있는 구성원들의 능력이 필요했습니다. 그렇다고 “이거 해주세요!”, “저거 해주세요!” 하며 닦달하고, 잘 안됐을 때 저 혼자 불안해 하는 것 또한 옳은 방법은 아니라고 생각했어요.

이것, 저것 해 달라고 부탁하지 않고 구성원 분들이 직접 우리 상황을 알고 개선 의지를 보이는 것이 더 옳은 방법이라고 생각했습니다. 그래서 우리 스쿼드의 현재 상태와 문제점, 제 나름대로 생각한 개선 방안과 의견을 제시했습니다. 그 중에서도 가장 효과적인 방법은 현재 상태를 직접 숫자로 보여드리는 일이라고 생각했어요. 이런 내용들을 담아 월말마다 Quality report라는 스쿼드, 스프린트 현황을 공유했습니다.

Quality report 내용 만들기

버그 트렌드

원티드랩 QA팀에서는 무려 자동으로 생성되는 “버그 트렌드” 라는 리포트를 가지고 있습니다. 해당 리포트에서는 지난 1년간의 버그 기록을 월 단위로 제공하며 스쿼드 별, 프로젝트 별, 환경 별 버그 현황을 확인할 수 있습니다.

여기서 제가 느낀 문제점은 이 좋은 리포트를 아직 팀 내부에서만 활용하고 있다는 점이었습니다. 가장 먼저 이번 달 우리 스쿼드에서 발생한 버그의 현황을 내용에 포함시켰습니다.

에러 발생 통계

원티드랩 주요 서비스 페이지를 호출하고 받은 응답으로 에러 발생 유무를 체크하고 발생 현황을 기록하고 있는 에러 발생 통계 페이지를 활용했습니다. 해당 리포트에서는 분, 시, 일, 주, 월, 요일 별로 발생한 버그 개수와 종류를 확인할 수 있습니다. Python과 Google Sheet, Looker Studio로 정리한 차트를 활용하여 우리 서비스가 이번달 얼마나 안정적이었는지, 불안했는지, 왜 그랬는지 등을 간단하게 작성했죠.

왜 그랬는지 정말 모르겠다 싶을 때는 개발자 분들께 물어보기도 했습니다. (유독 이 날짜엔 에러가 많이 발생했는데 이 날짜의 이 시각에는 왜 에러가 발생했었는지 알 수 있을까요?)

버그 속성 분석

버그 속성 분석은 이전에도 한번 공유 드린 적이 있습니다. [버그 분석을 통해 버그를 예방하기 링크]

이번 달, 이번 스프린트에서 발생한 버그 별로 근본적인 원인을 분류하기 위해 만든 버그 속성을 활용해 우리가 어떤 속성의 버그를 가장 많이 발생 시키는지 확인했고, 그것을 줄이기 위한 활동을 꾸준히 진행했어요.

스프린트 요소 별 버그 발생 비율

간단히 측정할 수 있는 몇 가지 기준을 만들어 우리가 스프린트를 얼마나 잘 운영하고 있는지 확인할 수 있도록 차트를 제공해 드렸습니다. 그리고 측정값을 좀 더 유의미한 데이터로 만들기 위해 스토리 점수 별 버그 발생 비율, 1일 당 버그 발생 비율 등 좀 더 세분화 하여 값을 도출했습니다.

값을 도출한 항목들을 공유 드리고 리뷰하며 우리 스쿼드를 안정적으로 운영하기 위한 유저 스토리 총 점수 대비 스프린트 기간을 확인할 수 있었습니다.

스프린트 운영 지표

바로 위에서 계산한 항목들을 토대로 간단하게 가중치를 두어 포인트를 주었고 그것을 차트로 만들었습니다. 혹여나 구성원 분들이 이 차트로 인해 점수를 매긴다는 생각이 들지 않으시도록 하기 위해 이 차트를 작성하는 이유는 “스프린트 운영 100점 만점에 몇 점!” 이 아니라는 점을 강조하며 공유 드렸어요. 이 차트를 만드는 이유는 아래와 같았습니다.

포인트는 “점수” 가 아님. 우리가 진행한 스프린트들이 얼마나 비슷한 포인트를 유지하는가. 비슷한 포인트를 유지하지 못했다면 어떤 원인이 있었는가. 장기적으로 이 포인트가 우상향 하고있는가.

전달하기

위의 자료들을 공유 드리며 전반적인 뉘앙스는 이랬습니다.

“우리 이번달엔 이렇게 일했네요, 저번 달보다 안좋아진 부분은 왜 안좋아졌을까요? 좋은 점은 왜 좋아졌을까요? 어떤 부분을 더 신경써야 할까요?”

포인트는 공유만 하고 끝나는 것이 아니고, 꾸준히 공유하며 결과에 대해 논의할 수 있도록 이야기 거리를 끄집어 내려고 했습니다. 8~9월 부터는 회고 미팅에 이 안건을 끼워 넣으며 다같이 이야기 하는 시간도 마련할 수 있었습니다.

그래서 1년 간 얼마나 달라졌나요?

Quality report의 가장 큰 목표는 두 가지 입니다. 그 목표를 얼마나 달성했는지 확인해 보았습니다.

  1. 버그를 예방해 미래에 발생할 총 버그 개수를 낮추자. [스토리 점수 별 발생한 버그 개수 비율의 평균 값] 상반기 : 45.2% 하반기 : 24.7% 결과 : 20.5% 감소
  2. 스프린트를 안정적으로 운영하자. [스프린트 별 운영 지표 포인트 간 차이의 평균 값] 상반기 : 44.6p 하반기 : 13.3p 결과 : 31.3p 감소

가장 큰 목표 두 가지를 꽤 잘 해낸 결과를 볼 수 있었습니다. 저도 이 문서를 작성하면서 처음으로 결과를 정리해 보았는데 뿌듯하네요!

그래프로 확인해도 상반기(빨간 박스)에 비해 하반기(초록 박스)에 얼마나 포인트가 안정적으로 변하였는지 확인할 수 있었습니다.

특히 우리 모두 공감하고 문제를 제기했던 플래닝 시 유저스토리 포인트 산정의 불안정함을 다같이 모여 해결 방안을 찾고 그것이 실제로 매우 좋게 작용했을 때 QA로써 짜릿함을 느끼지 않을 수 없었습니다. (플래닝 포인트 기준은 과학이다. 🔬)

살충제 패러독스

소프트웨어 테스팅 원리 중에 살충제 패러독스라는 말이 있습니다. 똑같은 TC로는 더 이상 새로운 결함을 발견할 수 없다는 이론이죠.

저 혼자 유난 떠는 것일 수도 있겠으나 1년 간 공유해온 Quality report도 그렇게 된 것 같습니다. 똑같은 내용의 차트로 달라진 점만 보여드렸을 때 앞으로도 얼마나 효과가 있을지 의문이 듭니다. 반복되는 자극에는 아무래도 무뎌지기 마련이니까요. 실제로 “P1 체크리스트를 활용한 버그 속성 개선하기” 라는 활동도 대략 20% 정도의 개선 효과를 보이고 나서는 그 이상의 개선 효과는 보지 못하고 있습니다.

물론 현상 유지도 중요하겠으나 저 혼자 정한 원칙인 “구성원 분들을 최대한 귀찮게 하지 말자” 라는 관점에서 무작정 새로운 활동을 늘려가는 것 또한 저도, 구성원 분들도 피로감만 쌓이지 않을까 하는 걱정이 듭니다.

그래서 요즘엔 다음 단계 목표를 어떻게 설정해야 할지 고민입니다. 팀장님이신 승훈님 말씀대로 기존에 해왔던 활동을 제가 유도하는 것이 아닌, 구성원 분들이 스스로 하실 수 있도록 가이드하고 저는 다음 단계의 활동을 하러 떠나는 것이 맞는 것 같다는 생각도 해봅니다.

마무리

이 글을 작성하면서 1년 간의 성과를 확인했을 때는 기분이 좋았다가 마지막엔 고민이 늘어나게 되었네요. 😥 그래도 이런 활동들로 인해 수치가 개선되고 있다는 점에서 기운을 얻었습니다.

체크리스트를 도입한 초기에는 스프린트 진행 중 계속해서 체크리스트 확인을 리마인드 드렸어야 했는데 지금은 제가 잊어버려도 스스로 체크리스트를 확인하시는 구성원 분들께 너무 감사하고 보람을 느낍니다. 여러분을 믿고 다음으로 떠나도 될 것 같습니다.(진심)

1년 간 목표로 했던 2가지 포인트는 저 혼자 할 수는 없었던 일이었습니다. 귀찮게 굴어도 적극적으로 참여해 주시고 개선 의지를 보여주신 원티드랩 기업스쿼드 여러분 감사합니다. 2024년에도 품질 개선 활동을 여러가지 해낼 수 있도록 힘내야겠습니다. 모두 감사합니다!