개발자 99% 커뮤니티에서 수다 떨어요!
📌 연습문제 33
다음 문장들이 진정한 요구 사항인가? 가능하다면 진정한 요구사항이 아닌 것을 좀 더 유용하게 고쳐 써 보라.
📖 책의 해답 : 이 문장은 진짜 요구 사항처럼 보인다. 환경 때문에 애플리케이션에 제약을 추가해야 할 수 있다.
💡 나의 해답 : 요구사항일 수 있다. 아직 제대로 일을 해보지 않은 입장에서 추측을하자면, 응답시간을 요구할 때는 여러 기준이 있겠지만, 사용자가 '느리다'라고 느껴지는 시간보다는 적게 설계되어야 할 것이다. 또 일반적으로 어플이나 웹에서 사용자 편의를 위해 최소 어느정도의 응답시간 이하여야 된다는 기준이 있을 것이다. 그 외 특별한 기준을 요구한다면, 그리고 간단한 코드 수정으로 해결되지 않는다면, 500ms라는 수치가 왜 나왔는지 구체적 요구사항을 들으면 좋을 것 같다.
2. 모달 창의 바탕색은 회색이다.
📖 책의 해답 : 이 문장 자체만으로는 진짜 요구사항이 아니다. 하지만 진짜로 무엇이 필요한지 알아내려면 마법의 질문을 던져야 한다. ”왜?”(중략)
💡 나의 해답 : 요구사항일 수 있다. 색에 대한 문제는 여러 이유가 있을 수 있다. 사용자의 가독성을 높여야 하거나, 단순히 디자인에 대한 이유일 수도 있다. 야외에서 자주 사용하는 상황이라면 햇빛이 있는 상황에서도 잘 보여야 하는 이유가 있을 수 있다. 커스터마이징을 하기위해 나중에 변경될 수도 있는 상황이라면 "회색"이 특정한 이유로 변하면 안되는 조건인지를 확인하면 추후 번거로운 일이 없을 수도 있을 듯 하다.
📖 책의 해답 : 이 문장은 요구사항이 아니다. 이것은 아키텍처다. 이런 종류의 것과 마주쳤다면 사용자가 무슨 생각을 하는지 알아내기 위해 깊이 파고들어야 한다.
💡 나의 해답 : 요구사항이 아니다. 사용자가 원하는것이 무엇인지 드러나지 않았다. 해당 구조를 원하는 이유를 들어봐야할 것이다. 비용의 문제인지? 실패 사례가 있었는지? 혹은 다른 사례를 참고하고 싶은것인지? 혹은 이렇게밖에 안된다고 지레 짐작한 것인지? 구조를 결정하는 것은 신중한 문제이니 특히 이 경우는 더 오랜 기간 이야기를 나눠야 할 것이다.
📖 책의 해답 : 밑에 숨겨진 요구 사항은 아마 “시스템은 사용자가 필드에 올바르지 않은 값을 입력하는 것을 막는다. 올바르지 않은 값을 입력하는 경우 경고를 보낸다.”라는 문장에 더 가까울 것이다.
💡 나의 해답 : 요구사항일 수 있다. 에러메세지를 출력하는 방식을 특정지어서 요구할 수 있다. 혹은 다른 방법을 사용해도 된다면, 그게 더 코드작성이 편하거나 유지보수가 쉽거나 하다면 다른 요구사항(단순 경고를 보내고 싶은 것)이 있는 것이라면 구체적인 요구사항을 들어봐야할 것 이다.
📖 책의 해답 : 이 문장은 하드웨어의 규격에 맞춘 것 같아 보인다. 아마 꼭 지켜야 하는 요구 사항일 것이다.
💡 나의 해답 : 요구사항으로 보인다. 크기 문제는 비용적인 문제일 수 있고 책에서처럼 규격이나 규제를 따라야하는 것일 수 있다. 유지보수의 이유일 수도 있다.