소프트웨어 개발 · SW-16

최신 라이브러리로 바꾼 뒤 빌드가 멈췄다

가상 이야기 · 핵심노트 기반

핵심노트 개념: 의존성 관리 — 외부 코드를 제품의 일부로 취급한다

이 글에서 배우는 교훈

같은 소스에서 같은 결과를 만들려면 사용하는 외부 프로그램의 버전도 관리해야 합니다.

핵심노트를 바탕으로 만든 가상 이야기입니다. 실제 사건이나 검증된 성과가 아닙니다.
근거: 의존성 관리 — 외부 코드를 제품의 일부로 취급한다 · 핵심노트 16

구체적으로는 라이브러리를 설치할 때마다 최신 버전을 받자 빌드 결과가 달라졌습니다. 버전을 고정하고 갱신할 때 변경 내용과 시험 결과를 확인했습니다.

관련 교재 내용

소프트웨어 개발 · XI. 소프트웨어 형상관리 · 기준선과 변경 통제

변경 대상을 식별하고 검증한 기준선에 승인된 변경을 반영합니다.

이 사례에 적용한 내용: 매번 최신 라이브러리를 받던 빌드를 고정 버전으로 재현하고 업데이트를 별도로 검토합니다.

교재 119쪽 확인 →

교재 원리의 실무 적용 · 교재 원문 인용이 아닌 자체 설명입니다.

본문

프로젝트는 설치할 때마다 의존 라이브러리의 최신 버전을 받았습니다. 새 버전의 동작 변경으로 같은 소스를 다시 빌드해도 결과가 달라졌습니다.

팀은 사용 버전을 고정하고 업데이트를 별도 변경으로 검토했습니다. 변경 설명과 핵심 기능 시험을 확인한 뒤 버전을 올렸습니다.

결론

재현 가능한 환경이 있어야 업데이트의 영향을 구분할 수 있었습니다. 최신 버전을 쓰는 것과 검증 없이 버전을 바꾸는 것은 다릅니다.