#20. [개발 원칙] 불완전성의 허용(Tolerance for Imperfection)
불완전성의 허용은 아키텍처는 완전할 수 없으니 다양한 문제에 균형을 유지하라 라는 원칙입니다.
소프트웨어 아키텍쳐는 모든 것이 트레이드 오프입니다.
개발 일정 - 품질 완성도 - 향후 유지보수성 - 안정성 - 기능성 - 사용성 - 속도 성능 - 요구사항 변경 간에 다양한 트레이드 오프(아키텍처 제 1원칙) 가 있습니다.
기본적으로
- 아키텍처 민첩성 원칙을 준수합니다.
- 시스템의 가장 중요한 요소 해결을 위한 요구사항과 제약 조건을 도출하여 설계합니다.
그후에,
- 특정 요구사항, 제약조건을 해결하기 위한 다양한 접근 방식의 이점과 단점을 평가합니다.
- 개발 일정, 품질 완성도, 향후 유지보수성, 안정성, 기능성, 사용성, 속도 성능과 타협합니다.
- 왜 이런 구조가 선택(아키텍처 제 2원칙) 되었는지 기록합니다.
댓글남기기