Automotive

차량 소프트웨어 개발 변형 (Variant) 관리

chbae 2023. 4. 23. 14:52
728x90

최근 Configuration Management 관련 일을 추가로 하게 되어 Variant Management 관련 업무를 진행하고 있다. 필자의 업무 환경은 Infortainment와 Cluster 로 한정되어 있어 이 기준으로 간략하게 풀어나가고자 한다.

 

 

우선 Variant의 정의부터 살펴보면 아래와 같다.

  • HW Sample: 일반적으로 A,B,C,D Sample이 있고 HW Revision이라고 보면 된다. https://www.youtube.com/watch?v=k_2ELJd3Uuc 에 간단한 설명이 있으니 참고하시 바란다.
  • Car Line: Entry, Mid, Premium (회사마다 다름) 등으로 구분된 차량 라인
  • Region: 지역 (유럽, 아시아, 북미 등등)
  • Product: Infortainment, Cluster, RSU (Rear Seat Unit)

OEM 마다 Variant 의 정의와 각 Variant 내에서 구분이 다르니 이점은 참고하기 바란다.

 

기본적으로 하나의 소프트웨어 번들을 가지고 내부 설정에 따라 동적으로 변경할 수 있도록 전체 Variant를 관리하는 것을 필자는 추천하고 가능하면 프로젝트에서 그렇게 하도록 가이드를 하고 있다. 하지만 라이선스, Variant 별 다른 SoC 사용 등 부득이한 사정으로 인해 Variant 마다 다른 소프트웨어 번들을 사용하는 경우가 많다. 이렇게 하더라도 소프트웨어 번들을 최소화 하는 것을 권장한다.

 

일반적인 상식선에서 간단히 이야기를 하였으나, 실제 이렇게 진행하려면 Tier 들과 많은 의사소통을 통해 업무를 진행해야한다. 요구사항과 빌드 구조 및 CI/CD까지 .... 더 자세히 이야기하고 싶지만 회사 일이라 여기까지 ...

 

이 일을 하려면 전체적인 큰 그림으로 프로젝트를 바라보며 진행해야한다. Overall Architecture, 각 Subsystem Architecture, Subsystem별 빌드 구조 및 개발 프로세스, Subsystem 및 통합 CI/CD 까지 알아야할 것이 너무 많다. 덕분에 구체적이지는 않지만 전체적인 큰 그림에서 프로젝트를 바라보고 있다.

 

Reference