PromleeBlog
sitemap
aboutMe

posting thumbnail
다양한 요구사항 분석 기법 및 활용법
Various Requirements Analysis Techniques and Their Applications

📅

🚀

들어가기 전에 🔗

지난 시간에는 성공적인 프로젝트의 첫 단추인 소프트웨어 요구사항 명세서(SRS) 작성법에 대해 알아보았습니다.
하지만 훌륭한 SRS 문서를 만들기 위해서는 그보다 먼저 사용자와 이해관계자들이
정말로 원하는 것
이 무엇인지 정확하게 파악하는 과정, 즉
요구사항 분석
단계가 선행되어야 합니다.

오늘은 이렇게 중요한 요구사항을 효과적으로 도출하고 분석하기 위한 다양한 기법들에 대해 함께 살펴보겠습니다.

🚀

요구사항 분석이란 무엇이며 왜 중요할까요? 🔗

요구사항 분석은 소프트웨어 개발 생명주기(SDLC)의 초기 단계로, 개발하고자 하는 시스템에 대해 사용자와 이해관계자들의 필요와 기대를 이해하고, 이를 구체적이고 명확한 요구사항으로 변환하는 일련의 과정입니다.
이 과정은 단순히 사용자의 말을 받아 적는 것을 넘어, 불분명하거나 암묵적인 요구, 상충하는 요구 등을 식별하고 해결하는 복잡한 활동을 포함합니다.
사용자의 진짜 속마음 읽기
사용자의 진짜 속마음 읽기
요구사항 분석이 중요한 이유
요구사항 분석은 단순히 기술적인 작업이 아니라, 사람들과의 소통, 문제 해결 능력, 분석적 사고가 모두 요구되는 중요한 과정입니다.

🚀

정형 분석 vs 비정형 분석 🔗

요구사항 분석 기법은 크게
정형 분석(Formal Analysis)
비정형 분석(Informal Analysis)
으로 나눌 수 있습니다.

정형 분석 기법 (Formal Analysis Techniques) 🔗

정형 분석은 수학적 원리나 정형화된 표기법(Formal Notation)을 사용하여 요구사항을 명확하고 모호함 없이 기술하고 검증하는 방법입니다.
주로 안전성이 매우 중요한 시스템(Safety-critical systems, 예: 항공 관제, 원자력 발전소 제어)이나 복잡한 시스템의 일관성과 완전성을 보장하기 위해 사용됩니다.
➡️

특징 🔗

➡️

장점 🔗

➡️

단점 🔗

➡️

예시 🔗

상태 전이 다이어그램(State Transition Diagram), 결정 테이블(Decision Table), 명세 언어(Z, VDM 등) 사용.
👨‍💻
일반적인 상용 소프트웨어 개발에서는 정형 분석 전체를 적용하기보다는, 특정 복잡한 로직이나 상태 변화를 명확히 하기 위해 부분적으로 상태 전이 다이어그램 등을 활용하는 경우가 많습니다.

비정형 분석 기법 (Informal Analysis Techniques) 🔗

비정형 분석은 자연어나 그림, 다이어그램 등 비교적 덜 엄격하고 이해하기 쉬운 방법을 사용하여 요구사항을 도출하고 분석하는 방법입니다.
대부분의 소프트웨어 개발 프로젝트에서 널리 사용되며, 이해관계자와의 원활한 의사소통에 중점을 둡니다.
➡️

특징 🔗

➡️

장점 🔗

➡️

단점 🔗

➡️

예시 🔗

인터뷰, 설문조사, 워크숍, 브레인스토밍, 스토리텔링, 프로토타이핑, 유스케이스 모델링 등.
👨‍💻
실제 프로젝트에서는 정형 분석과 비정형 분석 기법을 상황에 맞게 조합하여 사용하는 경우가 많습니다.
예를 들어, 비정형 기법으로 초기 요구사항을 도출하고, 그중 복잡하거나 중요한 부분은 정형화된 다이어그램으로 명확히 하는 방식입니다.

🚀

주요 비정형 요구사항 도출 및 분석 기법 🔗

