Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
Mission (3) 진짜 요구사항
#pragmatic
2년 전
1,133

📌 연습문제 33

다음 문장들이 진정한 요구 사항인가? 가능하다면 진정한 요구사항이 아닌 것을 좀 더 유용하게 고쳐 써 보라.

1. 응답시간은 500ms 이하여야 한다.

📖 책의 해답 : 이 문장은 진짜 요구 사항처럼 보인다. 환경 때문에 애플리케이션에 제약을 추가해야 할 수 있다.

💡 나의 해답 : 진정한 요구 사항이라고 생각한다. 개발자는 고객이 요구(정확하게)하는 응답시간을 맞춰야 한다. 다만 궁금한 점이 생길 것이다. 왜 굳이 500ms 이하여야 하는지? 불가필요한 경우엔 높은 금액을 지출해야 하는 상황도 올 수 있는데 그럴 때는 어떻게?

2. 모달 창의 바탕색은 회색이다.

📖 책의 해답 : 이 문장 자체만으로는 진짜 요구사항이 아니다. 하지만 진짜로 무엇이 필요한지 알아내려면 마법의 질문을 던져야 한다. ”왜?”(중략)

💡 나의 해답 : 진정한 요구 사항이 아니다. 웹 배경에 따라 회색이 가독성이 좋을 수 도 있고 좋지 않을 수 도 있기 때문이다. 조금더 구체적으로 웹 배경에 대한 이야기와 디자인 적인 측면을 더 고려하여 제시하면 좋을 듯 하다. 보색, 비슷한 색, 정반대 색 등등. 그리고 라이트, 나이트 모드에 대한 설명도 추가적으로 있으면 개발자 입장에서 요구 사항을 받고 개발을 시작하는 데 큰 어려움이 없을 거 같다. 불필요한 추가 질문을...

3. 애플리케이션은 프론트엔드 프로세스 몇 개와 백엔드 서버로 구성된다.

📖 책의 해답 : 이 문장은 요구사항이 아니다. 이것은 아키텍처다. 이런 종류의 것과 마주쳤다면 사용자가 무슨 생각을 하는지 알아내기 위해 깊이 파고들어야 한다.

💡 나의 해답 : 진정한 요구사항이 아니다. 아직 프로세스에 대한 정확한 개념을 모르고 다루지 않았지만(혹시 다루었을 수도..? 전문가가 아니다..ㅜㅜ) 이것도 1번 요구사항 처럼 비용 문제를 생각할 수 있고 여러 개의 프로세스에 대한 각각의 역할을 알려줘야 할 듯 하다. 혹은 이 문제는 개발자가 개발을 하는 동안 프론트 프로세스 분리 및 확장이 필요하다면 그 이후에 고객과 대화를 통해 풀어나가도 되는 문제인 거 같다. 그리고 해답에 나온 것 처럼 왜 이렇게 생각하는 지에 대한 고객의 이야기를 들어야 할 듯 하다.

4. 사용자가 숫자가 아닌 글자를 숫자 필드에 입력하면 시스템은 입력 필드를 깜빡이고 입력을 거부한다.

📖 책의 해답 : 밑에 숨겨진 요구 사항은 아마 “시스템은 사용자가 필드에 올바르지 않은 값을 입력하는 것을 막는다. 올바르지 않은 값을 입력하는 경우 경고를 보낸다.”라는 문장에 더 가까울 것이다.

💡 나의 해답 : 진정한 요구사항이 아니다. 하지만 이 요구사항은 대화를 통해 좀 더 깔끔한 요구 사항으로 풀어나가야 할 듯 보인다. 그래야 서로의 생각의 차이로 인한 오해가 생기지 않기 때문이다.

5. 이 임베디드 애플리케이션의 코드와 데이터 크기는 32Mb 이내여야 한다.

📖 책의 해답 : 이 문장은 하드웨어의 규격에 맞춘 것 같아 보인다. 아마 꼭 지켜야 하는 요구 사항일 것이다.

💡 나의 해답 : 진정한 요구사항이다.