Community

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

← Go back
실용주의 프로그래머 Mission 3
#pragmatic
2년 전
695

실용주의 프로그래머 Mission 3

요구사항을 받았는데, 요구사항이 아닐 수 있습니다! 요구사항이 아니라면 사용자가 진짜로 원하는게 무엇인지 알아내야합니다. 애매한 요구사항에서 진짜 요구사항을 찾아내는 연습을 해봅시다.


(1) '연습문제 #33'을읽습니다.


(2) 1-5번까지 문제를
클라이언트가 건넨 요구사항이라 상상하며 문제를 풀어봅시다.


(3) 진정한 요구사항이 아닐 경우
어떻게 질문을 해야하는지, 무엇을 알아야 하는지, 왜 그렇게 생각하는지 등 나의 생각을 작성해보세요.

❗️ 풀이과정은 문제당 300자 이상으로 작성해주세요.

❗️ 책에 있는 해답은 참고용이며, 본인의 생각을 잘 작성해주세요.

📌 연습문제 33

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

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

💡 나의 해답 : 요구사항으로 보인다. 그러나 어떤 것에 대한 응답시간을 요구하는 것인지 모호하다고 판단된다. 우선 첫째로 응답시간의 경우 자료 처리에 관한 응답시간인지, 실시간 시스템에서 요구하는 응답시간인지 구분할 필요가 있어 보인다. 또한 네트워크 통신일 경우 통신시간에 관한 규약이나 제약을 판단하는 것도 필요할 것 같다.

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

💡 나의 해답 : 요구사항이 아닌 것으로 보인다. 우리는 왜 모달 창의 바탕색이 회색이어야 하는지 물어보아야 할 것 같다. 이것이 회사의 디자인 정책이라면 그것이 변경될 수 있을 가능성 또한 고려해야 할 것 같다. 그렇다면 모달 창의 바탕색이 회색이 아닌 다른 색으로도 변경 가능하도록 구현하는 것이 더 나을 수도 있다는 생각이 든다.

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

💡 나의 해답 : 요구사항이 아닌 것으로 보인다. 다른 요구 사항에 맞춰서 프론트엔드 프로세스의 수와 백엔드 서버의 수는 변동 될 수 있을 것 같다. 현실적인 제약 조건에 의해 프로세스의 수와 서버의 구성이 제한될 수는 있을 수 있다는 생각이 드나 이는 설계의 과정에서 발생할 수 있는 문제이지, 의뢰인이 요구하는 사항은 아닌 것으로 보인다.

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

💡 나의 해답 :  요구사항으로 보인다. 숫자가 아닌 글자를 숫자 필드에 입력했을 시 입력을 거부한다는 것은 올바르지 않은 데이터 입력에 관한 처리에 대한 이야기로 보인다. 보다 추상화 시켜서 이야기한다면 올바르지 않은 입력 데이터에 대한 처리에 대한 요구사항이라고 정리 할 수 있을 것 같다. 이에 대해 입력 필드를 깜빡이고 입력을 거부하는 것 뿐만 아니라 올바르지 않은 데이터 입력에 대한 경고 메세지 혹은 오류 메세지 출력도 함께 고려할 수 있다고 이야기 할 수 있을 것 같다.

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

💡 나의 해답 : 요구사항으로 보인다. 시스템의 제약을 명시하고, 그에 프로그램의 크기를 제약하는 요구사항으로 보인다. 이는 꼭 지켜야 할 요구사항으로 추가적인 질문은 없어도 될 것 같다.