PQMS 시작하기

JIRA와 Confluence를 이용한 애자일 프로젝트 내 QA

이대희
2021.06.07

들어가며

현업에서 일하면서도 항상 QA는 무엇을 하는 집단일까 하는 고민을 했지만, 명확한 정의를 내리긴 힘들다고 생각합니다. (고민보다 할 일이 엄청 많다는….ㅠㅠ)

이론적으로 품질보증을 뜻합니다만, 품질의 보증 자체가 넓은 의미에 포함되기 때문에 어느 부분이건 포함되고, 어디까지 품질에 맞춰 접근해야 할지 생각만 하다 보면, 정신을 놓게 되는 게 십상입니다.

실제로 대기업의 현업 QA 분들은 세분된 직무에서 전문적으로 업무를 하시는 것을 보았으며, 다른 직군에서도 테스터, 프로세서, 성능 보증, 자동화 개발자 등 여러 가지 직무로 생각하시는 것 같습니다. (세분되고 다양한 직무가 있는 만큼 품질 자체는 광범위합니다)

개인적으로는 모든 것을 해야 하는 기획에서부터 개발과 서비스까지 전체적인 품질을 높이기 위한 행위자가 아닐까 생각합니다.

그중에 스타트업에서는 프로세스와 해당 프로세스의 시스템화가 가장 먼저 되어야 품질을 평가할 수 있으며, 확장과 개선을 할 수 있지 않을까 생각하여 프로세스의 시스템화를 적용하기 위한 여정을 시작하게 되었습니다.

(저희 딜리셔스는 자유로운 분위기에서 책임감을 느끼고 일하며, 연구개발팀의 R&D 및 적용을 권장하고 있습니다. 물론 자발적 입니다.)


QA 프로세스를 시스템화 하는 이유

본격적으로 QA 프로세스를 왜 시스템화시켜야 하는지 궁금하실 겁니다.

저는 IT 개발팀에서 아직 애자일 방법론이 유행하고 있다고 생각합니다.

빠른 개발과 수정, 개선을 통해 누구보다 빠르게 남들보다 더 빠르게 제품을 내보이며, 변화가 빠른 현대에 적응하는 방법론이라고 생각합니다.

또한 애자일의 기본은 같이 일하는 구성원이 같은 앎을 통하여, 의견을 자유롭게 낼 수 있고 좋은 의견이 있다면 비록 변화가 많아도 빠른 적용이 가능하다는 것입니다.

저희도 그 애자일 방법론을 토대로 개발 문화를 갖고 있으며 자유로운 분위기에서 각자 책임감을 느끼고 업무를 진행합니다.

그러나 기획서를 기반으로 개발과 QA, 운영까지 각 프로젝트마다 진행에 있어서 메신저를 많이 사용하고 있습니다.

빠르고 즉각적인 답변 등 메신저는 업무에 효율을 높여주지만, 다수 프로젝트가 동시에 진행될 경우 이력의 관리, 검색 및 변경된 사항에 대한 기록에 있어 관리의 어려움을 느꼈습니다.

그리하여 기초적인 PQMS(Project Quality Managing System)를 만들어보기로 결정하게 되었습니다.

(거창하게 PQMS라고 하였지만, 단순하게 업무에 규칙을 만들어 시스템화하여 모두가 공유한다는 개념으로 생각하시면 될 것 같습니다.)


QA 프로세스 시스템화 컨셉

먼저, 딜리셔스는 JIRA와 Confluence를 사용하여 BTS와 Wiki, 기획서 등 업무와 관련된 모든 내용이 시스템에 적재된 상황이어서 메신저 대신 JIRA와 Confluence를 사용하여 시스템화를 추구할 수 있다고 생각했습니다.

컨셉은 ‘JIRA에 데이터를 만들고 쌓으며 Confluence에 정리 및 표현하여 프로젝트의 진행 및 각자의 일거리를 놓치지 말자’ 입니다.

각 단일 퍼즐은 JIRA의 티켓이고 퍼즐이 완성 된 그림이 Confluence라고 생각하시면 됩니다.

첫 번째, Confluence를 모든 구성원이 편하게 보는 방법을 생각했습니다.

Confluence 표현 항목

두 번째, JIRA에 어떤 데이터를 넣어야 프로젝트 진행 시에 필요할지 생각하였습니다.

JIRA 티켓 정보 항목

해당 내용을 정리한 것을 바탕으로 실제 시스템 구현을 진행하고 데이터와 뷰의 매칭을 확인하도록 하겠습니다.


QA 프로세스 시스템화 구현

드디어 본격적인 시스템화의 구현을 시작하게 되었습니다.

이번 장에서는 Confluence의 표현(View)과 관련된 부분을 보여드리겠습니다.

먼저, Confluence에 새 페이지를 생성합니다.

위에서 정리한 항목 중 1번, “프로젝트 시작 시 필요한 정보”를 기재합니다.


  • 개요에는 프로젝트의 계획과 예측되는 성과를 기재하여, 프로젝트 구성원의 예측 된 성과로 XX를 부여합니다.
  • 프로젝트 초기부터 환경에 대한 부분을 고려하여 개발과 QA 환경을 구성합니다.
  • 담당자를 통해 업무 진행 시 즉시 메신저로 문의할 수 있는 담당자를 알 수 있으며, 릴리즈 일자에 맞춰 각자의 리소스 분배를 진행합니다.

