과제 내비야(Navya)의 주요 과제는 빠르게 성장하는 조직에서 제품 개발 복잡성을 처리하는 것이었습니다. 불충분한 도구(Git, 스프레드시트, Jira 및 기타 플랫폼의 혼합)와 도구 간의 부조화로 인해 추적 가능성 달성이 어려워 개발 팀의 속도가 저해되었습니다.


내비야(Navya) 소개

내비야(Navya)는 자율 주행 시스템 개발을 전문으로 합니다. 2014년에 설립되어 프랑스 리옹에 본사를 두고 있는 이 회사는 프랑스와 미국 사업장에서 280명 이상의 직원(이 중 140명은 엔지니어 및 기술 전문가)을 고용하고 있습니다. 내비야(Navya)는 상용 자율 주행 셔틀을 출시한 세계 최초의 회사입니다. 2015년 9월에는 이 회사 최초의 완전 자율 주행 무인 전기 AUTONOM® SHUTTLE이 퍼스트 마일 및 라스트 마일 여객 운송 솔루션으로 출시되었습니다.

내비야(Navya) 버스 앞의 남자

문제: 애자일 및 ISO 26262 준수

2018년 초 내비야(Navya)의 주요 과제는 빠르게 성장하는 조직에서 제품 개발 복잡성을 처리하는 것이었습니다. 애자일의 유연성과 V 모델의 엄격함 사이에서 균형을 유지하면서 안전 의무를 준수할 수 있는 방법이 필요했습니다.  

이 시기는 이 회사의 스타트업 시대였습니다. 개발 팀에는 제품 사양을 관리할 시스템이 없었고 개발이 진행되는 동안 요구 사항이 고정되지 않았습니다. 소프트웨어 팀은 애자일을 사용했고, 각 팀은 자체 백로그를 관리했습니다. 팀 간의 동기화가 충분하지 않았고, 따라야 할 절차가 없었으며, 개발 프로세스에 대한 가시성이 없었습니다. 이 모든 것은 모빌리티 산업의 기능 안전을 관리하는 엄격한 규제 요구 사항과 충돌할 수밖에 없었습니다.

Codebeamer로 전환하기 전에 내비야(Navya)의 개발 팀은 다른 많은 조직의 도구 세트와 유사한 다양한 도구를 사용하고 있었습니다. 코드 버전 관리에 Git을 사용했으며, 수동으로 업데이트된 스프레드시트, Jira 및 지속적으로 증가하는 문서 저장소의 조합에 의존하여 개발 활동을 파악했습니다.

내비야(Navya)의 팀은 성장 중이었고 제품 복잡성은 제어하기 어려운 수준에 가까워진 상황에서, 개발 효율성에 부정적인 영향을 미칠 수 있는 위험이 확인되었습니다. 팀은 상황이 운영에 영향을 미칠 정도로 악화될 때까지 기다리지 않았습니다. 방법론적 변화가 필요하다는 것은 명백했습니다.


자율 개발에서의 안전 및 규제 준수

내비야(Navya)는 안전에 중요한 여러 하위 시스템을 갖춘 자율 주행 제품을 개발합니다. 정부 기관이 자율 시스템에 대한 규정을 제공하는 데 제품 개발업체보다 뒤처져 있는 만큼, ISO 26262는 여전히 내비야(Navya)가 기능 안전을 보장하기 위해 준수해야 하는 가장 중요한 규제 요구 사항입니다.

프로세스 관점에서 개발 팀은 제품 사용 사례를 기반으로 높은 수준의 위험 분석을 실행합니다. 이 내용은 시스템 요구 사항으로 전달되며, 이러한 요구 사항은 필요한 하위 시스템 및 구성 요소로 전파됩니다. 기능 및 역기능 요구 사항을 검증하기 위해 팀은 기능 또는 시뮬레이션 수준에서 테스트를 수행하여 통제된 환경에서 소프트웨어 시스템에 스트레스를 가한 다음 대표 환경의 시스템 수준에서 테스트를 수행합니다.

이러한 모든 테스트를 통과한 후 제품의 유효성이 검사되고 배포될 수 있지만, 이 모든 작업을 수행한 후에도 내비야(Navya) 팀은 제한된 수의 고객을 대상으로 하는 더 소규모의 통제된 배포부터 시작합니다. 여기에서 성공을 거두면 새로 개발된 솔루션을 나머지 차량군에 배포합니다.

"프로세스는 소프트웨어가 안전 규정을 준수하도록 하는 핵심 요소 중 하나입니다. 당연히 ISO 26262 준수를 보장하는 것이 우리의 주요 목표입니다. 이 측면에서 Codebeamer에는 서로 다른 사양 수준 간에 필요한 추적 가능성을 제공하는 기능이 포함되어 있습니다." -제품 개발 책임자, 내비야(Navya)
 
 

