그 질문에 대한 답은 책을 채울 수 있습니다.
주요한 이유 중 하나는 민첩한 개발이 결과물에 초점을 맞추고 있기 때문입니다. 항상 현재 가장 시급한 것을 제공하는 데 중점을 둡니다.
또 다른 이유는 민첩한 프로세스가 따르는 스토리 기반 계획 및 추정 관행이 무엇을 언제 전달할 수 있는지 훨씬 더 잘 추정 할 수 있기 때문입니다.
효과적인 스토리 기반 계획의 좋은 예는 제가 작업 한 프로젝트입니다. 프로젝트 리더는 민첩한 개발을 채택하기 전에 몇 달 동안 제 시간에 인도 할 수 있다고 생각했으며 마감일로부터 약 18 개월이 걸렸습니다. 모든 개발자는 아마도 비현실적이라고 생각했습니다. 민첩한 계획을 시작한 후에도 프로젝트 리더는 상황을 낙관적으로 평가했습니다. 그러나 단 몇 번의 스프린트 후, 프로젝트 리더는 팀이 예상 시간에 모든 요구 사항을 전달할 수있는 능력이 없다는 것을 깨달았습니다. 그리고 그것은 여전히 마감일로부터 12 개월이 넘었습니다.
따라서 민첩한 관행은 현실을 훨씬 빨리 분명하게 만듭니다.
마지막으로, 민첩한 팀은 테스트 중심 개발, 빈번한 리팩토링, 지속적인 통합, 피어 코드 검토 / 쌍 프로그래밍 등과 같이 더 나은 코드 품질을 만드는 관행을 더 자주 채택하는 경향이 있습니다. 전통적인 소프트웨어 프로젝트는 이러한 관행을 금지하지 않습니다. 그다지 집중하지 마십시오.