
76
1부
역학
[그림
3
-
11
]에서 공급자팀은
C1
과
C2
에게 정보를 제공한다. 제공 형식은 일반적으로
JSON
처럼 경량 데이터를 선택하는 경우가 많다. 소비자 주도 계약에서 정보 소비자는 공급자로부
터 받을 정보를 캡슐화하고 테스트 형태로 취합해 공급자에게 제공한다. 공급자는 이러한 테스
트가 항상 통과되도록 시스템을 유지할 것을 약속한다. 테스트는 소비자가 필요로 하는 정보를
다루기 때문에 공급자는 이러한 피트니스 함수를 해치지 않는 선에서 시스템을 발전시켜야 한
다. [그림
3
-
11
]에 보이는 시나리오에서 공급자는 자신들의 테스트 모음까지 총 세 소비자의
테스트를 실행한다. 이러한 피트니스 함수 사용 기법을 비공식적으로
엔지니어링 안전망
이라
부르곤 한다. 이렇듯 통합 규칙의 일관성을 피트니스 함수를 통해 손쉽게 유지할 수 있는 상황
이 되면 더 이상 수작업에 의지하지 말아야 한다.
진화적 아키텍처의 점진적 변화에 내포된 암묵적인 전제 중 하나는 개발팀의 엔지니어링 성숙
도다. 소비자 주도 계약 기법을 사용한다 해도 빌드 중단 기간이 며칠이나 지속된다면 더 이상
통합 지점의 유효성을 보장할 수 없다. 피트니스 함수가 엔지니어링 관행으로 정착되면 많은
개발자의 고단한 수작업이 줄어든다. 그러나 이러한 혜택을 누리려면 개발자의 능력이 일정한
성숙도에 도달해야 ...