Community

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

← Go back
Mission 3. 진짜 요구사항
#pragmatic
2년 전
720

📌 연습문제 33

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

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

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

💡 나의 해답 : 응답시간 500ms이하여야 하는 이유를 확인해야한다. 응답시간이 짧을 수록 좋을테지만 현실에서 가능한 수준의 최소 응답시간이 있을 것이다. 이를 위해서는 응답시간이 500ms 이하여야하는 이유와 최소 응답시간에 대한 합의가 필요하다. ****

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

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

💡 나의 해답 : 모달창의 바탕이 흰색이어야 하는 이유가 있을까? 모달 뒤의 바탕 색상과 구분이 필요하기 때문일 수 있다. 하지만 이 또한 요구사항이라고 보기 어렵다. 바탕에 검은색 블러를 처리하는 방법 등으로도 얼마든지 대응 가능하다. 또한 후에 블랙 테마를 적용할 수도 있다. 따라서 모달창의 색상이 흰색이어야하는 이유와 앞으로의 확장 가능성도 고려해야한다.

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

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

💡 나의 해답 : 이 문장은 요구사항이라고 보기 어렵다. 사용자 입장에서는 프론트엔드 프로세스의 개수가 몇개인지, 서버가 있는지 없는지는 중요하지 않을 것이다. 사용자는 그저 사용성이 좋은 애플리케이션을 원할 뿐이다.

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

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

💡 나의 해답 : 이 요구사항은 보다 면밀하게 바라볼 필요가 있다. 입력값의 제한이라는 보다 큰 목적이 있을 것이다. 입력값을 제한하는 방법은 다양할 것이다. 글자를 입력하면 저절로 지워진다거나, 혹은 빨간 글씨로 올바른 입력값을 입력하라고 메시지를 보여줄 수 있다.

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

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

💡 나의 해답 : 이것은 요구사항이 맞다. 물론 이 요구사항도 왜 32Mb 이내여야 하는지 물어볼 필요는 있다고 생각한다.