당신은 좋은 점수를 올립니다. 그러나 이러한 문제가 민첩한 프로세스 / 방법론으로 제한되어 있다고는 생각하지 않습니다.
필수 기능과 비 필수 기능에 대한 의견이 다릅니다. 귀하의 예를 사용하기 위해 자동차를 구매하는 사람은주의를 끌기위한 필수 기능으로 간주하여 피아트가이 필수 요건을 충족하지 않는 것으로 간주 할 수 있습니다.
보다 현실적으로 소프트웨어 제품에는 실제 최종 사용자의 요구를 충족시키기 위해 특정 기능이 필요할 수 있지만 판매를 위해서는 특정 기능이 필요할 수도 있습니다. 구매를 승인 한 사람은 종종 최종 사용자가 아니기 때문입니다.
따라서 최종 사용자에게 "필수적이지 않은"기능은 제품을 판매하는 데 필수적 일 수 있으며 따라서 제품을 만드는 회사에도 필수적입니다.
요구 사항과 우선 순위를 적절하게 설정하려면 우수한 제품 개발 팀을 보유하는 것이 중요하다는 사실로 요약됩니다. 그러나 민첩한 상점에만 해당되는 것은 아닙니다.
또한 결정을 내릴 권한이있는 제품 소유자 (들) / 이해 관계자가 있어야합니다. 귀하의 제품 소유자의 결정이 다른 사람에 의해 지속적으로 무효화되는 경우, 이것이 문제라는 점에 가장 먼저 동의하지만, 민첩한 문제는 아닙니다.
당신이 당신의 제품 소유자 (들)에게 원하는 다른 것들이 있습니다 ... 제가 들었던 한가지 설명은 "CRACK"(협업, 대표, 승인, 헌신, 지식)입니다. 이러한 영역이없는 제품 소유자는 프로젝트에 문제를 일으킬 수 있습니다. 그러나 처음에는 폭포 환경 에서이 약어를 들었으므로 나쁜 고객 / 제품 소유자의 고통은 민첩한 상점에만 국한되지 않습니다.
민첩하게 할 수있는 일은 이러한 문제 중 일부를 표면에 가져 오는 것입니다.
예를 들어, XP 문헌은 "고객"이 지식이 있고 팀이 액세스 할 수 있으며 의사 결정 권한이있는 것에 대해 IIRC에 상당히 명시되어 있습니다. "제품 소유자"라는 용어는 어느 정도의 지식, 약속 및 권한을 의미합니다.
제공되는 기능의 대부분이 필수 기능이 아닌 즐거움으로 구성되는 상황에 처한 경우, 작업 소프트웨어 또는 거의 작동하는 소프트웨어를 제공 할 때마다 해당 문제를 제기하는 것이 훨씬 쉽습니다 (원인을 쉽게 파악할 수 있음) 수개월 또는 수년 간격으로 배달하는 것보다 2-3 주가 소요됩니다.
소규모 반복 작업을하고 백 로그를 자주 검토하는 경우 (우선 순위 재검토 포함) 팀이 이전 실수로부터 배울 수있는 기회를 제공합니다. "이것은 지금 정말 중요하다고 생각하지만, 우리가 결국에는 사용하지 않았어야한다고 확신했던 동적 탐색을 기억하십니까?" 다른 사람들이 지적했듯이 모든 것이 미리 계획되어 있다면 그러한 토론은 훨씬 적습니다.
대조적으로, 선행 설계 방법론은 기본적으로 제품 및 기능에 대한 이해가 정적 인 것으로 가정합니다. 그것은 내 경험이 아니었다 : 거의 항상 함께 일할 수있는 무언가를 갖는 것은 사업 사람들의 문제에 대한 이해를 변화시킨다. 따라서 빠른 피드백에 중점을 둡니다. (개발자의 이해도 변경되지만 우선 순위에는 영향을 미치지 않습니다.)
계획 중 일부를 연기하면 비즈니스 요구 사항의 변화에 대응할 수도 있습니다. "당신은 당신이 구축하고있는 웹 사이트를 알고 있습니까? 우리는 운영을 끊을 수있는 모바일 앱이어야합니다." 이것은 특별히 묻지 않은 것이 아니지만 프로세스가 비즈니스 환경의 변화 (적어도 이론적으로)에 대응할 수 있기를 원하지 않습니까?
애자일은 "필수 기능을 구축하지 마십시오"라고 말하지 않습니다. "비즈니스가 어떤 기능 (구체적으로)을 구축할지 결정할 수 있도록 허용"이라고 말합니다.
... 그리고 (똑같이 중요한) "기술자들이 원하는 기능을 구축하는 데 걸리는 시간을 알려줄 수 있습니다".