유연성을 고려한 ALM 도구 평가  

2018년 7월 내비야(Navya)는 응용 프로그램 라이프 사이클 관리 솔루션 선택을 위한 소싱 프로세스를 시작했습니다. 개발 프로세스를 공식화해야 할 필요성이 커짐에 따라 탐색 작업은 상당히 빠르게 진행되었습니다. 정보에 입각한 결정을 내리기 위해 팀은 여러 도구의 기능을 분석하고 여러 공급업체와 논의를 시작했습니다.

내비야(Navya) 팀이 평가의 일환으로 찾고 있던 주요 요소는 다음과 같습니다.  

  • 다양한 유형의 객체를 사용자 정의하고 엔드 투 엔드 추적 가능성 확보를 위해 객체 간의 링크를 설정하는 기능  
  • 빠르게 성장하는 혁신적인 애자일 환경에서의 사용 편의성
  • 협업 지원 및 사용자가 도구 내에서 상호 작용할 수 있는 기능 
  • 지속적인 개선을 지원하기 위해 시스템을 발전시키고 조정할 수 있는 유연성과 능력
  • 팀의 요구 사항이 지속적으로 변경된다는 점에 따른 구성 용이성
  • 최적의 ROI를 위한 가격 책정 모델 

 

소프트웨어 개발 자체와 마찬가지로 내비야(Navya)의 개발 팀은 ALM 환경을 구축할 때 애자일 접근 방식을 취했습니다. 프로세스의 기본적인 애자일 패턴에 따라 점진적으로 진행하여 솔루션이 진화하는 요구 사항에 맞는지 확인하기를 원했습니다. 팀은 작업 환경을 지속적으로 개선하여 최대의 효율성을 추구했습니다. 따라서 유연성은 내비야(Navya)의 핵심 요구 사항이었습니다. 최종적으로 선택할 도구는 완전한 애자일 사고 방식에 적응하고 지원할 수 있어야 했습니다.

평가 프로세스를 수행한 후 내비야(Navya)는 지멘스(Siemens) Polarion 및 기타 도구가 포함된 최종 후보 목록으로 탐색 범위를 좁혔습니다. 유연성이 절실히 필요했던 만큼 최종적으로 Codebeamer가 낙점을 받았습니다.

"환경을 설정하고 주변에서 발전하는 객체에 대해 유연하게 대응할 수 있는 Codebeamer의 유연성이 최종 단계 결정의 주요 이유였습니다."

 

내비야(Navya)는 2018년 8월에 몇 개의 라이선스를 구매했으며, 계속해서 사용자 수를 점진적으로 확장했습니다. 2019년 내비야(Navya)의 Codebeamer 사용자는 120명이었고 내년에는 200명으로 늘어날 계획입니다.

자체적인 롤아웃 및 교육

내비야(Navya)는 이전에 개발 도구를 대규모로 롤아웃해 본 경험이 없었기 때문에 Codebeamer가 선사한 성공과 수요 증가를 예상하지 못했다고 합니다. 전반적으로 내비야(Navya)는 도구가 빠르게 채택되었으며 사용자를 교육하는 데 필요한 노력이 거의 들지 않았다고 보고했습니다.

첫 번째로, 목표는 소프트웨어 버그 관리에 플랫폼을 사용하는 것이었고, 이 플랫폼은 곧 소프트웨어 팀의 사용자 스토리 및 에픽 관리로 확장되었습니다. 내비야(Navya)의 시스템 사용 경험에서 놀라운 부분은 하드웨어 팀이 이 도구를 채택했을 때 드러났습니다.

한동안 Codebeamer를 사용해 왔기 때문에 제품 팀에서는 이 도구의 사용을 하드웨어 개발로 확장하는 것이 자연스럽다고 느꼈지만, 하드웨어 엔지니어들이 Codebeamer를 소프트웨어 전용 도구로 인식하는 바람에 엔지니어들의 저항에 부딪혔습니다. 하지만 Codebeamer가 하드웨어 문제를 관리하고 복잡성을 줄일 수 있다는 사실이 곧 분명해졌고, 하드웨어 팀의 동의가 확보되었습니다.

교육 측면에서 내비야(Navya)는 하이브리드 접근 방식을 취했습니다. 즉, 정식 교육을 마련해 두기는 했지만 엔지니어가 도구를 "자유롭게 활용"해 보도록 하는 편이 더 가치가 있다고 생각했습니다. Codebeamer를 구성하는 것이 얼마나 쉬운지 알게 된 내비야(Navya)는 많은 팀에 관리자 권한을 나눠 주어 이 도구를 유기적으로 사용할 수 있도록 하기로 했습니다.

