요구사항 수집 및 분석 (Requirements Gathering and Analysis)

이해관계자의 요구사항을 수집하고 분석하여 시스템 요구사항을 정의하는 단계

요구사항 도출

주요 목적

  1. 프로젝트의 모든 이해관계자로부터 필요한 요구사항을 수집한다.
  2. 개발될 시스템의 기능적, 비기능적 요구사항을 파악한다.
  3. 사용자의 실제 니즈와 기대사항을 정확히 이해한다.
  4. 프로젝트의 범위와 제약사항을 명확히 한다.
  5. 향후 개발 과정의 기초가 되는 정보를 수집한다.
  6. 잠재적인 문제점과 리스크를 조기에 식별한다.

세부 활동과 산출물

세부 활동설명주요 산출물
이해관계자 식별 및 분석프로젝트와 관련된 모든 이해관계자 파악 및 분석이해관계자 목록 및 분석 보고서
인터뷰 실시주요 이해관계자와의 일대일 또는 그룹 인터뷰 진행인터뷰 기록 및 요약 보고서
설문조사 수행광범위한 사용자 그룹을 대상으로 설문조사 실시설문조사 결과 분석 보고서
워크샵 및 브레인스토밍그룹 토론을 통한 아이디어 및 요구사항 도출워크샵 결과 문서
현행 시스템 분석기존 시스템의 기능 및 문제점 분석현행 시스템 분석 보고서
문서 검토관련 비즈니스 문서, 정책, 절차 등 검토문서 검토 요약
관찰 및 현장 조사실제 업무 환경 관찰 및 사용자 행동 분석관찰 보고서
프로토타이핑초기 프로토타입 개발 및 사용자 피드백 수집프로토타입 및 사용자 피드백 문서

주의해야할 요소

주의 요소설명
이해관계자 다양성 고려모든 관련 이해관계자의 의견을 균형있게 수집
숨겨진 요구사항 발견명시적으로 표현되지 않은 잠재적 요구사항 파악
객관성 유지개인적 편견 없이 중립적인 태도로 요구사항 수집
과도한 요구사항 관리실현 가능성과 프로젝트 범위를 고려한 요구사항 관리
의사소통 명확성모호한 표현을 피하고 명확한 언어로 요구사항 기술
일관성 유지다양한 출처에서 수집된 요구사항 간의 일관성 확보
변화하는 요구사항 대응프로젝트 진행 중 변경되는 요구사항에 유연하게 대응
우선순위 설정요구사항의 중요도와 우선순위 적절히 설정
기술적 제약 고려기술적 실현 가능성을 고려한 요구사항 수집
문서화의 정확성수집된 요구사항을 정확하고 상세하게 문서화

요구사항 분석

주요 목적

  1. 수집된 요구사항을 체계적으로 정리하고 구조화한다.
  2. 요구사항 간의 관계와 의존성을 파악한다.
  3. 모호하거나 불완전한 요구사항을 명확히 한다.
  4. 요구사항의 우선순위를 설정한다.
  5. 요구사항의 실현 가능성과 일관성을 평가한다.
  6. 시스템의 범위와 경계를 명확히 정의한다.
  7. 향후 설계 및 개발 단계의 기초를 마련한다.

세부 활동과 산출물

세부 활동설명주요 산출물
요구사항 분류 및 구조화수집된 요구사항을 기능적/비기능적 등으로 분류구조화된 요구사항 목록
요구사항 모델링요구사항을 다이어그램 등으로 시각화유스케이스 다이어그램, 데이터 흐름도
요구사항 명세화각 요구사항을 상세히 기술상세 요구사항 명세서
요구사항 검증요구사항의 정확성, 일관성, 완전성 검토요구사항 검증 보고서
요구사항 우선순위 지정요구사항의 중요도와 구현 순서 결정우선순위가 지정된 요구사항 목록
요구사항 협상충돌하는 요구사항에 대한 이해관계자 간 협의협상 결과 문서
요구사항 추적성 분석요구사항 간의 연관관계 파악요구사항 추적성 매트릭스
비즈니스 규칙 도출시스템에 적용될 비즈니스 규칙 식별비즈니스 규칙 문서

주의해야할 요소

