요구 사항 분석과 개발(설계)의 가장 큰 차이점은 관점이다.
사용자 관점에서 바라보는 것이 요구 사항 분석이며
개발자 관점에서 바라보는 것이 개발 (설계) 이다.
요구 사항 분석는 프로그래머가 진행하는 경우가 많은데,
프로그래머의 관점, 다시 말해 "어떻게 만들까" 를 먼저 생각하기 때문에
문제가 생기는 경우가 많다.
요구 사항 분석을 잘 해내는 가장 쉬운 방법은
엄마에게 내가 만드는 프로그램에 대해 설명해보는 것이다,
"엄마, 내가 프로그램 만드는데..."
"뭐 만드는데?"
그렇다. 사용자가 알고 싶은건 "무엇을 만드냐"라는 것이다.
엄마가 3D 프로그래머 출신이 아닌 이상
Direct3D 로 만들지 OpenGL 을 만들지는 중요하지 않다.
"MMORPG"
"MMORPG 가 뭐냐-_-)?"
"캐릭터가 움직이면서 몬스터 잡으면서 레벨올리는거예요"
"캐릭터-_-)? 몬스터-_-)? 레벨-_-)? 그게 뭐여?"
... 아 orz;
엄마처럼 아무것도 모르는 경우는 용어 정립부터 필요하다는 사실을 깨닫게 되는군...
좀 더 픽션을 가미해서 엄마가 워우 광렙 유저라고 가정해보면 좀 더 편할 듯 하다.
"음.. 그래-_- 엄마가 MMORPG 는 알겠는데.. 게임의 목적이 뭐니?"
이런 식으로 풀어나가는 과정이 요구 사항 분석이다.