2017년 2월 8일 수요일

SI 프로젝트의 애자일 적용 사례 연구 - 프로세스


애자일에 대한 관심도가 높아지던 2000년 중반 이후부터 전통적인 프로세스를 사용하는 경우가 많은 SI 프로젝트에 애자일 프로세스를 적용하는 사례가 늘어나기 시작했다. 프로젝트 초기에 정해진 계약과 고객의 요구사항에 맞춰 개발하기 위해서는 전통적인 프로세스를 따를 수 밖에 없어 애자일을 일부 적용한 정도로는 실패할 수 밖에 없었다. 최근에는 SI 프로젝트에도 애자일을 좀더 많이 적용하려는 노력이 많아지는데 SI의 한계로 인해 많이 지친 것이 사실이다. 이번 회에서는 애자일을 SI 프로젝트에 적용하기 어려운 이유를 살펴보면서 돌파구를 찾아보고자 한다.
SI 프로젝트에 애자일 적용 방안

SI 프로젝트 vs. 애자일

SI 프로젝트는 프로젝트를 시작하는 시점에 모든 환경이 계약에 의해 정해져 있다. 프로젝트 범위, 기간, 심지어는 만들어야 하는 기능까지 정의된 경우도 있다. 반면에 애자일은 프로젝트를 하면서 정의해 나간다. 이러한 이유로 SI 프로젝트는 전통적인 소프트웨어공학에 기반한 프로세스에 가까워 계획적이고 정적인 환경이고, 애자일은 조정이 가능하고 동적인 환경으로 구성된다(그림1).

<그림1> SI 프로젝트와 애자일의 적용 환경 비교
출처: Agile projects and the project context

SI 프로젝트에 애자일을 적용하기 어려웠던 가장 큰 이유는 계약 관계에 있는 고객의 요구사항이 초기에 정해졌다는 것 때문이었다. SI 프로젝트는 모든 프로세스가 고객이 요청한 요구사항을 중심으로 움직이기 때문에 그림1에서 나타난 것처럼 애자일의 장점인 계획을 조정하거나(Adaptive) 동적인 환경(Changing environment) 구성을 활용할 수가 없었다. 해외 사례를 보면 계획 조정에 의해 프로세스나 기간 등이 함께 수정되는 경우가 있어 애자일 적용에 문제가 발생할 확률이 낮지만 우리나라는 최초 계약이 변경되는 경우가 매우 드물다.
여러모로 전통적인 개발 프로세스의 개선 효과를 가지고 있는 애자일을 포기할 수는 없기 때문에 요구사항 정의, 분석, 설계, 개발, 구현으로 구성된 전통적인 프로세스에서 개발과 관련 있는 분석, 설계, 개발 단계에만 적용하게 되었다(그림2). 고객과 관련이 없는 부분만 적용하기 때문에 큰 무리가 없을 것으로 당시에는 판단되었다.


예방 중심의 품질 관리

사후에 고치는 것보다는 당연히 예방이 중요하다는 것은 당연한 것인데 크게 고민 안했던 것도 사실인 것 같네요. 예방 중심으로 변하면서 고려해야 하는 것은 무엇이 있습니까?

이전에는 검사를 하는 것에 집중하다 보니 검사를 하는 사람 중심으로 품질 관리가 이루어졌습니다. 우리가 잘 아는 QA(Quality Assurance), QAO(Quality Assurance Office), SQA(Software Quality Assurance)라 불리는 활동이나 사람이 그 것이죠.
예방 중심으로 변화가 되면 누구나 품질에 대해 고민하고 조심해야 합니다. 바로 총체적 품질(Total Quality)입니다. 프로젝트에 있는 사람은 누구나 모든 개발 단계에서 참여하는 것입니다. 크게 품질 제어하는 부분(Total Quality Control)과 품질 관리하는 부분(Total Quality Management)으로 나눌 수 있습니다(그림4).


<그림4> TQC와 TQM
출처: http://takuminotie.com/blog/quality/tqctqmqc%E3%82%B5%E3%83%BC%E3%82%AF%E3%83%AB/


TQC는 말 그대로 소프트웨어 사용자가 만족할 때까지 소프트웨어의 품질을 지속적으로 향상시키는 것이고, TQM은 TQC가 원활히 동작할 수 있도록 업무수행 방식과 조직운영 방식을 정하는 것입니다. 정리해서 말하면, 조직의 모든 구성원들이 품질을 확보하기 위해서 참여하는 기법과 방법이라고 생각하면 될 것 같습니다(표1).


<표1> TQC와 TQM의 구성 요소

출처: SK주식회사


해외 선진 트렌드 - 디자인 씽킹(Design Thinking)




  • 비즈니스 생테계의 변화: 단순히 소비자에서 생산자로의 변화






  • Business Thinking vs Design Thinking






더보기