YAGNI
You Aren't Gonna Need It
From: 뷰티풀 아키텍처
계획 도시 아키텍처의 품질을 확실히 향상시킨 XP 원칙 중 하나는 YAGNI(필요하지 않는 것이면 아무것도 하지 말라, don't do anything if You Aren't Going to Need It)'였다. 초기에는 중요한 것들만 설계하고, 다른 결정들은 훗날 실제로 필요한 요구사항과 이들을 시스템에 적용시킬 수 있는 최선의 방법에 대한 확실한 그림을 그릴 수 있을 때까지 연기하도록 장려했다. 이는 매우 막강하고 자유로운 설계 접근법이다.
- 아직 이해하지도 못하는 것을 설계하는 것은 최악의 행동이다. YAGNI는 문제의 실체를 정확히 알고, 이 문제를 설계에 어떻게 수용해야 하는지를 알 때까지 기다리는 것을 강조한다. 이는 추측을 배척하고, 설계의 정확성을 보장하게 하였다.
- 소프트웨어 설계 초기에 여러 가지 기능을 통합하거나 필요하게 될지도 모르는 모든 기능들을 추가하는 것은 위험한 일이다. 이렇게 만들어진 설계에 들어간 대부분의 노력이 헛된 일이 될 수 있고, 이렇게 만들어진 소프트웨어를 지원해야 하는 추가적인 일을 만들어낼 것이다. 뿐만 아니라 초기 비용도 더 많이 들어가며, 프로젝트의 수명이 끝날 때까지 계속적으로 비용이 투입된다. 1
참고문헌
- 뷰티풀 아키텍처 / 디오미디스 스피넬리스, 지오지아스 고시아스 엮음 / 황재선 옮김 / 지앤선(志&嬋) / 발행: 2010년 03월 8일
주석
-
뷰티풀 아키텍처. 2장. 50쪽. ↩