"GQM(Goal-Question-Metric)"에서 두 번째 단계인 "질문 도출(Question)"은 설정한 목표를 달성하기 위해 어떤 요소를 분석하고 평가해야 할지 구체적으로 파악하는 과정입니다. 질문(Question)은 목표(Goal)를 이루기 위한 과정에서 성과를 세부적으로 쪼개고, 문제를 더 깊이 이해할 수 있도록 도와줍니다. 이 단계는 성과 측정을 위한 방향을 제시하며, 이후 "측정 지표(Metric)"를 설정하는 데 필수적인 기반이 됩니다.
2024.09.07 - [System & Software Engineering] - 소프트웨어공학: GQM (Goal-Question-Metric) - 목표 설정 방법
질문을 잘 설정하면 목표 달성에 필요한 세부적인 사항들을 명확히 할 수 있으며, 이를 통해 성과를 정확하게 측정하고 평가할 수 있습니다. 이제, 질문 도출을 구체적으로 어떻게 하는지에 대해 알아보겠습니다.
GQM: 질문 도출 방법
1. 목표를 분석하기
질문을 도출하기 전에 먼저 목표를 분석해야 합니다. 목표에서 어떤 문제를 해결하려고 하는지, 또는 어떤 성과를 달성하고 싶은지를 깊이 이해해야 질문을 구체적으로 만들 수 있습니다. 목표가 명확해야, 그 목표를 달성하는 데 필요한 핵심 질문들이 도출될 수 있습니다.
예시:
- 목표: “다음 릴리스까지 버그 발생률을 20% 줄인다."
- 이 목표에서 중요한 포인트는 버그 발생의 원인을 파악하고 이를 줄이는 것이죠. 이를 위해 우리는 버그 발생의 패턴, 원인, 그리고 해결책에 대해 질문을 던질 수 있습니다.
2. 핵심 영역 정의하기
목표를 분석한 후에는, 그 목표를 달성하기 위해 중요한 핵심 영역을 정의해야 해요. 핵심 영역은 목표 달성에 가장 큰 영향을 미치는 요소들을 말해요. 이 핵심 영역을 잘 정의해야 그에 맞는 질문을 도출할 수 있습니다.
예시:
- 버그 발생률 감소라는 목표에서 중요한 핵심 영역은 다음과 같을 수 있어요:
- 버그 발생 패턴: 버그는 특정 모듈이나 기능에서 자주 발생하는가?
- 개발 과정: 버그는 개발의 어느 단계에서 주로 발생하는가?
- 테스트: 테스트 과정에서 버그가 충분히 발견되고 있는가?
3. 질문 분류
질문은 크게 세 가지 범주로 나눌 수 있어요. 결과, 프로세스, 자원의 세 가지 측면에서 질문을 설정하는 방식입니다. 각 범주는 목표 달성을 위해 다루어야 할 중요한 부분에 대한 구체적인 질문을 만들어줍니다.
- 결과 관련 질문: 목표를 달성했을 때 기대되는 결과와 성과에 대한 질문입니다.
예시: “버그 발생률이 감소한 모듈은 어디인가?”, “버그를 줄인 후 소프트웨어의 안정성은 어떻게 변화했는가?” - 프로세스 관련 질문: 목표를 달성하기 위한 과정과 절차에 대해 묻는 질문입니다. 이를 통해 문제 해결에 필요한 과정의 세부 사항을 분석할 수 있습니다.
예시: “개발 과정 중 어느 단계에서 버그가 가장 많이 발생하는가?”, “테스트 과정에서 누락된 버그는 몇 개인가?” - 자원 관련 질문: 목표 달성을 위해 필요한 자원(인력, 기술, 도구 등)에 관한 질문입니다.
예시: “버그를 줄이기 위해 필요한 추가 리소스는 무엇인가?”, “테스트 자동화 도구의 도입이 버그 감소에 기여했는가?”
4. 질문을 구체화하기
질문을 도출할 때는 질문을 가능한 한 구체적으로 만드는 것이 중요합니다. 추상적인 질문은 이후 성과를 측정하는 데 혼란을 줄 수 있어요. 구체적인 질문은 측정 가능한 데이터로 이어질 수 있어야 하며, 목표 달성에 직접적인 도움을 줄 수 있는 내용이어야 합니다.
예시:
- 추상적인 질문: “왜 버그가 발생하는가?”
- 구체적인 질문: “어느 모듈에서 버그가 자주 발생하는가? 버그는 기능 개발 단계에서 주로 발생하는가, 아니면 통합 테스트 단계에서 발생하는가?”
구체적으로 질문을 설정하면, 문제를 더 명확하게 파악할 수 있고, 나중에 이를 "측정 지표(Metric)"로 연결하기도 쉬워집니다.
5. 팀과 협력하여 질문 검토하기
질문 도출은 혼자서 하는 작업보다는 팀과 협력하여 함께 진행하는 것이 더 효과적이에요. 팀원들이 문제를 다양한 관점에서 바라보고 있기 때문에, 다양한 의견을 반영해 더 포괄적이고 적절한 질문을 도출할 수 있습니다.
질문 검토 단계:
- 질문이 목표와 맞는지 검토합니다.
- 각 질문이 구체적이고, 성과 측정에 도움이 되는지 확인합니다.
- 팀원들이 추가로 제안하는 질문을 수용하고, 필요하다면 질문을 수정합니다.
팀 협력의 예시:
개발자는 버그 발생의 기술적 원인에 대한 질문을 던질 수 있고, 프로젝트 매니저는 버그 해결 과정에서의 자원 배분 문제에 대한 질문을 던질 수 있어요. 이렇게 다양한 관점에서 질문을 검토하면 더 완성도 높은 질문을 도출할 수 있습니다.
6. 질문 우선순위 정하기
질문을 여러 개 도출했다면, 이제 각 질문의 우선순위를 정해야 합니다. 모든 질문을 한 번에 해결하려고 하면 자원이 분산될 수 있고, 중요한 질문을 놓칠 수 있어요. 따라서 가장 중요한 질문부터 차근차근 해결할 수 있도록 우선순위를 설정하는 것이 중요합니다.
우선순위 설정 기준:
- 목표 달성에 미치는 영향이 큰 질문부터 우선 처리합니다.
- 문제 해결에 필요한 긴급성에 따라 우선순위를 결정합니다.
- 자원의 효율적 배분을 고려해 중요한 질문을 먼저 다룹니다.
예시:
• 우선순위 1: “가장 많이 발생하는 버그는 어느 기능에서 발생하는가?”
• 우선순위 2: “버그 발생이 잦은 모듈에 대한 테스트 커버리지는 충분한가?”
이런 식으로 질문의 우선순위를 정하면, 중요한 문제를 먼저 해결할 수 있습니다.
질문 도출 예시
항목 | 예시 |
목표 | “다음 릴리스까지 버그 발생률을 20% 줄인다.” |
결과 관련 질문 | • “버그가 가장 많이 발생하는 모듈은 무엇인가?” • “버그 발생률이 가장 높은 개발 단계는 어디인가?” |
프로세스 관련 질문 | • “코드 리뷰 과정에서 놓친 버그가 있는가? 그 이유는 무엇인가?” • “테스트 과정에서 놓친 버그는 몇 건인가?” |
자원 관련 질문 | • “버그 감소를 위해 더 많은 인력을 투입해야 할 필요가 있는가?” • “테스트 자동화 도구가 도입된다면 얼마나 효과적일 것인가?” |
"질문 도출(Question)"은 GQM에서 매우 중요한 단계로, 목표를 달성하기 위한 세부적인 분석을 가능하게 하는 도구입니다. 목표를 분석하고, 핵심 영역을 정의한 후, 구체적인 질문을 도출하면 성과를 체계적으로 관리하고 평가할 수 있어요. 질문은 결과, 프로세스, 자원 측면에서 나누어 다각도로 분석하는 것이 좋으며, 팀과 협력해 질문을 검토하고, 우선순위를 정하는 과정도 필수적입니다.
잘 도출된 질문은 이후 단계인 측정 지표(Metric) 설정의 기초가 되며, 목표 달성에 필요한 중요한 단서를 제공합니다.
'Software Engineering' 카테고리의 다른 글
소프트웨어 공학: 소프트웨어 요구사항 - 모든 시스템 개발의 기초 (1) | 2024.09.27 |
---|---|
소프트웨어 공학: 성과 측정의 중요성과 도전 과제 (1) | 2024.09.22 |
소프트웨어공학: GQM (Goal-Question-Metric) - 목표 설정 방법 (1) | 2024.09.07 |
소프트웨어공학: GQM (Goal-Question-Metric) 이란 무엇인가? - 효과적인 목표설정 및 성과 측정 방법론 (0) | 2024.09.06 |
SW 아키텍처 모듈화: 아키텍처 결합도 측정 기법 (Afferent and Efferent Coupling) (0) | 2024.09.03 |