Community

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

← Go back
TIL #10 Mission (3) 진짜 요구사항
#pragmatic
2년 전
721

📌 연습문제 33

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

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

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

💡 나의 해답 :

요구사항이 확실하다. 응답 속도가 0.5초 이상이면 문제가 있는게 아닐까? 이 커머스에서 전시 영역 화면 하나를 열 때 몇개의 API를 호출할까? 열개를 호출한다고 치자. 0.5 x 10 = 5초? 끔찍하다. 0.1초 이하의 응답 속도가 필요하다.

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

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

💡 나의 해답 :

당연히 요구사항이다. 어플리케이션이 흰색으로 구성되어 있다고 가정하자. 팝업도 동일한 색이라면 구분이 될까? 팝업 창만 확실하게 회색으로 해달라고 할 수 있다!

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

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

💡 나의 해답 :

요구사항이 아니다. 고객이 원하는 것이 어플리케이션 아키텍쳐라면 가능하겠지. 그렇지만 일반적으로 우리는 어플리케이션을 만드는 과정에서 받는 요구사항이라고 가정하므로 이는 요구상이라고 보기 힘들다.

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

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

💡 나의 해답 :

요구사항이다. 숫자필드에 글자를 입력하지 못하도록 하는 것이 목표일 것이다. 때때로 같은 기능을 우리는 다른 사상으로 다르게 생각하기도 한다. 이를 하나로 모으는 것이 커뮤니케이션이며 우리가 해야할 노력이다.

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

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

💡 나의 해답 :

3번과 마찬가지가 아닐까? 요구사항이 아니다. 임베디드 애플리케이션을 개발할때도 마찬가지로 하드웨어 위에서 설계를 하고 작동할 것이다.