2번, “진행 상황”은 Confluence의 Table Filter and Charts for Confluence 과 Insert JIRA Issue/Filter를 사용하였습니다.


  • Table Filter 안에는 아래 Insert JIRA Issue/Filter가 동일하게 들어가며, 세팅은 아래와 같습니다.

  • Tip. 간트차트로 표현하여 진행률을 확인 가능하며, Start와 End 정보를 JIRA에 기입하여 표현이 됩니다.
  • 특히 Adjustments에서 날짜 표기가 잘 안 되어 확인 중에 JIRA의 데이터를 갖고 오기 때문에 JIRA를 영어로 변경하시면 표현이 잘 됩니다.
  • Insert JIRA Issue/Filter는 위에 Table Filter와 같은 데이터이며, 두 가지 표현이 많아 보이기 때문에, Expand 플러그인 안에 숨겨놨다가 필요한 사람만 볼 수 있게 표현하였습니다.

3번, “각 JIRA 티켓의 상태 값”에 대하여 각 구성원의 담당, 상태, 진행 상황과 우선순위를 표로 표현하였습니다. 업무 진행 중 확인이 필요한 상태의 JIRA 티켓에 대해, 해당 상태에 있는 표의 숫자를 클릭하면 JQL을 사용하지 않고 필터를 통해 확인 가능합니다.

(세팅 시에 JQL를 사용합니다.)


  • 상태 담당으로 Insert JIRA Chart의 2차원을 사용하였습니다.
  • Display options로 Status와 Assignee를 사용하였고, 예를 들어 이대희(QA)라는 사람은 할 일은 1개 있으며 / 2개를 test 중에 있고 / 다른 팀에서 진행요청으로 2건이 있으며 / QA 환경 준비를 1건 / 단위별 업무는 2건 완료되었습니다.
  • 아침에 출근하여, 내가 진행해야 할 업무 상황을 상태 건수로 확인하기 편리합니다.

  • 이슈 타입을 상세화하여, 각 이슈의 진행 상태를 확인하기 편리합니다. 버그의 경우 수정 진행 상황을 파악하여야 QA에서 수정 완료까지 무한대기하지 않을 수 있습니다.

  • 우선순위를 확인하여, 필수로 수정되어야 할 사항 및 릴리즈 가능 여부를 판단 할 수 있습니다.

우선순위로 업무에 대한 리스크도 확인 가능합니다.


QA 프로세스 시스템화와 정량적인 프로젝트 회고

프로젝트가 성공적으로 릴리즈 된 후에는 회고가 필요합니다.

정성적인 평가 항목으로 전체 인원에 대한 프로젝트 진행 시에 생각하거나 느낀 점이 있을 것입니다.

이번 애자일한 개발 방법론으로 프로젝트 진행 시에 진행하지 못한 부분이 있는가?

프로젝트 진행에 있어 아쉬운 점이 있었는가?

업무를 잘하기 위해 새롭게 요청할 것이 있는가?

또는, 이번 프로젝트에서는 어떤 부분의 커뮤니케이션이 좋았다.

프로젝트 구성원과 커뮤니케이션이 좋았다.

등의 정성적인 프로젝트 평가가 있을 수 있습니다.

그럼 QA에서 회고에 도움을 줄 수 있는 점은 무엇일지 고민하게 됩니다.

정성적 평가만으로 프로젝트에 대하여 평가할 수 있는가 하는 의문을 품고, 정성적 평가뿐만 아니라 정량적 지표를 갖고 회고를 한다면 다음 프로젝트에 더 나은 자극과 지표가 될 수 있으리라 생각했습니다.

시스템화된 QA 프로세스에서 정량적인 평가 항목을 도출할 수 있습니다.

아래는 해당하는 정량적 지표의 몇 가지 항목들입니다.

마치며

프로젝트의 첫 시작부터 회고까지 Confluence에서 표현하였으며, 가장 중요한 것은 QA 의견을 전달하는 것입니다.

항상 QA는 기획부터 릴리즈 후 회고까지 전체 품질에 참여하여야 하고, 애자일한 개발 환경 안에서 User 입장과 기능 확인을 위한 Tester, 개발 프로세스가 잘되어 있는지 프로세스의 확인과 테스트 계획 및 성능측정, 서비스 연관 운영까지 품질과 연관 된 모든 부분에 의견을 가장 많이 전달하고 확인해야 합니다.

그 의견을 회고 후 프로젝트 품질에 대한 평가를 진행하여, 객관적이고 기계적인 내용을 전달하고 프로젝트 구성원의 사기 진작 및 개선을 위한 의견을 공유하여 조직 자체와 서비스의 품질까지 높이는 역할을 해야 한다고 생각합니다.

이대희

딜리셔스 QA

"고도화 된 기술과 테스트를 원함 (자동화 돌리고 놀고 싶음)"