성공적인 소프트웨어 신상품 개발가이드
품질을 중요시하는 조직문화가 정착된 조직에서는 개발자들이 품질을 자존심으로 생각하여 일정과 예산제약 못지않게 품질에 대해서는 양보하지 않는다. 이러한 조직문화 정착은 쉽지 않다. 왜냐하면 일정지연과 예산초과는 결과가 명확하지만 품질저하는 눈에 보이지 않기 때문이다. 특히 초기 품질저하는 일정과 예산을 핑계로 품질을 희생하는 개발자의 마음속에만 존재하기에 외부에서 파악하기 힘들다.
많은 회사에서 전사 차원의 품질개선 프로그램을 도입하지만, 시작할 때 파워포인트에 담겼던 야심 찬 목표와는 거리가 먼, 형식적인 개선활동으로 끝난다. 그 결과 품질개선활동은 경영층의 립 서비스로 전락하며 심지어 품질을 저하시키는 결과를 초래하기도 한다.
- 조직에서 품질향상을 위한 인프라를 제공한다
<글로벌 소프트웨어를 꿈꾸다, 2010>에서는 프로젝트 수행을 위한 인프라를 조직이 70퍼센트 제공하고 나머지 30퍼센트는 프로젝트 상황에 맞게 개인의 역량을 발휘해야 한다고 주장한다. 또한 그러기 위해서는 조직이 상품개발 프로세스 정립, 코딩의 표준화, 소프트웨어 개발 및 관리 도구 도입, 불필요 문서 최소화 등과 같은 인프라를 제공해야 한다고 강조한다.
조직이 70퍼센트를 제공해야 하는 이유는 프로젝트 성과(납기, 품질, 원가)에 대한 예측 가능성과 균질성을 확보하기 위해서다. 인프라는 말 그대로 기본이다. 인프라 구축이 바로 조직원의 행동으로 내재화되지는 않는다. 인프라를 내재화하기 위해서는 조직과 프로젝트팀이 정의한 규율이 정착되도록 해야 한다. 반복적인 행동을 통해서야 기본이 조직에 내재화된다.
- 주요주제를 선정하여 지속적인 개선활동을 추진한다
품질수준을 향상시키기 위해서는 조직에서 이슈가 되는 개선주제를 선정하여 효과를 볼 때까지 지속적으로 추진해야 한다. 소프트웨어 품질 부문의 대표적인 개선주제는 다음과 같다.
• 개발과 운영조직의 통합관리(DevOps)
• 상품릴리즈 주기 단축
• 견적 신뢰도 제고
• 테스트 자동화 및 테스트 주도 개발
• 코드리뷰
프로세스 개선활동을 할 때 여러 가지 주제를 동시에 조금씩 파헤치는 것은 피해야 한다. 상품개발 프로세스는 여러 가지가 관련되어 있기 때문에, 어느 한 주제라도 제대로 개선할 때까지 밑바닥까지 파헤치다 보면 여러 프로세스를 개선할 수 있다. 이때 중요한 것이 프로세스 개선을 측정할 수 있는 지표이다. 측정지표는 목표달성을 향해 조직을 독려하고 움직일 수 있는 원동력이다. 숫자가 빠진 개선활동은 공허한 구호에 그치기 쉽다.
<카오스 멍키,2017>에서 페이스북의 공개적 코드리뷰 문화를 다음과 같이 설명하고 있다.
“페이스북 엔지니어는 코드리뷰 시스템을 통해서 세상을 보고 업무의 90퍼센트 이상을 해냈다. 엔지니어링부 사람들의 의견을 받기 위해 직접 짠 코드를 코드리뷰 시스템에 올리면 마치 온라인 게시판만큼이나 뜨거운 논란이 오가곤 했다. “
- 우선순위를 분명히 한다
품질을 저하시키는 가장 큰 요인은 납기와 예산이다. 물론 지속적인 성장을 위해서 조직은 ‘싸고, 좋고, 빠르게’의 세 가지 중 어느 하나도 소홀히 할 수 없다. 그러나 품질개선에 실패하는 조직은 품질을 립 서비스로만 강조하고 실제 의사결정시 품질의 우선순위가 뒤로 밀리는 경우가 많다.
프로젝트 팀원들이 납기만큼이나 품질을 중요하게 생각해야 한다. 품질을 중요시하는 마인드가 확산될 때 팀원들은 본인의 업무에 자긍심을 느끼고 결속력 또한 높아진다.
- 프로젝트의 상황 때문에 품질을 희생하지 않는다.
프로젝트의 특수한 상황 때문에 품질을 향상시키기 힘들다고 하는 경우가 많은데, 대표적인 사유는 다음과 같다.
• 잦은 요구사항 변경
• 짧은 납기 및 저 예산
• 급변하는 기술환경
• 팀원의 낮은 기술역량
물론 위의 사유가 품질에 영향을 미치는 것도 사실이고 품질향상을 하기에 보다 적합한 프로젝트 환경은 있을 수 있다. 그러나 현실을 0과 1로 이분법으로 재단해서는 안 된다. 그러면 거의 모든 프로젝트가 0에 가까워진다. 동일한 상황에서 품질향상에 실패하는 조직은 ‘~ 때문에’라는 인식이 팽배해 있고, 높은 수준의 품질을 달성하는 조직은 ‘~임에도 불구하고’의 조직문화를 가지고 있다.