Software Engineering

소프트웨어공학: GQM (Goal-Question-Metric) - 질문 도출 방법

habana4 2024. 9. 7. 14:47
반응형

 

"GQM(Goal-Question-Metric)"에서 두 번째 단계인 "질문 도출(Question)"은 설정한 목표를 달성하기 위해 어떤 요소를 분석하고 평가해야 할지 구체적으로 파악하는 과정입니다. 질문(Question)은 목표(Goal)를 이루기 위한 과정에서 성과를 세부적으로 쪼개고, 문제를 더 깊이 이해할 수 있도록 도와줍니다. 이 단계는 성과 측정을 위한 방향을 제시하며, 이후 "측정 지표(Metric)"를 설정하는 데 필수적인 기반이 됩니다.

 

 

 

소프트웨어공학: Goal-Question-Metric (GQM) 이란 무엇인가? - 효과적인 목표설정 및 성과 측정 방법론

소프트웨어 개발 환경은 매우 복잡하며, 효율적으로 관리되지 않으면 개발 과정에서 많은 문제가 발생할 수 있습니다. 오늘은 GQM (Goal-Question-Metric)이라는 조금 낯설 수 있지만 정말 유용한 방법

habana4.tistory.com

2024.09.07 - [System & Software Engineering] - 소프트웨어공학: GQM (Goal-Question-Metric) - 목표 설정 방법

 

소프트웨어공학: GQM (Goal-Question-Metric) - 목표 설정 방법

"GQM(Goal-Question-Metric)"에서 목표 설정은 성과 관리와 문제 해결을 위한 첫 단계로 매우 중요해요. 목표 설정이 명확하고 구체적이어야 이후 단계인 질문 도출과 측정 지표 설정도 효과적으로 이루

habana4.tistory.com


질문을 잘 설정하면 목표 달성에 필요한 세부적인 사항들을 명확히 할 수 있으며, 이를 통해 성과를 정확하게 측정하고 평가할 수 있습니다. 이제, 질문 도출을 구체적으로 어떻게 하는지에 대해 알아보겠습니다.

 

GQM: 질문 도출 방법

1. 목표를 분석하기

질문을 도출하기 전에 먼저 목표를 분석해야 합니다. 목표에서 어떤 문제를 해결하려고 하는지, 또는 어떤 성과를 달성하고 싶은지를 깊이 이해해야 질문을 구체적으로 만들 수 있습니다. 목표가 명확해야, 그 목표를 달성하는 데 필요한 핵심 질문들이 도출될 수 있습니다.

 
 

예시:

  • 목표: “다음 릴리스까지 버그 발생률을 20% 줄인다."
  • 이 목표에서 중요한 포인트는 버그 발생의 원인을 파악하고 이를 줄이는 것이죠. 이를 위해 우리는 버그 발생의 패턴, 원인, 그리고 해결책에 대해 질문을 던질 수 있습니다.

 

2. 핵심 영역 정의하기

목표를 분석한 후에는, 그 목표를 달성하기 위해 중요한 핵심 영역을 정의해야 해요. 핵심 영역은 목표 달성에 가장 큰 영향을 미치는 요소들을 말해요. 이 핵심 영역을 잘 정의해야 그에 맞는 질문을 도출할 수 있습니다.

 
 

예시:

  • 버그 발생률 감소라는 목표에서 중요한 핵심 영역은 다음과 같을 수 있어요:
  • 버그 발생 패턴: 버그는 특정 모듈이나 기능에서 자주 발생하는가?
  • 개발 과정: 버그는 개발의 어느 단계에서 주로 발생하는가?
  • 테스트: 테스트 과정에서 버그가 충분히 발견되고 있는가?

 

3. 질문 분류

질문은 크게 세 가지 범주로 나눌 수 있어요. 결과, 프로세스, 자원의 세 가지 측면에서 질문을 설정하는 방식입니다. 각 범주는 목표 달성을 위해 다루어야 할 중요한 부분에 대한 구체적인 질문을 만들어줍니다.

  • 결과 관련 질문: 목표를 달성했을 때 기대되는 결과와 성과에 대한 질문입니다.
    예시: “버그 발생률이 감소한 모듈은 어디인가?”, “버그를 줄인 후 소프트웨어의 안정성은 어떻게 변화했는가?”
  • 프로세스 관련 질문: 목표를 달성하기 위한 과정과 절차에 대해 묻는 질문입니다. 이를 통해 문제 해결에 필요한 과정의 세부 사항을 분석할 수 있습니다.
    예시: “개발 과정 중 어느 단계에서 버그가 가장 많이 발생하는가?”, “테스트 과정에서 누락된 버그는 몇 개인가?”
  • 자원 관련 질문: 목표 달성을 위해 필요한 자원(인력, 기술, 도구 등)에 관한 질문입니다.
    예시: “버그를 줄이기 위해 필요한 추가 리소스는 무엇인가?”, “테스트 자동화 도구의 도입이 버그 감소에 기여했는가?”

 

