Software Engineering

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

habana4 2024. 9. 7. 12:51
728x90
반응형

 

"GQM(Goal-Question-Metric)"에서 목표 설정은 성과 관리와 문제 해결을 위한 첫 단계로 매우 중요해요. 목표 설정이 명확하고 구체적이어야 이후 단계인 질문 도출과 측정 지표 설정도 효과적으로 이루어질 수 있습니다. 이번 포스팅에서 GQM의 목표 설정 방법에 대해 알아 보겠습니다.

 

 

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

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

habana4.tistory.com

 

 

GQM - 목표 설정 방법

1. 현재 상황 분석

목표를 설정하기 전에 현재 상황을 분석하고, 해결해야 할 문제나 개선할 사항을 파악하는 것이 중요합니다. 팀이 어떤 문제에 직면해 있는지, 또는 어떤 부분에서 성과를 높이고 싶은지 명확히 해야 해요.

 
 

예시

 문제: 최근 릴리스에서 버그가 증가하여 출시 후 고객 불만이 많아지고 있음

 해결해야 할 사항: 버그 발생률을 줄여 소프트웨어 품질을 높여야 함.

현재의 문제나 개선 사항을 명확하게 정의하는 것이 첫 단계입니다. 이를 통해 목표를 설정하는 데 기반이 되는 구체적인 문제를 파악할 수 있습니다.

2. 구체적인 목표 정의

상황 분석이 끝나면 해결해야 할 문제나 성과를 높이고 싶은 부분에 대한 구체적인 목표를 정의해야 합니다. 이때 목표는 다음과 같은 질문들에 답을 줄 수 있어야 해요.

  • “무엇을 성취하고자 하는가?”
  • “이 목표를 왜 성취하려고 하는가?”
  • “어떤 결과가 나와야 하는가?”
 
 

구체적 목표 예시:
• 문제: 버그 발생률이 높음.
• 목표: “다음 릴리스까지 버그 발생률을 20% 줄인다.”

이 목표는 문제를 구체적으로 해결하는 데 초점을 맞추고 있으며, 달성해야 할 결과가 명확하게 정의되어 있어요.

3. SMART 원칙 적용

구체적인 목표를 세웠다면, 이 목표가 SMART 원칙에 부합하는지 검토해야 합니다. SMART 원칙은 목표를 구체적이고, 측정 가능하며, 현실적으로 달성 가능하게 만들기 위한 도구입니다. 아래 각 요소를 적용해 목표를 점검하세요.

  1. Specific(구체적): 목표는 명확해야 하며, 누가, 무엇을, 어떻게 할 것인지 구체적으로 정의해야 합니다.
    • 예시: “버그 발생률을 20% 줄인다”는 명확한 목표입니다. 무엇을 줄여야 하는지, 얼마나 줄여야 하는지가 명확합니다.
  2. Measurable(측정 가능): 목표는 성과를 측정할 수 있어야 합니다. 달성 여부를 평가할 수 있는 기준이 있어야 하죠.
    • 예시: “20%“라는 구체적인 수치가 있어, 성과를 객관적으로 평가할 수 있습니다.
  3. Achievable(달성 가능): 목표는 팀이 현실적으로 달성할 수 있어야 합니다. 너무 높거나 낮은 목표는 성과에 부정적인 영향을 미칠 수 있습니다.
    • 예시: “버그 발생률을 100% 없앤다”는 목표는 비현실적일 수 있으므로, 20% 감소는 달성 가능한 목표로 적절하게 설정된 것입니다.
  4. Relevant(관련성 있는): 목표는 조직이나 프로젝트의 중요한 이슈와 관련이 있어야 합니다.
    • 예시: 버그 발생률을 줄이는 것은 소프트웨어 품질을 높이는 데 직결되므로, 조직의 성공과 직접적으로 관련이 있습니다.
  5. Time-bound(시간 제한): 목표는 시간 제한이 있어야 합니다. 언제까지 목표를 달성해야 하는지 명시해야 합니다.
    • 예시: “다음 릴리스까지”라는 시간 제한이 있어, 성과 달성 기한이 명확하게 정의되어 있습니다.

SMART 원칙을 적용하면 목표가 더 구체적이고 측정 가능하게 되어, 달성 여부를 명확히 평가할 수 있습니다.

 

 

소프트웨어공학 - 요구공학과 요구사항 분석 (SMART)

