소프트웨어 개발의 현실과 환상 (니파넷)
Source
Evernote/Article Scraps/현실과 환상의 경계 - 니파넷 개발자라면 누구나 공감하는 이야기.md
Summary
2011 년 니파넷에 게시된 이 문서는 소프트웨어 개발 과정에서 발생하는 클라이언트, 영업, 시스템 엔지니어 (SE), 프로그래머 간의 갈등과 현실을 유머러스하게 조명한 명언 모음집입니다. ‘납기 불변의 법칙’, ‘사양 변경의 무한 루프’, ‘버그와 스펙의 경계’ 등 개발 현장의 비극적 아이러니를 50 여 개의 항목으로 정리하고, 개발 관련 용어의 실제 의미와 표면적 의미를 대비시키는 ‘개발자 용어 사전’을 포함합니다.
Key Points
- 개발 일정과 비용의 비현실성: 납기일은 클라이언트 요구사항 변경에도 불구하고 불변하며, 개발 스케줄은 산수적 논리를 무시합니다.
- 역할 간 인식 차이: 클라이언트는 기능을 공짜로 여기고, 영업은 몽상가, SE 는 모험가, 프로그래머는 표류자로 비유됩니다.
- 사양과 버그의 상대성: 불편함이 버그인지 스펙 제한 사항인지는 남은 개발 일정에 따라 정의되며, 가끔 발생하는 버그는 스펙으로 간주됩니다.
- 개발 비용의 분배: 개발비의 대부분이 요구사항 확정, 변경, 버그 수정에 소모되고 실제 코딩에는 10% 만 사용된다는 풍자적 통계를 제시합니다.
- 개발자 용어 사전: ‘완벽한 설계’, ‘고객 만족’ 등 공식적 표현 뒤에 숨겨진 개발 현장의 절박한 상황 (예: ‘전원을 켜니 폭발했다’) 을 대비시킵니다.