소프트웨어 노력 추정에 대한 새로운 통찰
-
세탁기 설치 경험
- 새 집으로 이사하면서 세탁기를 설치하는 과정에서 예상보다 시간이 많이 걸림.
- 보통 10분이면 끝나는 작업이었지만, 이번에는 4시간이 소요됨.
- 이 경험이 소프트웨어 개발에서의 노력 추정의 어려움을 상기시킴.
-
장애물과 해결책
-
장애물 1: 전원 연결을 위한 구멍이 없어 세탁기를 전원에 연결할 수 없음.
-
해결책 1: 하드웨어 상점에서 60mm 홀쏘를 구입하여 구멍을 뚫음.
-
장애물 2: 소비자용 드릴로는 홀쏘를 사용할 수 없음.
-
해결책 2: 더 강력한 드릴을 빌려와서 사용함.
-
장애물 3: 기존 호스가 새 집에서는 길이가 짧음.
-
해결책 3: 새로운 확장 가능한 호스를 구입함.
-
장애물 4: 수도꼭지의 캡이 너무 단단히 고정되어 있음.
-
해결책 4: 더 큰 스패너를 구입하여 캡을 제거함.
-
장애물 5: 배수구의 스피곳이 PVC 벽으로 막혀 있음.
-
해결책 5: 드릴로 PVC 벽을 뚫고 배수 호스를 연결함.
-
소프트웨어 개발과의 유사점
- 소프트웨어 개발에서도 비슷한 문제들이 발생할 수 있음.
- 이전에 했던 작업과 유사해 보이지만, 예상치 못한 차이점이 전체 일정을 지연시킬 수 있음.
- 예를 들어, 사용하려던 프레임워크가 유지보수되지 않거나, 새로운 도구 체인을 배워야 하거나, OS 버전이 변경되어 기존 의존성을 지원하지 않는 경우 등이 있음.
-
결론
- 새로운 집에서의 경험은 소프트웨어 개발에서의 노력 추정이 얼마나 어려운지를 보여줌.
- 예상치 못한 문제들이 발생할 수 있으며, 이는 프로젝트의 전체 계획을 변경할 수 있음.
- 철저한 요구사항 수집이 필요하지만, 모든 문제를 예측할 수는 없음.