이 접근 방식은 양날의 검이었습니다. 엔지니어가 플랫폼을 사용하고 구성하는 데 능숙해진 반면, 내비야(Navya)의 개발 팀은 결국 함께 작동할 수 없고 유지 관리되지 않는 수많은 이질적인 구성 요소를 떠안게 되었습니다. 이 문제를 해결하기 위해 내비야(Navya)는 플랫폼 사용에 대한 체계적인 접근 방식을 유지하고, 구성 요소를 분리하고, 공유 프레임워크하에서 재통합하는 업무를 담당하는 팀을 구성했습니다.

"우리는 배포 전에 여러 교육 세션을 실시했으며 향후 변경 사항에 대해 여러 프레젠테이션과 모든 종류의 커뮤니케이션을 수행했습니다. 하지만 솔직히 말해서 사용자들이 서로를 유기적으로 교육할 수 있도록 하는 것만으로도 훨씬 더 큰 성공을 거두었습니다." 

 

 
내비야(Navya) 버스 내부
문이 열린 내비야(Navya) 버스
 

통합 ALM의 이점 

Codebeamer로 전환한 후 내비야(Navya)는 크게 프로세스의 투명성, 명확성 및 일관성이라는 이점을 얻었습니다.

"복잡성을 관리하는 데 도움이 되는 올바른 도구를 회사에 제공하는 것은 혁신을 다음 단계로 나아가는 데 도움이 되는 원동력입니다." 바로 이 부분에서 올바른 도구를 사용하는 것이 진정한 차별화 요소가 될 수 있습니다."
 

 

Codebeamer를 구현하기 전에 내비야(Navya)의 팀은 제품의 다양한 기능적 측면에 대해 사일로에서 작업했습니다. 이들의 활동에 대한 가시성은 제한적이었고, 팀이 복잡성을 처리할 수 있는 시스템 수준의 시야를 마련하기도 어려웠습니다.

Codebeamer를 사용하면 요구 사항부터 검증에 이르기까지 모든 종류의 부산물 간에 링크를 통해 개발 활동에 대한 엔드 투 엔드 시야를 확보할 수 있습니다. 종속성을 쉽게 추적할 수 있으며, 공통 기반 정책은 코딩 품질을 표준화하는 데 도움이 됩니다. 팀은 진행 상황과 다양한 상위 수준의 측정 기준을 쉽게 모니터링하여 중점 영역을 측정할 수 있습니다. 이를 통해 문제 영역을 파악하여 지속적인 개선을 촉진할 수 있습니다.

"Codebeamer는 매우 복잡한 제품 개발에 필요한 모든 종류의 객체를 연결하고 관리할 수 있는 단일 인터페이스를 제공했습니다. 이 플랫폼을 사용하면 사용자 친화적이고 매우 유연한 환경에서 회사의 모든 기능을 일관된 방식으로 연결하여 이 작업을 수행할 수 있습니다."
 

ALM은 높은 수준의 요구 사항에서 유연한 아키텍처를 거쳐 최종 테스트로 돌아가는 추적 가능 링크를 통해 내비야(Navya) 개발 노력의 규제 준수 측면을 원활하게 만드는 데 도움이 되었습니다. 이를 통해 내비야(Navya)의 팀은 필요한 검증 단계와 규제 준수 검사를 수행할 수 있습니다. Codebeamer로 전환하기 전에는 이러한 프로세스에 특정 도구를 사용하지 않았는데, 내비야(Navya)는 이 플랫폼을 사용하면서 팀의 효율성에 긍정적인 영향을 미쳤다고 보고했습니다.  

플랫폼의 유연성과 플랫폼이 제공하는 모든 이점을 고려할 때, 내비야(Navya)가 현재 조직에서 Codebeamer를 채택할 새로운 방법을 조사하고 있는 것은 놀라운 일이 아닙니다.

"우리의 작업 방식이 지속적으로 개선되고 있는 만큼, Codebeamer의 진정한 잠재력에 대한 탐구는 아직 끝나지 않았습니다. 우리는 이 도구의 사용을 회사의 다른 영역으로 확장하고 있습니다. 이 프로젝트는 개발 복잡성을 다루기 위해 시작되었지만, 이제는 개발 티켓팅, 위험 관리, 기업 관리, 프로젝트 관리, 제품로드맵 관리와 같은 회사의 모든 활동을 관리하는 데 중점을 두고 있습니다."