따라하기 쉽지 않았던 Automotive SPICE


DO-178C를 좀 보다가 과거에 아쉬웠던 부분이 생각나서 좀 적고자 한다. HCA 프로젝트를 할 때의 이야기를 좀 하자면, 그 당시 Base practice를 어떻게 구현할지에 대해서 고민이 많았는데, 특히 Software를 Architecture를 설계하고 Unit design을 설계하고 그들간의 추적을 하라는 부분이었다.

솔직한 고백을 하자면,Requirement로부터 Architecture를 추적한다는 것이 일반적인 방법론같은 것으로 하는 것은 좀 어려웠다. 나름 customizing에 의해서 고객맞춤형이 되어야 할 필요가 있었다. 종종 단일 사이즈로만 나와서 알아서 입으라는 식으로 판매되는 옷도 있지만,  이건 좀 그렇게 하기 어려웠다.

하지만, 약간의 가정과 전제사항을 기반으로하여 구현하기 위한 방안을 수립했다. 그리고 컨설팅 때 그것을 설명했다.

나의 가정과 전제사항은 당연히 그 회사의 아키텍처와는 맞지 않았고, 자연스럽지는 않았다. 내가 설명한 부분에 대해서 다들 이해하고 있는 것 같은 인상을 나에게 주었지만, 내가 봤을 때 그들이 하는 문서화를 봐서는 이해하고 있다고 생각되지 않았다.

DO-178C의 소프트웨어 개발의 방법론과 ISO26262 혹은 Automotive SPICE의 방법론은 좀 차이가 있다. 같은 듯 보이지만, 디테일 하게 들어가면 상당한 차이가 있다. 그 중 하나가 설계와 구현시 추적관련 실행 및 테스트 케이스에 대한 것이다.

소프트웨어 아키텍처? 중요하긴 하다. 아키텍처를 어떻게 잡느냐에 따라서 소프트웨어의 여러 품질 속성을 지킬 수도 있고, 지키지 못하고 난잡하게 되는 것을 막을 수 없게 되기도 한다. 문제는, 소프트웨어 요구사항이 아키텍처 설계와 추적관리를 한다거나 설계로부터 단위설계 및 구현 및 단위 시험의 부분이 좀 부자연스럽다는 것이다.

어떤 점에서일까?

사실, A-SPICE의 활동들은 억지로 하라고 하면 할 수는 있다. 고객이 원한다는데 못할 이유가 있겠는가? 그렇게 해야 납품하는 것을 허락하겠다는데, 어쩔 수 없지 않은가? 그런데, 소프트웨어의 개발방식이 단위 설계까지 한다는 것이 사실 그닥 자연스럽지는 않다는 것이 내 생각이다.

이 얘기를 공식석상에서 이야기를 하니까, 누군가 나에게 이런식으로 얘기를 하더라.
“잘 모르시는 것 같은데, 이 분야에서는 다들 그렇게 하고 있어요”

못한다는 것을 말하고 싶은 것이 아니라, 그런식을 하는 것이 자연스러워 보이지는 않는다는 것이 내 말의 의미이다. 너무나도 작위적이고 부자연스럽다는 말이다. 그렇게 하라고 하면 못하는 건 아니다. 다만 너무 불편한 느낌이다.

그런식의 프로세스는 리팩토링 같은 것은 생각할 수 없다. 그런 활동 자체가 용납이 되지 않는 프로세스라고 생각된다. 그리고 기본적으로 waterfall style의 개발 활동이 아닌가 생각한다. (waterfall이나 v나 도찐개찐이라고 본다면 말이다.)

식사를 할 때 절도있게 식사를 해야 하며, 팔은 직각상태를 유지해야 한다는 규칙을 준수하고 식사를 해야 하는 상황과 비슷한 느낌이다. 뭐 그렇게 밥을 못 먹겠느냐만은 상당히 불편하고 우스꽝스러운게 사실 아닌가? (물론 개인적 취향에 따라 다를 수 있다.)

내가 이 글을 올리면 그렇지 않다고 항변할지도 모르겠다. 내 대답은 “사람마다 style이 다른 거니까 편할대로 하면 되니 그게 편하면 그렇게 하세요” 이다. 다른 사람이 볼땐 팔을 직각으로 한 채로 식사를 하는 것이 편할 수도 있지 않겠는가? 어쩌면 A-SPICE의 base practice가 정말 편한사람이 있을지도 모른다. 누구는 난 군대체질이라고 말 하는 사람이 있고, 아닌 사람이 있듯이..

A-SPICE를 하는 목적이 좋은 제품 잘 만들어보자고 하는거니까, 몸에 맞으면 다행이고, 안 맞으면 뭐 굳이 하나하나 다 따라해야 할 필요는 없지 않을까 싶다.

핵심은 목표(빠른 납기, 높은 생산성, 최적의 품질, 높은 고객 만족 등등의 조합)를 달성하기 위한 여러 좋은 사례들 중에 자신이 맞는 것을 선택해서 하는 것일 것이다. 그런점에서 silver bullet은 없다고 생각한다. customizing이 필수적. 하지만 실제 컨설팅 현장 가서 그런소리 하면 준비안해왔다고 고객이 화를 낸다는…

 

 

 

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중