요구사항 분석, 설계, 개발, 테스트, 배포, 유지보수. 학교에서 배운 소프트웨어 개발 수명 주기(SDLC)다. 깔끔하게 정리된 단계들. 문제는, 현실에서 이렇게 돌아가는 프로젝트를 본 적이 없다는 거다.
애자일이 등장하면서 폭포수 모델은 레거시가 됐다. 하지만 애자일도 점점 형식화되고 있다. 스프린트 플래닝, 데일리 스탠드업, 레트로스펙티브. 방법론을 따르느라 정작 개발할 시간이 없다.
프로세스의 역설
프로세스는 문제를 해결하기 위해 만들어진다. 하지만 프로세스 자체가 문제가 될 때가 있다. 회의를 위한 회의, 문서를 위한 문서, 보고를 위한 보고.
40대가 되면서 프로세스에 대한 생각이 많이 바뀌었다. 20대에는 “이건 왜 이렇게 해야 하지?”라며 반항했고, 30대에는 “이유가 있겠지”라며 따랐다. 지금은 “필요한 만큼만 하자”가 됐다.
AI 시대의 개발 프로세스
AI가 코드를 작성하는 시대가 됐다. Cursor, Copilot, Claude Code. 개발자의 역할이 “코드를 짜는 사람”에서 “AI를 지시하고 검토하는 사람”으로 바뀌고 있다.
이런 환경에서 전통적인 SDLC가 무슨 의미가 있을까. 설계-개발-테스트 단계가 몇 분 안에 한 사이클 도는데. 방법론을 다시 생각해야 할 때다.
본질로 돌아가기
결국 중요한 건 “좋은 소프트웨어를 만드는 것”이다. 어떤 프로세스를 쓰든, 어떤 방법론을 따르든. 사용자에게 가치를 전달하는 것, 그게 본질이다.
SDLC가 죽었다는 건 특정 방법론의 종말이 아니다. 정해진 틀에 집착하지 말라는 메시지다. 상황에 맞게 유연하게. 그게 20년 개발 인생에서 배운 교훈이다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.