소프트웨어 개발의 성공은 무엇보다도 사용자와 이해관계자의 요구를 명확히 이해하고 충족하는 데 달려 있습니다. 이를 위한 체계적인 접근 방식이 요구공학(Requirements Engineering)

habana4.tistory.com


4. 목표의 명확한 범위 설정

목표가 구체적이면서도 범위가 명확하게 정의되어 있어야 합니다. 범위가 모호하거나 너무 넓으면 성과를 제대로 측정하기 어렵고, 팀원들이 혼란스러워할 수 있어요.

 
 

목표 범위 예시:
• 범위가 불분명한 목표: “소프트웨어 품질을 개선한다.”
• 범위가 명확한 목표: “주요 기능에서 발생하는 버그를 20% 줄인다.”

이 예시에서 두 번째 목표는 “주요 기능”이라는 구체적인 범위가 명확히 설정되어 있어, 어떤 부분에서 성과를 내야 하는지 더 명확해졌죠.

5. 팀과의 협의 및 조정

목표 설정은 팀 전체가 동의하고 함께 노력해야 할 부분이에요. 목표가 지나치게 어렵거나 팀원들이 이해하지 못하면, 성과를 내는 것이 더욱 어려워질 수 있어요. 따라서 목표 설정 과정에서 팀과 충분히 협의하고 조정하는 것이 중요합니다.

 
 

협의 단계:
• 팀원들과 목표에 대한 토론을 통해 현실성을 검토합니다.
• 각 팀원이 목표를 이해하고, 자신들의 역할을 명확히 알 수 있도록 설명합니다.
• 필요하다면 목표를 수정하거나 조정해 팀의 역량과 자원에 맞추세요.

6. 우선순위 설정

때로는 여러 목표를 동시에 설정해야 할 때도 있어요. 이럴 때는 각 목표의 우선순위를 설정하는 것이 중요합니다. 모든 목표를 한꺼번에 달성하려고 하면 자원이 분산되고, 성과가 떨어질 수 있어요. 중요한 목표부터 먼저 해결한 후, 다른 목표를 차례로 진행하는 것이 효과적입니다.

 
 

우선순위 설정 예시:
• 최우선 목표: “버그 발생률을 20% 줄인다.”
• 2순위 목표: “코드 리뷰 시간을 15% 단축한다.”

이런 식으로 목표의 우선순위를 정해두면, 팀은 자원을 효율적으로 배분할 수 있고, 중요한 성과를 먼저 달성할 수 있습니다.

 

목표 설정 예

1. 소프트웨어 성능 향상

• 상황: 고객들이 소프트웨어의 실행 속도에 불만을 표출하고 있음.
• 목표: “다음 6개월 안에 주요 기능의 처리 속도를 15% 향상시킨다.”
• SMART 적용: 목표는 구체적이고, 측정 가능하며, 달성 가능한 수준이며, 성능 향상은 프로젝트의 성공과 관련이 있고, 시간 제한이 명확합니다.

2. 고객 서비스 개선

• 상황: 고객 응답 시간이 길어 불만이 증가하고 있음.
• 목표: “다음 분기까지 고객 응답 시간을 평균 10분 이내로 줄인다.”
• SMART 적용: 구체적인 응답 시간과 기한이 설정되어 있으며, 측정 가능하고 달성 가능한 목표입니다.

3. 개발자 생산성 향상

• 상황: 개발 팀의 코드 리뷰 프로세스가 느리게 진행됨.
• 목표: “다음 릴리스까지 코드 리뷰 완료 시간을 25% 단축한다.”
• SMART 적용: 구체적이며, 코드 리뷰 시간을 줄이는 것은 측정 가능하고 팀의 성과에 직접적으로 기여하는 목표입니다.


 

GQM에서의 목표 설정은 성공적인 프로젝트와 성과 측정의 첫 번째 단계입니다. 목표를 명확하고 구체적으로 설정하지 않으면, 이후 질문 도출과 측정 지표 설정에서 문제가 발생할 수 있습니다. SMART 원칙을 적용하고, 팀과 충분히 협의하여 현실적이고 달성 가능한 목표를 설정하세요. 이렇게 설정된 목표는 성과를 체계적으로 평가하고, 프로젝트의 성공을 이끄는 핵심 도구가 될 것입니다.

728x90
반응형