1. 서론
안녕하세요. 오늘의 포스팅에서는 SI 프로젝트 환경에서의 시스템 통합의 중요성과 그에 따른 서비스 품질 확보 방안에 대해서 제가 오래전에 경험하였던 프로젝트 사례를 기반으로 소개해 드리는 시간을 갖도록 하겠습니다.
개인적으로 상당히 고생한 프로젝트였지만 성공적인 서비스 오픈과 해당 기업의 홍보로 인한 비즈니스 효과 등이 상당한 파급을 불러와서 기억에 오래 남는 프로젝트입니다.
보통 SI 프로젝트는 대규모 사업으로 진행이 되고 많은 인력과 시간이 소요되며 기간 또한 길게는 1년 이상 짧게는 6개월 정도 진행이 됩니다.
저는 초여름이 시작되는 6월부터 약 6개월간의 K사(기존 2개 회사의 서비스 통합과 신규 서비스 런칭) 프로젝트에 테스트 총괄 관리자(PM)로 투입될 예정이었습니다. 그런데 해당 프로젝트는 시스템을 통합하는 과정에서 지속적인 장애 발생으로 몇 차례 오픈이 연기된 상황이었고, 중간에 PM과 다수의 개발자가 반복적으로 교체되어 좋지 않은 조건이었습니다. 이로 인해 계속해서 프로젝트는 원활하게 수행되지 않았고, 오픈 일자도 계속 연기가 되었으며 근본적인 문제에 대한 정확한 원인 분석과 해결이 필요한 상황 속에 해당 프로젝트에 투입되었습니다.
2. 끝이 보이지 않는 기나긴 터널 속으로 들어가다.
우여곡절 끝에 많은 걱정과 함께 무더운 8월부터 12월 말까지 성공적인 오픈을 목표로 10여 명의 인력과 함께 투입되었고, 저는 가장 먼저 현 프로젝트의 상황 이해와 문제점에 대해서 분석 했습니다.
'과연 이 프로젝트의 문제점은 무엇인가?', '왜 이렇게 지속적으로 프로젝트 오픈 일정이 연기되는 것일까?' 등.. 수많은 생각이 들었습니다. 투입 후 약 일주일 정도 이해관계자들의 인터뷰를 통하여 현 프로젝트의 문제점을 분석한 결과 다수의 문제점을 발견하였으며 과연 프로젝트가 오픈 일정에 맞추어 성공적으로 오픈할 수 있을지 걱정이 되었습니다. 저는 이러한 문제점들을 어떻게 해결해야 할지 고민하기 시작했습니다.
3. 문제 원인 분석 및 해결 방안에 대한 고민
우선 발견된 문제점을 어떻게 해결하고 개선해 나갈 것인가에 대하여 고민하며 분석된 문제점들을 먼저 정리하고 해결을 위한 실행 계획 및 전략을 수립하기 시작하였습니다.
우선 해당 프로젝트에서 발견된 아래의 주요 문제점들을 정리해 보기로 하였습니다.
(1) 고객사의 프로젝트 수행 목적과 목표 혼선
(2) 프로젝트의 명확한 요구사항 부재
(3) 프로젝트 PM과 참여 기업 간의 의사소통 부재
(4) 프로젝트 참여 기업 간의 책임감 부재
(5) 세부 시스템 통합 전략 및 계획 부재
(6) 통합 테스트 계획 및 전략 부재
먼저 해당 프로젝트를 이해할 필요가 있었습니다.
참고로 해당 프로젝트는 기존 2개의 회사에서 각각의 서비스를 운영하고 있었지만 2개의 회사가 갑작스럽게 합병이 되면서 각각 제공하던 서비스를 하나의 서비스로의 통합이 필요했던 상황이었습니다. 즉 기존에 각각의 회사에서 제공하던 서비스를 통합하여 시너지 효과를 내는 것이 해당 프로젝트의 최종 목표였습니다.
하지만 갑작스러운 합병 소식으로 인한 고객사 직원들의 불만과 혼란 등으로 인하여 두 기업의 이해관계자 간의 소통 부재가 가장 큰 문제였습니다. 통합의 명확한 목적과 목표가 없는 프로젝트 상태와 고객사의 목표 혼선, 사업 담당자 또한 적극적으로 참여하는 사람들이 없는 상황이었고 참여한 외주 기업들 또한 동기부여가 전혀 없는 상황이었습니다.
[그림 1] 프로젝트 실패의 원인
4. 어떻게 시스템을 안전하게 통합할 것인가?
우선 정리한 문제점들에 대하여 해결 방안과 전략을 수립했습니다.
그렇게 밤낮으로 프로젝트의 성공적인 오픈을 위하여 고민하고 있던 어느 날 고객 담당자 한 분이 저에게 찾아와 미팅을 요청하여 잠시 이야기를 나누었습니다. 그분은 해당 프로젝트에 많은 관심이 있었고 주말도 출근하며 적극적으로 참여하고 있던 분이었으며 프로젝트의 성공적인 오픈을 위해서 매진하신 분이었습니다.
그분은 저를 보자마자 “함께 가시죠. 많은 시간이 흘렀고 어디로 가는지 알 수 없지만 제가 적극적으로 도와드리겠습니다.” 저는 그분의 말을 듣고 아무 말도 할 수 없었습니다. 그것은 그분의 진심 어린 마음에서 우러나오는 말이었고 저 또한 그분과 함께한다면 이 프로젝트를 꼭 성공적으로 오픈할 수 있을 것이라는 확신이 들었습니다.
이후 저와 그분은 해당 프로젝트의 문제점들을 하나씩 해결하기 위한 전략을 수립해 나갔습니다.
(1) 고객사의 프로젝트 수행 목적과 목표 혼선
프로젝트에 참여한 고객사 및 개발사의 모든 이해관계자와 함께 소통하는 시간을 갖고 프로젝트의 수행 목적에 대해서 공감대를 형성하도록 하였으며 각 기업에서 추구하는 공통의 비즈니스 목표 또한 확인하는 시간을 가졌습니다.
(2) 프로젝트의 명확한 요구사항 부재
다음으로 명확하지 않은 요구사항을 다음과 같이 4개의 관점에서 재정의하였습니다.
통합 시스템 기능 관점, 비즈니스 관점, 서비스 제공 관점, 서비스 제공 시점으로 요구사항을 재정의하여 프로젝트에 참여한 모든 이해관계자와 함께 공유하였습니다.
[그림 2] 요구사항의 명확화 및 재정의
(3) 프로젝트 PM과 참여 기업 간의 의사소통 부재
프로젝트를 성공적으로 완료하려면 무엇보다 프로젝트에 참여한 모든 이해관계자 간의 의사소통이 매우 중요합니다. 잦은 PM의 교체로 인하여 참여 기업들과의 원활하지 못한 관계와 의사소통의 문제를 해결하기 위하여 먼저 문제점 파악 후 의사소통 프로세스를 수립하고 의사소통의 문제점들을 하나씩 개선해 나가는 것을 우선 수행하였습니다.
반복적이고 지속적인 의사소통으로 참여 기업별 역할에 대하여 명확하게 정의하여 공통의 비즈니스 목표 또한 확인하는 시간을 가졌습니다.
[그림 3] 의사소통 관리 계획
(4) 프로젝트 참여 기업 간의 책임감 부재
프로젝트 참여 기업 또한 프로젝트 수행 목적과 공통의 목표를 공유하고 그에 따른 의사소통의 문제를 개선해 나가는 과정에서 프로젝트팀 간의 자연스러운 팀 빌딩을 통한 책임감 부재가 아닌 협업의 방향으로 적극적으로 참여하는 모습으로 변화되기 시작하였습니다.
(5) 세부 시스템 통합 전략 및 계획 부재
시스템 통합 전략 및 계획은 먼저 두 기업의 합병으로 인하여 다양한 관점에서 이해하고 접근할 필요가 있었습니다.
두 기업 간의 공통 비즈니스의 목표를 이해하고 달성할 수 있도록 통합 시 가장 우선적으로 고려해야 할 사항들을 기준으로 통합 기능 관점, 비즈니스 관점, 서비스 제공 관점, 서비스 통합 관점을 고려하여 전략과 계획을 수립하였습니다.
[그림 4] 시스템 통합 전략 수립
결국 최종 목표 시스템은 공통 비즈니스 확보, 고객 맞춤 서비스 상품, 서비스 운영 품질 확보, 차별화된 상품 서비스 등을 고객사의 최종 비즈니스 목표로 공유하였습니다.
(6) 통합 테스트 계획 및 전략 부재
시스템 통합 전략 수립 이후 통합 테스트를 위한 테스트 계획 및 전략, 오픈 이후 안정화 전략까지 빠르게 수립하였습니다. 프로젝트 정식 오픈까지는 2개월여 정도밖에 남지 않은 상황이었고 그동안 몇 차례 오픈 일정이 연기가 되었기 때문에 최대한 빠르게 테스트가 완료되고 리스크 조치 등 모니터링을 통한 안정화 작업이 진행되어야 했습니다.
제가 속한 테스트 팀은 아래와 같은 절차로 통합 테스트 계획과 전략을 수립하고 테스트 수행 및 서비스 오픈까지 총 5단계로 구분하여 안정화 작업과 함께 진행하기로 하였습니다.
[그림 5] 통합 테스트 계획
5. 테스트 수행 및 품질 확보 방법
프로젝트의 성공적 오픈을 위한 단계별 수행 작업을 아래 그림과 같이 5단계로 정의하고, 2개월 동안 진행한 결과 전체적인 오픈 일정에 맞출 수 있었습니다.
[그림 6] 품질 확보를 위한 테스트 및 안정화 방법
1) 테스트 계획 최종 준비 및 점검
테스트 컨텍스트, 위험 분석, 테스트 전략 점검, 테스트 수행 계획 최종 점검을 통한 준비 작업 점검 완료
2) 통합 테스트 수행
통합 테스트는 총 3단계의 전략을 수립,
고객사 업무 및 서비스를 고려하여 다수의 서비스(하위 컴포넌트)가 존재하여 기본적으로 세부적인 기능 점검을 수행하고 관련 서비스 유형별 점검, 메인 서비스 점검 등의 상향식 통합 테스트 수행
가) 1단계 수행 (기능 및 서비스 정책 점검)
- 화면(UI) 통합, 서비스 기능 및 유형별 점검(상품/고객/청구), 서비스 제공 관점 점검
- 하위 컴포넌트 별 점검 시 서비스에 대한 정책 점검(신규/개선/통합 등)
- 프로세스 개선 부분 점검(서비스 통합 등)
[그림 7] 통합 테스트 1단계 수행
나) 2단계 수행 (인터페이스 연계 및 데이터 점검)
- 서비스 유형별 및 I/F 인터페이스 (대내외 연계 시스템 상호 연동) 점검
- 데이터 정확성 점검(Billing/Order 데이터 등)
[그림 8] 통합 테스트 2단계 수행
다) 3단계 수행 (비즈니스 로직 점검)
-현업 담당자 비즈니스 로직 기반의 시나리오 점검을 통하여 공통 비즈니스 점검, 요구사항 점검, 서비스 운영 품질 점검
[그림 9] 통합 테스트 3단계 수행
라) 4단계 수행 (모니터링 및 안정화 점검)
- 지속적인 테스트 및 서비스 모니터링을 통한 장애 처리, 안정화 과정을 반복하여 진행하고 서비스 오픈을 위한 안정화 점검 완료
3) 이슈 처리 및 모니터링
시스템 최종 점검, 비기능 테스트 (성능 효율성/호환성 등) 및 기타 발생된 이슈 및 장애 처리 최종 점검 완료
4) 서비스 안정화
기능 적합성, 사용성, 시스템 성능 등 통합 서비스 및 안정화 최종 점검
5) 서비스 오픈
총 3개월간 위 모든 과정들을 평일 야근 및 주말 출근을 통하여 진행하고 지속적인 모니터링 및 안정화 작업을 반복적으로 수행, 서비스 품질을 확보하고 시스템 안정화를 통하여 프로젝트 오픈 일정에 맞춤
6. 결론 및 시사점 (새로운 서비스의 탄생)
우여곡절 끝에 프로젝트는 성공적으로 오픈하였고 거대한 서비스가 탄생하였습니다.
다행히 오픈한 서비스는 장애 없이 비교적 안정적으로 서비스를 운영할 수 있었고 새로운 서비스에 대한 다양한 이벤트 및 홍보로 인하여 효과 또한 상당하였습니다.
보통 SI 사업은 많은 이해관계와 요구사항의 불명확성으로 인하여 서비스 오픈이 지연되는 경우가 많은데 결국 프로젝트의 성공의 중요한 요소는 프로젝트의 명확한 목적과 목표의 이해, 이해관계자의 적극 참여, 명확한 요구사항 명세, 실현 가능한 계획이 선행적으로 수립이 되어야 한다고 생각합니다.
다음 포스팅에서는 본 블로그에서 소개한 프로젝트의 문제점 등의 사례를 기반으로 프로젝트에서 중요한 부분인 프로젝트 관리 부분의 요구사항 및 범위 관리에 대해서 중점적으로 알아보는 시간을 갖도록 하겠습니다.
감사합니다!