4. 질문을 구체화하기

질문을 도출할 때는 질문을 가능한 한 구체적으로 만드는 것이 중요합니다. 추상적인 질문은 이후 성과를 측정하는 데 혼란을 줄 수 있어요. 구체적인 질문은 측정 가능한 데이터로 이어질 수 있어야 하며, 목표 달성에 직접적인 도움을 줄 수 있는 내용이어야 합니다.

 

예시:

  • 추상적인 질문: “왜 버그가 발생하는가?”
  • 구체적인 질문: “어느 모듈에서 버그가 자주 발생하는가? 버그는 기능 개발 단계에서 주로 발생하는가, 아니면 통합 테스트 단계에서 발생하는가?”

구체적으로 질문을 설정하면, 문제를 더 명확하게 파악할 수 있고, 나중에 이를 "측정 지표(Metric)"로 연결하기도 쉬워집니다.

 

5. 팀과 협력하여 질문 검토하기

질문 도출은 혼자서 하는 작업보다는 팀과 협력하여 함께 진행하는 것이 더 효과적이에요. 팀원들이 문제를 다양한 관점에서 바라보고 있기 때문에, 다양한 의견을 반영해 더 포괄적이고 적절한 질문을 도출할 수 있습니다.

 

질문 검토 단계:

  1. 질문이 목표와 맞는지 검토합니다.
  2. 각 질문이 구체적이고, 성과 측정에 도움이 되는지 확인합니다.
  3. 팀원들이 추가로 제안하는 질문을 수용하고, 필요하다면 질문을 수정합니다.
 
 

팀 협력의 예시:

개발자는 버그 발생의 기술적 원인에 대한 질문을 던질 수 있고, 프로젝트 매니저는 버그 해결 과정에서의 자원 배분 문제에 대한 질문을 던질 수 있어요. 이렇게 다양한 관점에서 질문을 검토하면 더 완성도 높은 질문을 도출할 수 있습니다.

 

 

6. 질문 우선순위 정하기

질문을 여러 개 도출했다면, 이제 각 질문의 우선순위를 정해야 합니다. 모든 질문을 한 번에 해결하려고 하면 자원이 분산될 수 있고, 중요한 질문을 놓칠 수 있어요. 따라서 가장 중요한 질문부터 차근차근 해결할 수 있도록 우선순위를 설정하는 것이 중요합니다.

 

우선순위 설정 기준:

  • 목표 달성에 미치는 영향이 큰 질문부터 우선 처리합니다.
  • 문제 해결에 필요한 긴급성에 따라 우선순위를 결정합니다.
  • 자원의 효율적 배분을 고려해 중요한 질문을 먼저 다룹니다.
 
 

예시:

• 우선순위 1: “가장 많이 발생하는 버그는 어느 기능에서 발생하는가?”
• 우선순위 2: “버그 발생이 잦은 모듈에 대한 테스트 커버리지는 충분한가?”

 

이런 식으로 질문의 우선순위를 정하면, 중요한 문제를 먼저 해결할 수 있습니다.

 

질문 도출 예시

항목 예시
목표 “다음 릴리스까지 버그 발생률을 20% 줄인다.”
결과 관련 질문 • “버그가 가장 많이 발생하는 모듈은 무엇인가?”
• “버그 발생률이 가장 높은 개발 단계는 어디인가?”
프로세스 관련 질문 • “코드 리뷰 과정에서 놓친 버그가 있는가? 그 이유는 무엇인가?”
• “테스트 과정에서 놓친 버그는 몇 건인가?”
자원 관련 질문 • “버그 감소를 위해 더 많은 인력을 투입해야 할 필요가 있는가?”
• “테스트 자동화 도구가 도입된다면 얼마나 효과적일 것인가?”

 


 

"질문 도출(Question)"은 GQM에서 매우 중요한 단계로, 목표를 달성하기 위한 세부적인 분석을 가능하게 하는 도구입니다. 목표를 분석하고, 핵심 영역을 정의한 후, 구체적인 질문을 도출하면 성과를 체계적으로 관리하고 평가할 수 있어요. 질문은 결과, 프로세스, 자원 측면에서 나누어 다각도로 분석하는 것이 좋으며, 팀과 협력해 질문을 검토하고, 우선순위를 정하는 과정도 필수적입니다.

잘 도출된 질문은 이후 단계인 측정 지표(Metric) 설정의 기초가 되며, 목표 달성에 필요한 중요한 단서를 제공합니다.

반응형