Chapter 26 옵션
- ‘옵션’
- 옵션은 ‘선택’의 의미를 내포
- 금융 업계의 옵션을 소프트웨어 설계 결정에 투영할 수 있다.
- 당장 모든 비용을 ‘동작 변경’에 투자하는 대신 ‘선택 가능성’을 유지하는 일을 제안하는 격
- 저자 켄트 백이 옵션을 통해 배운 교훈
- ‘다음에 어떤 동작을 구현할 수 있을까?라는 질문은 구현하기 전에 그 자체로 가치가 있다.
- 동작 후보 목록이 많을수록 더 가치가 있다.
- 어떤 항목이 가장 가치 있을지는 구현할 수 있는 옵션을 계속 열어두는 한 신경 쓸 필요가 없다.
- 가치에 대한 예측이 불확실할수록 구현하는 것보다 옵션이 지닌 가치가 커진다.
- 바로 구현하는 것보다 변화를 포용하면 창출할 가치를 극대화 가능
- 소프트웨어 설계는 변화를 위한 준비로 동작 변경에 대한 준비다.
- 오늘 우리가 하는 설계는 내일의 동작 변경을 ‘구매’하는 ‘옵션’에 대해 지불하는 프리미엄이다.
- 옵션을 만드는 것과 동작을 변경하는 것의 균형을 맞춰야한다.
- 잠재적 동작 변경의 가치가 변동성이 클수록 더 좋다.
- 개발 기간이 길면 길수록 좋다.
- 물론 앞으로 더 저렴하게 개발할 수 있음 좋겠지만 그것은 가치의 극히 일부분
- 더 작은 설계 작업으로 옵션을 만들 수 있다면 더 좋다.