Mission(3) 진짜 요구사항
요구사항을 받았는데, 요구사항이 아닐 수 있습니다! 요구사항이 아니라면 사용자가 진짜로 원하는게 무엇인지 알아내야합니다. 애매한 요구사항에서 진짜 요구사항을 찾아내는 연습을 해봅시다.
(1) '연습문제 #33'을읽습니다.
(2) 1-5번까지 문제를 클라이언트가 건넨 요구사항이라 상상하며 문제를 풀어봅시다.
(3) 진정한 요구사항이 아닐 경우 어떻게 질문을 해야하는지, 무엇을 알아야 하는지, 왜 그렇게 생각하는지 등 나의 생각을 작성해보세요.
📌 연습문제 33
1. 응답시간은 500ms 이하여야 한다.
📖 책의 해답 : 이 문장은 진짜 요구 사항처럼 보인다. 환경 때문에 애플리케이션에 제약을 추가해야 할 수 있다.
💡 나의 해답 : 요구사항이다. 하지만 어떤 부분에 제한을 걸어야하는지 더 구체적으로 명시되면 좋을 것 같다.
2. 모달 창의 바탕색은 회색이다.
📖 책의 해답 : 이 문장 자체만으로는 진짜 요구사항이 아니다. 하지만 진짜로 무엇이 필요한지 알아내려면 마법의 질문을 던져야 한다. ”왜?”(중략)
💡 나의 해답 : 디자이너 관점에서는 요구사항이 될 수 있다. 하지만 타당한 이유가 필요할 것 같다.
3. 애플리케이션은 프론트엔드 프로세스 몇 개와 백엔드 서버로 구성된다.
📖 책의 해답 : 이 문장은 요구사항이 아니다. 이것은 아키텍처다. 이런 종류의 것과 마주쳤다면 사용자가 무슨 생각을 하는지 알아내기 위해 깊이 파고들어야 한다.
💡 나의 해답 : 좋은 요구사항은 추상적이어야 하는데, 너무 애매하다. 몇 개라는 말도 구체적이지 못하다.
4. 사용자가 숫자가 아닌 글자를 숫자 필드에 입력하면 시스템은 입력 필드를 깜빡이고 입력을 거부한다.
📖 책의 해답 : 밑에 숨겨진 요구 사항은 아마 “시스템은 사용자가 필드에 올바르지 않은 값을 입력하는 것을 막는다. 올바르지 않은 값을 입력하는 경우 경고를 보낸다.”라는 문장에 더 가까울 것이다.
💡 나의 해답 : 어떤 의도에서인지, 사용자가 입력하는 모든 부분에 관해서인지, 입력필드를 깜빡이지만 거부가 필요한 이유가 더 구체적으로 명시되어야한다. 요구사항이라고는 보기 어려울 것 같다.
5. 이 임베디드 애플리케이션의 코드와 데이터 크기는 32Mb 이내여야 한다.
📖 책의 해답 : 이 문장은 하드웨어의 규격에 맞춘 것 같아 보인다. 아마 꼭 지켜야 하는 요구 사항일 것이다.
💡 나의 해답 : 하드웨어에 관한 요구사항이다.