나는 최근에 소프트웨어 개발의 민첩한 관행에 관심을 가지게되었으므로이 관행이 전체 비용을 절감 할 수 있다는 많은 기사를 보았습니다.
그 뒤에 숨겨진 논리는 일반적으로 다음과 같습니다. 요구 사항이 변경되면 다음 스프린트 백 로그에이 변경 사항을 반영 할 수 있으며 이는 새로운 기능을 디자인하고 구현하는 데 시간이 걸리기 때문에 비용 절감으로 이어질 것입니다. 유명한 규칙에 따르면, 나중에 요구 사항을 변경해야할수록 그 요구 사항을 충족시키는 것이 더 비싸다는 유명한 규칙에 따라 비용이 줄어 듭니다.
그러나 중대형 소프트웨어 프로젝트는 복잡합니다. 요구 사항이 갑자기 변경되었다고해서 해당 요구 사항을 충족시키기 위해 시스템의 다른 부분을 만질 필요는 없습니다. 많은 경우 아키텍처를 매우 크게 수정해야하므로 이전 아키텍처에 의존했던 모든 기능을 다시 구현해야합니다. 따라서 비용 절감의 요점은 여기서 사라집니다. 물론 새로운 요구 사항이 시스템의 새로운 독립적 인 부분을 요구하는 경우 문제가되지 않고 기존 아키텍처가 커지면 다시 생각하거나 다시 구현할 필요가 없습니다.
그리고 그 반대입니다. 폭포를 사용하고 있고 새로운 요구 사항이 도입되어야한다는 사실을 갑자기 깨닫게되면 디자인을 변경할 수 있습니다. 기존 아키텍처를 변경해야하는 경우 다시 설계하십시오. 그것이 실제로 그것을 엉망으로 만들지 않고 시스템의 새로운 부분을 소개한다면, 모든 일을하고 문제없이 여기에서하십시오.
즉, 민첩한 개발이 가진 유일한 장점은 스프린트 사이에 기능을 완벽하게 구축하는 것 같습니다. 많은 사람들과 prjects에게는 이것이 중요하지 않습니다. 또한 애자일은 전체적으로 소프트웨어 아키텍처가 나빠지는 것처럼 보입니다. 기능이 서로 겹치기 때문에 애자일 팀은 기능이 작동하는 방식이 아니라 기능 만 관리하기 때문입니다. 시스템이 시간이 지남에 따라 복잡해지면 민첩한 개발 관행이 실제로 전체 제품 아키텍처에서 혼란을 증가시켜 결국 변경을 도입하기가 점점 더 어려워 지므로 더 높은 비용을 초래하는 반면 폭포는 아키텍처를 완벽하게 만들 수 있습니다 당신이 아무것도 풀기 전에.
분명히 많은 사람들이 프로덕션 환경에서 민첩성을 사용하므로 어딘가에 잘못해야하기 때문에 누군가 내가 여기서 잘못 가고 있다고 지적 해 줄 수 있습니까?