다섯 살도 알 수 있게 · SW공학
제품계열(Product Line) 방법론이 뭐예요?
여러 지역판 가이드북을 하나의 공통 틀에서 빠르게 찍어내는 이야기예요.
지역판마다 가이드북을 처음부터 새로 써요.판이 늘어날수록 반복되는 일도 늘어나요.
겹치는 챕터도 매번 새로 쓰다 보니 설명이 달라져요.매번 새로 쓰면 느리고, 판마다 품질도 들쭉날쭉해져요.
제품계열 = 공통 챕터는 한 번만 만들고, 다른 부분만 바꿔 끼우는 거예요.서가의 핵심 자산을 가져다 쓰니, 처음부터 쓸 때보다 각 판이 빨리 나와요.
핵심 자산 모으기겹치는 챕터부터 한 곳에
가변점 표시하기판마다 달라질 자리만 콕 집어
빠르게 파생하기자산 + 가변점 = 새 판
자산도 버전 관리서가 자체도 계속 고쳐나가요
가이드북 내용은 둘로 나뉘어요 — 모든 판 공통 부분과 판마다 다른 가변점.공통 챕터는 한 번만 쓰고, 판마다 다른 내용은 가변점에만 넣어요.
제품계열에도 대가가 있어요: 핵심 자산을 먼저 잘 설계해야 해요.핵심 자산 설계를 잘못하면 모든 판을 함께 고쳐야 해요.
한 줄로
제품계열(Product Line) 방법론 = 공통된 핵심 자산을 모아두고, 가변점만 바꿔서 여러 제품(판)을 빠르게 파생시키는 개발 방식.
도메인 분석을 통해 제품군의 공통점과 차이점을 미리 식별하고, 공통점은 핵심 자산 저장소에, 차이점은 가변점으로 설계해 둡니다. 새 제품은 핵심 자산을 재사용하고 가변점만 구체화해 만들기 때문에, 같은 계열 제품을 여러 개 낼수록 개발 속도와 일관성이 올라가요.
어른들은 이렇게 불러요
- 제품계열(SPL)
Software Product Line - 공통 틀에서 여러 판을 찍어내는 개발 방식. 도메인 공학이 바탕이에요.
- 핵심 자산
Core Asset - 모든 판이 공유하는 서가. 한 번 만들어 계속 재사용해요.
- 가변점
Variation Point - 판마다 달라지는 자리. 여기만 바뀌면 새 판이 나와요.
- 도메인 공학
Domain Engineering - 제품군의 공통점과 차이점을 찾아 핵심 자산까지 만드는 작업. 그 자산으로 각 제품을 만드는 애플리케이션 공학과 짝을 이뤄요.
- 재사용
Reuse - 서가에서 꺼내 쓰는 것. 제품계열의 핵심 이득이에요.
- 개발방법론 테일러링
Methodology Tailoring - 규칙집에서 필요한 것만 고르기. '맞춤'을 다루는 자매 개념이에요. → 책마다 다른 편집 규칙
- 결합도/응집도
Coupling/Cohesion - 챕터끼리 얼마나 얽혀있나. 핵심 자산이 잘 나뉘었는지 재는 잣대예요. → 챕터가 서로 얼마나 엮여있나
- 형상관리
Configuration Management - 핵심 자산 버전을 지키는 서가 관리. 가변점을 관리하는 바탕이 돼요.
다음 이야기
규칙을 지켰나, 책이 맞나 →