성공적인 소프트웨어 신상품 개발가이드
상품요구사항 문서는 상품기획의 끝인 동시에 상품개발의 시작이다. 상품 요구사항 문서는 많은 이해관계자가 참조하는 중요한 문서이다. 이번 섹션에서는 상품 요구사항을 명확하게 정의하기 힘든 이유, 좋은 요구사항 문서가 갖추어야 할 조건, 문서로 요구사항을 의사소통 할 때 유의할 사항을 설명한다.
1) 상품 요구사항을 정의하기 힘든 이유
요구사항 관점에서 신상품 개발은 상품 요구사항을 정의하고, 구체화하고, 개발하고, 검증하고, 변경하는 과정이다. 상품 요구사항 정의는 요구사항 관리의 첫 번째 단추이다. 첫 번째 단추인 상품 요구사항을 정의하기 힘든 이유는 다음과 같다.
<경험과 사례로 풀어낸 성공하는 애자일, 2012>에서는 다음의 사례로 ‘에픽’과 ‘사용자 스토리’를 설명한다.
- 에픽 : 사용자는 본인만 아는 정보를 활용하여 시스템에 로그인해야 한다.
(이하는 위의 에픽을 분할한 사용자 스토리)
√ 등록된 사용자는 사용자명과 패스워드로 로그인할 수 있다.
√ 신규사용자는 사용자명과 패스워드를 등록할 수 있다.
√ 등록된 사용자는 비밀번호를 변경할 수 있다.
√ 신규사용자가 단순한 비밀번호를 등록하고자 하는 경우 경고를 줄 수 있다.
√ 등록된 사용자가 3번 이상 잘못된 비밀번호를 등록하면 알람을 제공한다.
- 요구사항을 문서로 정의하는 것은 한계가 있다.
상품 요구사항을 명확하게 정의하려면 고객은 니즈를 정확하게 말하고, 상품관리자는 정확하게 이해하여 문서화해야 한다. 이 과정에서 의사소통 노이즈가 발생하며 이를 제거하기 쉽지 않다. 요구사항 문서화는 필수적이지만 문자로 표현하는 것은 한계가 있고, 오해하기도 쉽다. 예를 들어 신발 끈 매는 방법을 글로 적는다고 생각해보라. 쉽지 않은 일이다. 또한 문서화된 요구사항도 아래와 같이 오해하기 쉽다. 같은 문장을 다르게 오해할 수 있는 예는 다음과 같다. <애자일 마스터, 2012>
나는 그녀가 돈을 훔쳐갔다고 말하지 않았어요
나는 그녀가 돈을 훔쳐갔다고 말하지 않았어요 (내가 말한 게 아니에요)
나는 그녀가 돈을 훔쳐갔다고 말하지 않았어요 (아마 다른 사람이 훔쳐갔을 걸요)
나는 그녀가 돈을 훔쳐갔다고 말하지 않았어요 (그녀는 돈이 아니라 내 마음을 훔쳐갔어요)
나는 그녀가 돈을 훔쳐갔다고 말하지 않았어요 (훔쳐간 게 아니라 빌려간 거예요)
여러 사람들이 요구사항 정의의 어려움 또는 중요성을 다음과 같이 강조하고 있다.
“우수한 요구사항은 이해하기는 쉽지만 오해하기는 어렵다. “(버쿤, 2006)
“소프트웨어 명세를 모호하게 정의하는 것은 가능하지만 소프트웨어를 모호하게 만드는 것은 불가능하다.” (드마르코, 2004)
“고객이 타고 있는 배에 가까이 가기 위해서는 당신의 배가 움직이는 동안 고객의 배를 계속 주시하여야 한다. 출발 전에 보았던 고객의 배가 그대로 있다고 가정해서는 안 된다.” (케슬러, 2009)
https://brunch.co.kr/@kbhpmp/160