Study_Note

prioritization 본문

temp

prioritization

12월7일생 2024. 9. 10. 14:40
728x90

반응형

우선순위 결정 (prioritization)

우선순위 결정은 프로젝트, 작업, 문제 해결 또는 제품 개발의 효율성을 높이기 위해 가장 중요한 작업을 먼저 처리하는 데 중요한 역할을 합니다. 특히 소프트웨어 테스트, 프로젝트 관리, 제품 개발 등에서 제한된 자원(시간, 인력, 예산)을 효과적으로 활용하기 위해 중요한 작업의 순서를 정하는 것이 핵심입니다.

우선순위 결정을 위한 일반적인 방법들

  1. MoSCoW 방법 (Must have, Should have, Could have, Won't have)
    MoSCoW 방법은 요구사항의 우선순위를 정하는 가장 널리 사용되는 방법 중 하나입니다. 각 요구사항이나 작업은 네 가지 범주로 분류됩니다
    1. Must Have
      반드시 필요한 요구사항. 제품이나 프로젝트가 성공하기 위해 필수적인 부분입니다. 이 요구사항이 충족되지 않으면 제품이 완성되지 않거나 사용할 수 없게 됩니다.
    2. Should Have
      중요하지만 반드시 필수는 아닌 요구사항. 이 기능이 있으면 좋겠지만, 없다면 제품은 여전히 작동할 수 있습니다.
    3. Could Have
      덜 중요한 요구사항. 제품의 품질을 향상시킬 수 있는 기능이지만, 시간과 자원이 허락되지 않으면 생략할 수 있습니다.
    4. Won’t Have (this time)
      이번 릴리스에서는 포함되지 않을 요구사항. 향후 릴리스에서 구현될 수 있습니다.
  2. Kano 모델
     Kano 모델은 고객의 만족도를 기준으로 요구사항을 분류하고 우선순위를 정하는 방법입니다. 요구사항을 크게 다섯 가지로 분류합니다.
    • 기본적 요구(Basic Needs)
      고객이 당연하게 기대하는 기능. 이 요구가 충족되지 않으면 고객은 불만족하게 됩니다.
    • 성능적 요구(Performance Needs)
      기능이 제공되면 고객 만족도가 높아지고, 제공되지 않으면 불만족하게 되는 요구.
    • 매력적 요구(Excitement Needs)
      제공되면 고객의 만족도가 매우 높아지지만, 제공되지 않아도 고객이 불만족하지는 않는 요구.
    • 무관심(Unimportant)
      고객이 크게 중요하게 생각하지 않는 요구.
    • 반대(Negative Needs)
      제공하면 고객 만족도가 오히려 낮아지는 요구.
  3. 비용/이익 분석(Cost-Benefit Analysis)
    비용 대비 이익을 기준으로 작업의 우선순위를 정하는 방법입니다. 각 작업의 예상 비용과 예상 이익을 비교하여, 이익이 더 큰 작업을 우선시하는 방식입니다. 예를 들어, 테스트 계획에서 자원과 시간 대비 오류 탐지율을 비교하여 가장 효율적인 방법을 우선적으로 사용합니다.
  4. 긴급성 및 중요성 매트릭스 (Eisenhower Matrix)
    아이젠하워 매트릭스는 업무의 긴급성과 중요성을 기준으로 작업을 분류하는 방법입니다. 이를 통해 일의 우선순위를 명확하게 구분할 수 있습니다.
    • 긴급하고 중요한 일
      가장 먼저 처리해야 할 작업.
    • 긴급하지만 중요하지 않은 일
      가능한 한 위임하거나 자동화할 작업.
    • 중요하지만 긴급하지 않은 일
      계획적으로 수행할 작업.
    • 긴급하지도 중요하지도 않은 일
      제거하거나 무시할 수 있는 작업.
  5. RICE 스코어링 모델
    RICE는 Reach(도달범위), Impact(영향력), Confidence(신뢰도), Effort(노력)의 네 가지 요소로 점수를 매겨 우선순위를 정하는 방법입니다. 각 요소는 다음과 같이 측정됩니다:
    • Reach(도달범위)
      해당 작업이 영향을 미칠 사용자 수.
    • Impact(영향력)
      해당 작업이 목표에 미칠 영향을 정량적으로 평가.
    • Confidence(신뢰도)
      예상한 결과에 대한 확신 정도. 데이터가 부족하면 신뢰도가 낮아질 수 있습니다.
    • Effort(노력)
      해당 작업을 완료하는 데 필요한 시간과 자원.

소프트웨어 테스트에서 우선순위 결정

소프트웨어 테스트에서는 주로 제한된 시간 내에 최대한 많은 결함을 찾는 것이 목표이므로, 위험기반 테스트우선순위 결정을 결합하는 방식이 유용합니다.

  • 위험기반 테스트는 결함이 발생할 가능성이 높거나, 발생 시 시스템에 미치는 영향이 큰 부분에 테스트 우선순위를 두는 방법입니다.
  • 테스트의 우선순위는 다음을 기준으로 정할 수 있습니다.
    • 기능의 중요도
      핵심 기능일수록 우선순위가 높습니다.
    • 결함 발생 확률
      결함 발생 가능성이 높은 영역에 우선순위를 부여합니다.
    • 고객 요구사항
      고객이 특히 중시하는 기능에 높은 우선순위를 둡니다.
    • 테스트 환경
      테스트 환경 구축의 난이도나 리소스를 고려하여 결정합니다.

우선순위 결정을 통해 작업의 효율성을 높이고 자원의 낭비를 최소화할 수 있습니다. 프로젝트의 성격, 테스트 전략, 고객의 요구사항에 따라 적합한 우선순위 결정 방법을 선택하여 사용하는 것이 중요합니다.

'temp' 카테고리의 다른 글

Install python  (0) 2025.01.08
cyclomatic complexity  (0) 2024.08.26
RIAC(reliability information analysis center)  (0) 2024.08.26
LCOM(lack of cohesion of methods)  (0) 2024.08.26
fan-in & fan-out  (0) 2024.08.26