주의 요소설명
요구사항의 명확성모호하거나 불명확한 요구사항을 명확히 정의
요구사항 간 일관성서로 충돌하거나 모순되는 요구사항 해결
실현 가능성 검토기술적, 시간적, 비용적 측면에서 실현 가능한지 평가
범위 관리프로젝트 범위를 벗어나는 요구사항 식별 및 관리
이해관계자 참여분석 과정에 주요 이해관계자의 지속적인 참여 보장
비즈니스 목표 연계각 요구사항이 비즈니스 목표와 연계되는지 확인
변경 관리요구사항 변경에 대한 체계적인 관리 프로세스 수립
추적성 확보요구사항의 출처와 향후 설계/구현과의 연계성 유지
품질 속성 고려성능, 보안, 사용성 등 비기능적 요구사항 충분히 고려
문서화의 적절성분석 결과를 명확하고 이해하기 쉽게 문서화

요구사항 명세

주요 목적

  • 수집 및 분석된 요구사항을 명확하고 구체적으로 문서화한다.
  • 모든 이해관계자가 이해할 수 있는 형태로 요구사항을 표현한다.
  • 개발 팀이 설계와 구현에 활용할 수 있는 상세한 기준을 제공한다.
  • 테스트 및 검증의 기준이 되는 문서를 작성한다.
  • 프로젝트의 범위와 기능을 명확히 정의한다.
  • 향후 변경 관리와 추적성 확보를 위한 기준점을 마련한다.

세부 활동과 산출물

세부 활동설명주요 산출물
기능적 요구사항 작성시스템이 수행해야 할 기능들을 상세히 기술기능적 요구사항 문서
비기능적 요구사항 작성성능, 보안, 사용성 등의 품질 요구사항 정의비기능적 요구사항 문서
유스케이스 작성사용자와 시스템 간의 상호작용을 시나리오 형태로 기술유스케이스 문서
요구사항 모델링요구사항을 다이어그램 등으로 시각화UML 다이어그램 (유스케이스, 클래스, 시퀀스 등)
인터페이스 요구사항 정의사용자 인터페이스, 외부 시스템 인터페이스 등 정의인터페이스 요구사항 명세서
데이터 요구사항 정의시스템에서 다룰 데이터의 구조와 특성 정의데이터 사전, ER 다이어그램
제약사항 및 가정 문서화프로젝트의 제약사항과 가정사항 명시제약사항 및 가정 목록
요구사항 명세서 통합모든 요구사항을 종합한 문서 작성소프트웨어 요구사항 명세서(SRS)

주의해야할 요소

주의 요소설명
명확성과 구체성모호하지 않고 구체적으로 요구사항을 기술
일관성 유지요구사항 간 충돌이나 모순이 없도록 유지
완전성 확보모든 필요한 요구사항이 누락 없이 포함되도록 함
검증 가능성각 요구사항이 테스트나 검증 가능하도록 작성
추적성 확보요구사항의 출처와 향후 설계/구현과의 연계성 유지
우선순위 표시각 요구사항의 중요도나 구현 우선순위를 명시
사용자 중심 기술최종 사용자의 관점에서 이해하기 쉽게 기술
기술적 중립성특정 기술이나 구현 방식에 치우치지 않도록 주의
변경 용이성향후 변경이 용이하도록 모듈화하여 작성
표준 준수조직이나 산업의 요구사항 명세 표준을 준수

요구사항 검증

주요 목적

  • 수집 및 명세된 요구사항의 정확성, 완전성, 일관성을 확인한다.
  • 요구사항이 이해관계자의 실제 니즈를 정확히 반영하는지 검증한다.
  • 요구사항의 실현 가능성과 테스트 가능성을 평가한다.
  • 요구사항 간의 충돌이나 모순을 식별하고 해결한다.
  • 프로젝트의 목표와 범위에 부합하는지 확인한다.
  • 잠재적인 리스크와 문제점을 조기에 발견하고 해결한다.
  • 요구사항 문서의 품질을 향상시킨다.

세부 활동과 산출물