이제 실제 프로젝트에서 자주 사용되는 주요 비정형 요구사항 도출 및 분석 기법들을 자세히 살펴보겠습니다.

1. 인터뷰 (Interviews) 🔗

인터뷰는 분석가가 이해관계자(사용자, 고객, 관리자 등)와 직접 만나 대화를 통해 요구사항을 수집하는 가장 기본적인 방법입니다.
➡️

종류 🔗

➡️

장점 🔗

➡️

단점 🔗

2. 설문조사 (Surveys / Questionnaires) 🔗

설문조사는 다수의 사람으로부터 정량적 또는 정성적인 데이터를 수집하기 위해 미리 작성된 질문지를 사용하는 방법입니다.
➡️

장점 🔗

➡️

단점 🔗

3. 워크숍 (Workshops / Focus Groups) 🔗

워크숍은 다양한 이해관계자들이 한자리에 모여 특정 주제에 대해 집중적으로 논의하고 아이디어를 교환하며 요구사항을 도출하고 합의하는 방법입니다. (포커스 그룹 인터뷰(FGI)도 유사한 형태입니다.)
➡️

장점 🔗

➡️

단점 🔗

4. 관찰법 (Observation / Shadowing) 🔗

관찰법은 분석가가 사용자의 실제 업무 환경을 직접 방문하여 사용자가 시스템을 사용하거나 업무를 수행하는 과정을 관찰하고 기록하는 방법입니다. '섀도잉(Shadowing)'은 사용자를 그림자처럼 따라다니며 관찰한다는 의미입니다.
➡️

장점 🔗

➡️

단점 🔗

5. 문서 분석 (Document Analysis / Review) 🔗

기존 시스템 문서, 업무 매뉴얼, 경쟁사 제품 분석 자료, 관련 법규 및 규제, 기술 표준 문서 등 이미 존재하는 다양한 문서를 검토하여 요구사항을 도출하는 방법입니다.
➡️

장점 🔗

➡️

단점 🔗

기타 기법들 🔗

위에서 언급된 기법 외에도 다음과 같은 다양한 기법들이 활용될 수 있습니다.
각 기법은 고유한 장단점을 가지고 있으므로, 프로젝트의 성격, 이해관계자의 특성, 가용 시간 및 자원 등을 고려하여 가장 적합한 기법들을 조합하여 사용하는 것이 중요합니다.

🚀

요구사항 추적성 매트릭스 (Requirements Traceability Matrix, RTM) 🔗

요구사항 분석 과정에서 도출된 요구사항들은 프로젝트 생명주기 동안 지속적으로 관리되어야 합니다.
요구사항 추적성 매트릭스(RTM)
는 이러한 요구사항들이 설계, 개발, 테스트, 최종 인수 단계까지 어떻게 반영되고 검증되는지를 추적하고 관리하기 위한 문서 또는 도구입니다.
요구사항 추적성 매트릭스
요구사항 추적성 매트릭스

RTM의 역할 및 중요성 🔗

RTM은 간단한 스프레드시트 형태로 만들 수도 있고, 전문적인 요구사항 관리 도구(예: JIRA, Confluence, IBM DOORS)를 사용할 수도 있습니다.
요구사항 분석 단계에서부터 RTM 구축을 계획하고 꾸준히 업데이트하는 것이 중요합니다.

🚀

결론 🔗

오늘은 소프트웨어 개발의 성패를 좌우하는 중요한 단계인 요구사항 분석을 위한 다양한 기법들에 대해 알아보았습니다.
정형 분석과 비정형 분석의 차이점을 이해하고, 인터뷰, 설문, 워크숍, 관찰법 등 실제 프로젝트에서 유용하게 사용될 수 있는 비정형 분석 기법들의 특징과 장단점을 살펴보았습니다.
또한, 도출된 요구사항을 효과적으로 관리하기 위한 요구사항 추적성 매트릭스(RTM)의 중요성에 대해서도 언급했습니다.
다음 시간에는 사용자의 관점에서 시스템의 기능을 효과적으로 정의하고 분석하는 데 널리 사용되는
유스케이스 기반 요구사항 분석
방법에 대해 자세히 알아보겠습니다.

참고 🔗