CBD 방법론
“검증된 컴포넌트를 조립해 개발하는 방법론. 재사용성과 유지보수성을 높인다.”
CBD란 무엇인가
CBD(Component Based Development)는 소프트웨어를 독립적으로 재사용 가능한 부품, 즉 컴포넌트로 조립해 개발하는 방법론이다. 규격화된 모듈을 결합해 개발 생산성을 높이고 유지보수 비용을 낮춘다.
여기서 컴포넌트는 독립적인 기능을 수행하는 최소 조립 단위로, 결제 모듈이나 사용자 인증 모듈이 대표적인 예다.
핵심 가치 · 재사용성과 유지보수성
CBD의 두 축은 재사용성과 유지보수성이다. 이미 검증된 컴포넌트를 재사용하므로 개발 기간이 단축되고 품질이 향상된다.
또한 특정 기능에 문제가 발생해도 해당 컴포넌트만 수정·교체하면 되므로 시스템이 유연하다. 객체(Object)의 연관 관계를 묶은 것이 컴포넌트이며, 여기에 객체지향을 결합한 ooCBD로 발전하는 것이 최근의 흐름이다.
두 방향의 개발
CBD는 일반적으로 계획·준비 → 분석·설계 → 구현·조립 → 테스트 → 유지보수의 단계로 진행되며, 두 활동이 병행된다. 하나는 재사용할 새 컴포넌트를 설계·개발하는 활동(Development For Reuse)이고, 다른 하나는 기존 또는 상용 컴포넌트를 찾아 시스템에 맞게 조립·확장하는 활동(Development With Reuse)이다.
이 두 흐름을 함께 운영해야 재사용의 실질적 효과가 나타난다.
| 구분 | 재사용용 개발 | 재사용한 개발 |
|---|---|---|
| 영문 | For Reuse | With Reuse |
| 활동 | 새 컴포넌트 설계 | 기존 부품 조립 |
| 초점 | 자산 축적 | 조립·확장 |
선제 대응형 방법론
CBD는 재사용을 전제하므로 설계 단계(앞단)에 더 많은 역량을 집중해야 하는 선제 대응형 방법론이다. 역량이 충분히 준비되지 않은 상태에서 도입하면 오히려 진행이 더뎌진다.
결국 직접 적용해 본 만큼만 설계 감각이 쌓인다. 따라서 PM은 보유 자산 중 무엇이 재사용 가능한지(아키텍처, 공통 모듈, 업무 공통 모듈, 테스트 케이스)를 지속적으로 점검해야 한다.
이 자산들은 한 프로젝트에 그치지 않고 오래도록 활용된다.
재사용 자산이 곧 경쟁력
CBD의 성패는 재사용 자산의 축적에 달려 있다. 구현 단계에서 POJO·Proxy·DAO·DTO·Delegate처럼 이미 정제된 패턴을 활용하면 변경 요건에 유연하게 대응할 수 있고, Spring Framework 같은 검증된 프레임워크의 구조를 분석해 두면 재사용 설계의 안목이 생긴다.
CBD는 객체지향과 결합한 ooCBD로, 다시 재사용 단위를 독립 서비스로 분리하는 MSA로 이어진다. 모두 ‘재사용을 위한 선제 설계’라는 같은 뿌리에서 출발한 흐름이다.
패턴으로 문제를 미리 본다
재사용 설계의 안목은 패턴의 이해에서 깊어진다. 검증된 프레임워크의 구조를 분석하면, 직접 부딪히기 전에 어떤 설계가 어떤 문제를 일으키는지 미리 파악할 수 있다.
날것의 구현은 새 기능을 추가할 때 기존 코드를 수정하게 만들어 부작용을 낳지만, 잘 설계된 패턴은 상속과 추상화로 이를 흡수한다. 따라서 CBD를 제대로 적용하려면 작은 시나리오라도 직접 구현해 문제를 경험한 뒤, 그 문제를 해결하는 패턴을 학습하는 순서가 효과적이다.
재사용은 개념으로 아는 것이 아니라 직접 만들고 다듬어 본 만큼 조직의 자산으로 쌓인다.
관련 용어