답변:
아이디어는 필요하지 않은 작업, 즉 " 완료 되지 않은 작업량을 최대화"하는 것을 피하는 것 입니다.
따라서 전통적인 프로젝트에서 나중에 가능한 모든 요구를 충족시킬 수있는 훌륭한 추상 기본 시스템을 계획하고 구축한다면,이를 건너 뛰고 현재 요구 사항에 대해 가능한 가장 간단한 것을 구축하면 됩니다. 필요없는 물건을 만들지 마십시오.
YAGNI 는 관련 개념입니다.
우리는 이것을 "골드 도금"이라고 불렀습니다. 망치에 대한 요구 사항은 못을 나무 조각에 부딪 칠 수 있다는 것입니다. 금도금 망치로 더 잘 작동하지 않습니다.
많은 경우 개발자는 새로운 멋진 프레임 워크를 사용하거나 시원하지는 않지만 기능을 추가 할 것을 제안합니다. 우리는이 아이디어를 적어 두 겠지만이 버전에서는 그렇게하지 않을 것입니다. 우리는 수행하지 않은 작업을 극대화 할 것입니다. 소프트웨어를 정시에 제공하는 것은 어렵 기 때문에 필요한 것보다 더 많은 코드를 제공하지 마십시오. 완료해야 할 경우 결국 계획에 들어가 적절한 시간에 완료됩니다.
이 아이디어는 Toyota Production System (TPS) 의 개념과 매우 유사 하여보다 일반적인 Lean Manufacturing 을 도입 한 다음 이러한 기술을 Lean Software Development에 적용했습니다 . TPS는 1950 년대 후반 제조에 뿌리를 둔 민첩한 움직임을 크게 앞섭니다.
수행되지 않은 작업량을 최대화하는 개념은 폐기물을 제거하는 것과 유사합니다. 제조 환경에서 폐기물에는 제품의 과잉 생산, 자원 대기, 불필요한 사람이나 제품의 이동, 너무 많은 재고 및 결함있는 제품이 포함됩니다. 린 소프트웨어 개발 (Lean Software Development)에서 이러한 낭비는 불필요한 기능, 개발 프로세스 지연, 소프트웨어 생산 속도를 늦추는 불확실한 요구 사항, 테스트 부족 및 통신 지연으로 변환되었습니다.
두 개념의 전반적인 아이디어는 동일합니다. 가치를 추가하지 않는 것은 낭비이며 최소화해야합니다. 궁극적 인 목표는 품질을 높이면서 생산 시간과 비용을 줄이는 것입니다.