개발자 99% 커뮤니티에서 수다 떨어요!
📌 연습문제 33
다음 문장들이 진정한 요구 사항인가? 가능하다면 진정한 요구사항이 아닌 것을 좀 더 유용하게 고쳐 써 보라.
💡 나의 해답 : 이 문장은 요구 사항이라는 점은 책의 해답과 동의는 한다. 그러나 이는 속도에 집중한 요구사항이다. 어쩌면 이 요구사항을 파생시킨 문제는 속도가 중요한 요소가 아닐 수도 있지 않은가? 어쩌면 속도는 부차적인 요소일 가능성은? 물론 500ms 이상 걸리는 상호작용은 바람직하지는 않다고 생각은 한다. 그러나 이 요구사항이 진짜 중요한 요소를 후순위로 두고 속도를 우선순위로 둔 것은 아닌지 충분히 의심해 볼 수 있다고 생각한다.
💡 나의 해답 : 어디에 쓰일 창인가? 누가 볼 창인가? 왜 회색인가? 등등 여러가지 질문들을 해볼 수 있는 요구사항이다. 이런 질문들을 하면서 사실 회색이 아닐 수도 있다는 결론을 도달할 수 있다고 생각한다.
💡 나의 해답 : 클라이언트가 이런 요구를 했다면 분명 무엇인가 계획을 하고 요구했을 것이다. 이 요구사항은 정말 다양한 방법으로 유의미하게 좁힐 수가 있다고 생각한다: 프론트엔드는 어떤 종류의 고객이 볼 것인가? 그 프론트로 무엇을 보여주고 싶은가? 백엔드 서버에는 어떤 데이터를 담고 싶은가? 등등.
💡 나의 해답 : 이 요구사항은 필드가 깜빡이고 입력을 거부하는 이유에 대해서 추가하면 적절한 요구사항이 될 것 같다. 올바르지 않은 값을 입력하는 것을 막기 위한 것인가? 날짜를 위한 것인가? 액수를 적어야 하기 때문인가?
📖 책의 해답 : 이 문장은 하드웨어의 규격에 맞춘 것 같아 보인다. 아마 꼭 지켜야 하는 요구 사항일 것이다.
💡 나의 해답 : 이 요구사항은 데이터 크기에 대한 구체적인 요구사항이다. 임베디드 애플리케이션은 메모리를 늘리기 굉장히 어려운 관계로 이 요구사항은 지켜야 하는 요구사항일 것이다. 그러나 여기서 물어볼 수 있는 것은 '꼭 임베디드 애플리케이션을 제품에 추가해야 하는가?'이다. 어쩌면 고객의 제품이 임베디드 앱이 필요하지 않을 수도 있지 않은가?