요구사항 수집 및 분석 (Requirements Gathering and Analysis)#
이해관계자의 요구사항을 수집하고 분석하여 시스템 요구사항을 정의하는 단계
요구사항 도출#
주요 목적#
- 프로젝트의 모든 이해관계자로부터 필요한 요구사항을 수집한다.
- 개발될 시스템의 기능적, 비기능적 요구사항을 파악한다.
- 사용자의 실제 니즈와 기대사항을 정확히 이해한다.
- 프로젝트의 범위와 제약사항을 명확히 한다.
- 향후 개발 과정의 기초가 되는 정보를 수집한다.
- 잠재적인 문제점과 리스크를 조기에 식별한다.
세부 활동과 산출물#
세부 활동 | 설명 | 주요 산출물 |
---|
이해관계자 식별 및 분석 | 프로젝트와 관련된 모든 이해관계자 파악 및 분석 | 이해관계자 목록 및 분석 보고서 |
인터뷰 실시 | 주요 이해관계자와의 일대일 또는 그룹 인터뷰 진행 | 인터뷰 기록 및 요약 보고서 |
설문조사 수행 | 광범위한 사용자 그룹을 대상으로 설문조사 실시 | 설문조사 결과 분석 보고서 |
워크샵 및 브레인스토밍 | 그룹 토론을 통한 아이디어 및 요구사항 도출 | 워크샵 결과 문서 |
현행 시스템 분석 | 기존 시스템의 기능 및 문제점 분석 | 현행 시스템 분석 보고서 |
문서 검토 | 관련 비즈니스 문서, 정책, 절차 등 검토 | 문서 검토 요약 |
관찰 및 현장 조사 | 실제 업무 환경 관찰 및 사용자 행동 분석 | 관찰 보고서 |
프로토타이핑 | 초기 프로토타입 개발 및 사용자 피드백 수집 | 프로토타입 및 사용자 피드백 문서 |
주의해야할 요소#
주의 요소 | 설명 |
---|
이해관계자 다양성 고려 | 모든 관련 이해관계자의 의견을 균형있게 수집 |
숨겨진 요구사항 발견 | 명시적으로 표현되지 않은 잠재적 요구사항 파악 |
객관성 유지 | 개인적 편견 없이 중립적인 태도로 요구사항 수집 |
과도한 요구사항 관리 | 실현 가능성과 프로젝트 범위를 고려한 요구사항 관리 |
의사소통 명확성 | 모호한 표현을 피하고 명확한 언어로 요구사항 기술 |
일관성 유지 | 다양한 출처에서 수집된 요구사항 간의 일관성 확보 |
변화하는 요구사항 대응 | 프로젝트 진행 중 변경되는 요구사항에 유연하게 대응 |
우선순위 설정 | 요구사항의 중요도와 우선순위 적절히 설정 |
기술적 제약 고려 | 기술적 실현 가능성을 고려한 요구사항 수집 |
문서화의 정확성 | 수집된 요구사항을 정확하고 상세하게 문서화 |
요구사항 분석#
주요 목적#
- 수집된 요구사항을 체계적으로 정리하고 구조화한다.
- 요구사항 간의 관계와 의존성을 파악한다.
- 모호하거나 불완전한 요구사항을 명확히 한다.
- 요구사항의 우선순위를 설정한다.
- 요구사항의 실현 가능성과 일관성을 평가한다.
- 시스템의 범위와 경계를 명확히 정의한다.
- 향후 설계 및 개발 단계의 기초를 마련한다.
세부 활동과 산출물#
세부 활동 | 설명 | 주요 산출물 |
---|
요구사항 분류 및 구조화 | 수집된 요구사항을 기능적/비기능적 등으로 분류 | 구조화된 요구사항 목록 |
요구사항 모델링 | 요구사항을 다이어그램 등으로 시각화 | 유스케이스 다이어그램, 데이터 흐름도 |
요구사항 명세화 | 각 요구사항을 상세히 기술 | 상세 요구사항 명세서 |
요구사항 검증 | 요구사항의 정확성, 일관성, 완전성 검토 | 요구사항 검증 보고서 |
요구사항 우선순위 지정 | 요구사항의 중요도와 구현 순서 결정 | 우선순위가 지정된 요구사항 목록 |
요구사항 협상 | 충돌하는 요구사항에 대한 이해관계자 간 협의 | 협상 결과 문서 |
요구사항 추적성 분석 | 요구사항 간의 연관관계 파악 | 요구사항 추적성 매트릭스 |
비즈니스 규칙 도출 | 시스템에 적용될 비즈니스 규칙 식별 | 비즈니스 규칙 문서 |
주의해야할 요소#
주의 요소 | 설명 |
---|
요구사항의 명확성 | 모호하거나 불명확한 요구사항을 명확히 정의 |
요구사항 간 일관성 | 서로 충돌하거나 모순되는 요구사항 해결 |
실현 가능성 검토 | 기술적, 시간적, 비용적 측면에서 실현 가능한지 평가 |
범위 관리 | 프로젝트 범위를 벗어나는 요구사항 식별 및 관리 |
이해관계자 참여 | 분석 과정에 주요 이해관계자의 지속적인 참여 보장 |
비즈니스 목표 연계 | 각 요구사항이 비즈니스 목표와 연계되는지 확인 |
변경 관리 | 요구사항 변경에 대한 체계적인 관리 프로세스 수립 |
추적성 확보 | 요구사항의 출처와 향후 설계/구현과의 연계성 유지 |
품질 속성 고려 | 성능, 보안, 사용성 등 비기능적 요구사항 충분히 고려 |
문서화의 적절성 | 분석 결과를 명확하고 이해하기 쉽게 문서화 |
요구사항 명세#
주요 목적#
- 수집 및 분석된 요구사항을 명확하고 구체적으로 문서화한다.
- 모든 이해관계자가 이해할 수 있는 형태로 요구사항을 표현한다.
- 개발 팀이 설계와 구현에 활용할 수 있는 상세한 기준을 제공한다.
- 테스트 및 검증의 기준이 되는 문서를 작성한다.
- 프로젝트의 범위와 기능을 명확히 정의한다.
- 향후 변경 관리와 추적성 확보를 위한 기준점을 마련한다.
세부 활동과 산출물#
세부 활동 | 설명 | 주요 산출물 |
---|
기능적 요구사항 작성 | 시스템이 수행해야 할 기능들을 상세히 기술 | 기능적 요구사항 문서 |
비기능적 요구사항 작성 | 성능, 보안, 사용성 등의 품질 요구사항 정의 | 비기능적 요구사항 문서 |
유스케이스 작성 | 사용자와 시스템 간의 상호작용을 시나리오 형태로 기술 | 유스케이스 문서 |
요구사항 모델링 | 요구사항을 다이어그램 등으로 시각화 | UML 다이어그램 (유스케이스, 클래스, 시퀀스 등) |
인터페이스 요구사항 정의 | 사용자 인터페이스, 외부 시스템 인터페이스 등 정의 | 인터페이스 요구사항 명세서 |
데이터 요구사항 정의 | 시스템에서 다룰 데이터의 구조와 특성 정의 | 데이터 사전, ER 다이어그램 |
제약사항 및 가정 문서화 | 프로젝트의 제약사항과 가정사항 명시 | 제약사항 및 가정 목록 |
요구사항 명세서 통합 | 모든 요구사항을 종합한 문서 작성 | 소프트웨어 요구사항 명세서(SRS) |
주의해야할 요소#
주의 요소 | 설명 |
---|
명확성과 구체성 | 모호하지 않고 구체적으로 요구사항을 기술 |
일관성 유지 | 요구사항 간 충돌이나 모순이 없도록 유지 |
완전성 확보 | 모든 필요한 요구사항이 누락 없이 포함되도록 함 |
검증 가능성 | 각 요구사항이 테스트나 검증 가능하도록 작성 |
추적성 확보 | 요구사항의 출처와 향후 설계/구현과의 연계성 유지 |
우선순위 표시 | 각 요구사항의 중요도나 구현 우선순위를 명시 |
사용자 중심 기술 | 최종 사용자의 관점에서 이해하기 쉽게 기술 |
기술적 중립성 | 특정 기술이나 구현 방식에 치우치지 않도록 주의 |
변경 용이성 | 향후 변경이 용이하도록 모듈화하여 작성 |
표준 준수 | 조직이나 산업의 요구사항 명세 표준을 준수 |
요구사항 검증#
주요 목적#
- 수집 및 명세된 요구사항의 정확성, 완전성, 일관성을 확인한다.
- 요구사항이 이해관계자의 실제 니즈를 정확히 반영하는지 검증한다.
- 요구사항의 실현 가능성과 테스트 가능성을 평가한다.
- 요구사항 간의 충돌이나 모순을 식별하고 해결한다.
- 프로젝트의 목표와 범위에 부합하는지 확인한다.
- 잠재적인 리스크와 문제점을 조기에 발견하고 해결한다.
- 요구사항 문서의 품질을 향상시킨다.
세부 활동과 산출물#
세부 활동 | 설명 | 주요 산출물 |
---|
요구사항 검토 회의 | 이해관계자와 함께 요구사항을 검토하고 논의 | 검토 회의록, 수정 요구사항 목록 |
정형 인스펙션 | 체계적인 방법으로 요구사항 문서를 검사 | 인스펙션 보고서 |
워크스루 | 요구사항을 단계별로 검토하며 문제점 식별 | 워크스루 결과 문서 |
프로토타이핑 | 요구사항의 실현 가능성을 검증하기 위한 프로토타입 개발 | 프로토타입, 사용자 피드백 문서 |
요구사항 추적성 분석 | 요구사항 간의 연관관계와 일관성 검증 | 요구사항 추적성 매트릭스 |
모델 검증 | 요구사항 모델(예: UML 다이어그램)의 정확성 검증 | 모델 검증 보고서 |
체크리스트 기반 검증 | 미리 정의된 체크리스트를 사용한 요구사항 검증 | 체크리스트 결과 문서 |
자동화 도구를 이용한 검증 | 요구사항 관리 도구를 사용한 자동 검증 | 자동화 검증 결과 보고서 |
주의해야할 요소#
주의 요소 | 설명 |
---|
객관성 유지 | 개인적 편견 없이 객관적으로 요구사항을 검증 |
이해관계자 참여 | 다양한 이해관계자의 참여로 다각도 검증 |
일관성 확보 | 요구사항 간 일관성과 전체적인 조화 확인 |
실현 가능성 평가 | 기술적, 시간적, 비용적 측면에서의 실현 가능성 검토 |
명확성 검증 | 모호하거나 해석의 여지가 있는 요구사항 식별 |
완전성 확인 | 누락된 요구사항이나 정보가 없는지 확인 |
테스트 가능성 | 각 요구사항이 테스트 가능한 형태인지 검증 |
우선순위 재확인 | 요구사항의 우선순위가 적절히 설정되었는지 확인 |
변경 영향 분석 | 요구사항 변경이 미치는 영향 평가 |
문서화 품질 | 요구사항 문서의 가독성과 이해도 확인 |
요구사항 관리 계획 수립#
주요 목적#
- 요구사항의 체계적인 관리를 위한 프로세스와 절차를 정의한다.
- 요구사항의 변경을 효과적으로 통제하고 관리한다.
- 프로젝트 전 과정에 걸쳐 요구사항의 일관성과 추적성을 유지한다.
- 이해관계자 간의 요구사항 관련 의사소통을 원활히 한다.
- 요구사항 관련 리스크를 식별하고 관리한다.
- 요구사항 변경이 프로젝트에 미치는 영향을 평가하고 관리한다.
- 요구사항 관리에 필요한 자원과 도구를 계획한다.
세부 활동과 산출물#
세부 활동 | 설명 | 주요 산출물 |
---|
요구사항 관리 프로세스 정의 | 요구사항 수집, 분석, 문서화, 검증 등의 프로세스 수립 | 요구사항 관리 프로세스 문서 |
변경 관리 절차 수립 | 요구사항 변경 요청, 평가, 승인, 구현 절차 정의 | 변경 관리 절차서 |
요구사항 추적성 계획 | 요구사항 간 및 다른 산출물과의 추적성 유지 방법 정의 | 요구사항 추적성 계획서 |
요구사항 우선순위 지정 방법 | 요구사항 우선순위 결정 기준 및 방법 정의 | 우선순위 지정 가이드라인 |
요구사항 속성 정의 | 각 요구사항에 대해 추적할 속성 정의 (예: 상태, 담당자 등) | 요구사항 속성 정의서 |
도구 및 저장소 선정 | 요구사항 관리에 사용할 도구와 저장소 결정 | 도구 선정 보고서 |
역할 및 책임 정의 | 요구사항 관리 관련 역할과 책임 할당 | RACI 매트릭스 |
의사소통 계획 수립 | 요구사항 관련 의사소통 방법 및 빈도 정의 | 의사소통 계획서 |
주의해야할 요소#
주의 요소 | 설명 |
---|
유연성 확보 | 프로젝트 특성에 맞는 유연한 관리 프로세스 설계 |
이해관계자 참여 | 모든 주요 이해관계자의 동의와 참여 보장 |
변경 영향 분석 | 요구사항 변경이 프로젝트에 미치는 영향 평가 방법 포함 |
버전 관리 | 요구사항 문서의 효과적인 버전 관리 방법 수립 |
보안 고려 | 민감한 요구사항 정보의 보안 유지 방안 마련 |
통합성 | 다른 프로젝트 관리 프로세스와의 통합성 확보 |
확장성 | 프로젝트 규모 변화에 대응할 수 있는 확장성 있는 계획 수립 |
측정 및 개선 | 요구사항 관리 프로세스의 효과성 측정 및 개선 방안 포함 |
도구 활용 | 적절한 요구사항 관리 도구 선정 및 활용 계획 수립 |
교육 및 훈련 | 팀원들의 요구사항 관리 역량 강화를 위한 교육 계획 포함 |
참고 및 출처#