세부 활동설명주요 산출물
요구사항 검토 회의이해관계자와 함께 요구사항을 검토하고 논의검토 회의록, 수정 요구사항 목록
정형 인스펙션체계적인 방법으로 요구사항 문서를 검사인스펙션 보고서
워크스루요구사항을 단계별로 검토하며 문제점 식별워크스루 결과 문서
프로토타이핑요구사항의 실현 가능성을 검증하기 위한 프로토타입 개발프로토타입, 사용자 피드백 문서
요구사항 추적성 분석요구사항 간의 연관관계와 일관성 검증요구사항 추적성 매트릭스
모델 검증요구사항 모델(예: UML 다이어그램)의 정확성 검증모델 검증 보고서
체크리스트 기반 검증미리 정의된 체크리스트를 사용한 요구사항 검증체크리스트 결과 문서
자동화 도구를 이용한 검증요구사항 관리 도구를 사용한 자동 검증자동화 검증 결과 보고서

주의해야할 요소

주의 요소설명
객관성 유지개인적 편견 없이 객관적으로 요구사항을 검증
이해관계자 참여다양한 이해관계자의 참여로 다각도 검증
일관성 확보요구사항 간 일관성과 전체적인 조화 확인
실현 가능성 평가기술적, 시간적, 비용적 측면에서의 실현 가능성 검토
명확성 검증모호하거나 해석의 여지가 있는 요구사항 식별
완전성 확인누락된 요구사항이나 정보가 없는지 확인
테스트 가능성각 요구사항이 테스트 가능한 형태인지 검증
우선순위 재확인요구사항의 우선순위가 적절히 설정되었는지 확인
변경 영향 분석요구사항 변경이 미치는 영향 평가
문서화 품질요구사항 문서의 가독성과 이해도 확인

요구사항 관리 계획 수립

주요 목적

  • 요구사항의 체계적인 관리를 위한 프로세스와 절차를 정의한다.
  • 요구사항의 변경을 효과적으로 통제하고 관리한다.
  • 프로젝트 전 과정에 걸쳐 요구사항의 일관성과 추적성을 유지한다.
  • 이해관계자 간의 요구사항 관련 의사소통을 원활히 한다.
  • 요구사항 관련 리스크를 식별하고 관리한다.
  • 요구사항 변경이 프로젝트에 미치는 영향을 평가하고 관리한다.
  • 요구사항 관리에 필요한 자원과 도구를 계획한다.

세부 활동과 산출물

세부 활동설명주요 산출물
요구사항 관리 프로세스 정의요구사항 수집, 분석, 문서화, 검증 등의 프로세스 수립요구사항 관리 프로세스 문서
변경 관리 절차 수립요구사항 변경 요청, 평가, 승인, 구현 절차 정의변경 관리 절차서
요구사항 추적성 계획요구사항 간 및 다른 산출물과의 추적성 유지 방법 정의요구사항 추적성 계획서
요구사항 우선순위 지정 방법요구사항 우선순위 결정 기준 및 방법 정의우선순위 지정 가이드라인
요구사항 속성 정의각 요구사항에 대해 추적할 속성 정의 (예: 상태, 담당자 등)요구사항 속성 정의서
도구 및 저장소 선정요구사항 관리에 사용할 도구와 저장소 결정도구 선정 보고서
역할 및 책임 정의요구사항 관리 관련 역할과 책임 할당RACI 매트릭스
의사소통 계획 수립요구사항 관련 의사소통 방법 및 빈도 정의의사소통 계획서

주의해야할 요소

주의 요소설명
유연성 확보프로젝트 특성에 맞는 유연한 관리 프로세스 설계
이해관계자 참여모든 주요 이해관계자의 동의와 참여 보장
변경 영향 분석요구사항 변경이 프로젝트에 미치는 영향 평가 방법 포함
버전 관리요구사항 문서의 효과적인 버전 관리 방법 수립
보안 고려민감한 요구사항 정보의 보안 유지 방안 마련
통합성다른 프로젝트 관리 프로세스와의 통합성 확보
확장성프로젝트 규모 변화에 대응할 수 있는 확장성 있는 계획 수립
측정 및 개선요구사항 관리 프로세스의 효과성 측정 및 개선 방안 포함
도구 활용적절한 요구사항 관리 도구 선정 및 활용 계획 수립
교육 및 훈련팀원들의 요구사항 관리 역량 강화를 위한 교육 계획 포함

참고 및 출처