기능 요구사항 vs 비기능 요구사항: 무엇 vs 어떻게
기능 요구사항 vs 비기능 요구사항의 차이는 👉 “무엇을 해야 하는가”와 “어떻게 동작해야 하는가”의 차이라고 볼 수 있어요.
높은 품질의 기능 개발을 위해서는 두가지 모두 필수적으로 챙겨야 하고 PM은 요구사항 전달 시 명확하게 구분해서 전달해야 해요.
✅ 기능 요구사항 (Functional Requirements)
시스템이 무엇을 해야 하는지에 대한 요구
즉, “사용자가 무엇을 할 수 있어야 하는지” 또는
**“어떤 기능이 있어야 하는지”**를 설명합니다.
📌 예시:
- 사용자는 이메일과 비밀번호로 로그인할 수 있어야 한다.
- 게시글을 작성, 수정, 삭제할 수 있어야 한다.
- 결제 완료 시 주문 내역이 DB에 저장되어야 한다.
✅ 비기능 요구사항 (Non-Functional Requirements)
시스템이 어떻게 동작해야 하는지에 대한 요구
기능의 품질, 성능, 안정성, 보안 등을 정의합니다.
📌 예시:
- 로그인 응답 시간은 2초 이내여야 한다.
- 시스템은 하루 10만 명 이상 사용자를 처리할 수 있어야 한다.
- 모든 개인정보는 암호화되어 저장되어야 한다.
- 장애 발생 시 5분 이내에 복구되어야 한다.
🎯 쉽게 구분하는 법
구분 | 항목기능 요구사항 | 비기능 요구사항 |
무엇을? | 시스템이 해야 할 기능 | 기능이 지켜야 할 조건/기준 |
사용자 관점 | 사용자가 할 수 있는 일 | 사용자가 느끼는 품질/성능 |
PM 문서 예시 | 로그인 기능, 댓글 작성 기능 | 응답 시간, 처리량, 보안 기준, SLA |
개발 관점 | 기능 구현 | 시스템 튜닝, 인프라 설계, 보안 적용 등 |
🧠 기억하기 쉽게
✔️ 기능 요구사항 = “무엇을 할 수 있어야 한다”
✔️ 비기능 요구사항 = “어떤 수준으로 잘 작동해야 한다”