Community

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

← Go back
Mission 3
#pragmatic
2년 전
564

📌 연습문제 33

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

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

숫자라는 절대적인 지표를 사용하여 애매한 부분 없이 깔끔한 요구사항이라는 생각이 든다. 하지만 이것이 요구사항인 이유를 확인해야 이후 개발 단계에서 예기치 않은 이슈를 맞닥뜨렸을 때 어떻게 해결하는 것이 좋을지 방향성을 잡을 수 있을 것 같다.

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

진정한 요구사항이라고 볼 수 없다. 일단 '회색'이라는 표현은 모호하다. opacity 혹은 blur를 줘서 흐릿하게 보이는 것을 원하는지 정말로 회색만 입히는 것을 원하는지 확인할 필요가 있다. 그리고 무엇을 위해 '회색'이 되길 원하는지 되물어 그 목적에 더 부합하는 해결책이 있나 고려해볼 것 같다.

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

진정한 요구사항이 아니다. 일단 '몇 개'라는 표현은모호하기 때문에 의뢰인이 정말로 원하는 것이 무엇인지 스스로 모르지 않을까 하는 의심이 들 것이다. 그리고 이것은 애플리케이션의 설계 단계에서 중대한 사안이기 때문에 왜 이런 구성을 원하는 것인지 목적이 무엇인지 되물을 것 같다.

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

좋은 요구사항은 아닌 것 같다. 지나치게 구체적이다. 조금 더 범용적으로 input에 적절한 값을 입력받길 원하는 것이라면 "사용자가 input 에 잘못된 데이터를 입력할 경우 서버에 전송하는 것을 막고 경고를 띄운다." 라고 적는 것이 더 나은 요구사항인 것 같다.

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

1번과 마찬가지로 구체적인 숫자를 지표로 내세워 적절한 요구사항이라고 볼 수 있다.