-
Quiz독서/실용주의 프로그래머 2022. 4. 4. 22:59
연습 문제 33
다음 문장들이 진정한 요구사항인가? 가능하다면 진정한 요구 사항이 아닌 것을 좀 더 유용하게 고쳐 써 보라.
- 응답 시간은 500ms 이하여야 한다.
- 모달 창의 바탕색은 회색이다.
- 애플리케이션은 프론트엔드 프로세스 몇개와 백엔드 서버로 구성된다.
- 사용자가 숫자가 아닌 글자를 숫자 필드에 입력하면 시스템은 입력 필드를 깜빡이고 입력을 거부한다.
- 이 임베디드 애플리케이션의 코드와 데이터 크기는 32mb이내여야 한다.
내가 생각한 풀이
먼저 사용자가 요청하는 입장에 대해서 생각을 해보았다. 5개의 문항들을 두 가지 유형으로 나눠볼 수 있는데 먼저 사용자가 직접 사용할 때 일어나는 일(사용자가 눈으로 볼 수 있는 것)과 아닌 것이다.
2, 4, 5번은 사용자가 눈으로 보고 사용할 때의 요구 사항이며 개발자에겐 가벼워도 사용자에겐 중요한 부분으로 작용된다. (5번은 좀 애매함) 하나씩 이유를 써보자면.
1번은 정확히 500ms라고 명시를 해주었기때문에 요구사항이고 그에 맞춰서 작업을 해야한다.
2번 같은 요구사항은 명확한 것 같지만 변동가능성이 크기 때문에 기준 같은 것이 주어진다면 좋을 것 같다.
3번 또한 "몇 개"라고 하는 부분이 추후에 큰 문제가 될 수 있기 때문에 시스템 구성을 확실히 할 필요가 있다. (요구사항 문서에 써있기에는 자리가 아닌 것 같긴하다.)
4번은 확실하게 요구 사항이다. 숫자 이외에 라고 수정하고 알림 창을 띄운다로 수정하면 좋을 것 같다.
5번은 요구사항이다.
풀고 난 후
회사에서 하는 프로젝트 중 하나가 오픈이 엄청나게 딜레이되고 있는데 이는 요구사항에 대한 확실한 선이 없었기 때문이라고 생각한다. (물론 내부 사정이 있지만) 그렇기에 다른 것도 중요하지만 요구 사항이라는 문서에 대해서는 최대한 심혈을 기울여 작성해야하는 문서라고 생각이 든다.
728x90반응형LIST'독서 > 실용주의 프로그래머' 카테고리의 다른 글
마무리 (0) 2022.04.06 9장 실용주의 프로젝트 (0) 2022.04.05 8장 프로젝트 전에 (0) 2022.04.03 7장 코딩하는 동안 (0) 2022.04.02 6장 동시성 (0) 2022.03.30