각 모델의 장점과 단점이 있지만 요즘에는 개발 방법론 중 애자일이 가장 관심을 받고 있습니다.
그 이유는 빠르고 지속적으로 변화하는 S/W 개발 환경에 있다고 볼 수 있습니다.
사용자의 다양한 요구사항과 시스템을 필요로하는 순간에 배포해야 하는 환경에서는
기존의 문서 위주, 절차 위주의 방법론으로는 빠르게 대응할 수 없기 때문이죠.
Agile 방법론은 "절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 방법론"이라고 할 수 있습니다.
Aigle 방법론의 특징은 다음과 같이 이야기 할 수 있습니다.
- 프로세스보다 사람 중심
- 문서나 절차보다 개개인의 상호작용이 중요
- 고객의 적극적인 참여 필요
- Predictive 보다 Adaptive 함 (가변적 요구에 대응)
그렇다면, 기존의 개발 방법론과 Agile 방버론의 차이를 살펴보면 다음과 같습니다.
항목
기존 개발 방법론
Agile 개발 방법론
계획수준
각 단계별 세부 계획 수립
반복적인 주기 설정
다음 주기에 대해서만 세부계획 수립
요구사항
초기 요구사항에 대한 기준 설정
요구사항 변경시 절차에 따른 형상관리 필요
요구사항의 변경, 추가가 용이
시스템 개발
분석 및 설계단계에서 구체적인 시스템 설계, 개발
실제 구현된 기능을 통해 실현가능성, 효과 확인 후 구현
테스트
단위, 통합, 시스템 테스트순으로 진행
작은 단위의 기능별 구현/테스트를 반복
표준 프로세스
개발 전 표준화된 프로세스 제정
모든 실행 계획에 따라 구현
반복적인 iteration 강조
프로세스는 유연하게 적용
프로세스나 방범론에서 현재 키워드로 자리잡고 있는 것은 6 Sigma, CMMI, Agile 입니다.
서로 다른 영역에서 프로젝트의 성공을 위해 활용되고 있는데요. 개발자는 Agile 방법론으로 개발을 진행하고, 조직은 CMMI라는 프레임워크로 관리하고, 경영은 6 Sigma를 활용하면 프로젝트의 실패를 초래하는 위험 요소를 최소화 할 수 있다는 것입니다.
다른 곳에서 발췌한 자료에서 이 세가지를 비유적으로 설명한 것이 있어 옮겨봅니다.
하늘에서 내리는 비를 프로젝트의 실패를 초래하는 위험요소라고 하였을 때, 6시그마와 CMMI, 그리고 Agile 프로세스는 실패를 막아주는 우산이 됩니다.
Agile프로세스는 우산의 살과 지주가되고, CMMI는 살을 하나로 모아 비를 막아줍니다. 가장 정점의 꼭지에는 6시그마가 존재합니다.
이들은 하나가 되어 우리가 비를 맞지 않고, 맞더라도 최대한 적은 양의 비를 맞도록 해줍니다.
6시그마와 CMMI, Agile프로세스는 만든이가 다릅니다. 6시그마는 산업공학, 다시 말해 경영학도에 가까운 사람들이 만들어 낸 방법론입니다. CMMI는 개발에 가까운 관리자들이 만들어낸 방법론이며, Agile은 개발자들이 만들어낸 방법론입니다. 이런 태생적 차이로 이들은 서로 다르지만 모이면 하나가 됩니다.
CMMI의 대 전제는 "조직 고유의 프로세스가 존재한다."입니다. 조직 고유의 프로세스를 CMMI라는 하나의 통합 프레임워크에 통합시키고 직관적으로 관리가능하게 하고, 최상의 프로세스로 개선시켜 줍니다. 대부분의 실패한 CMMI프로젝트는 CMMI를 통하여 조직에 프로세스를 만드려고 하기 때문입니다.
조직내의 고유한 프로세스는 Agile 개발 프로세스로 충분히 가능합니다. Agile 방법론으로 각 프로젝트 별로 구성된 프로세스는 CMMI에 의하여 조직자체가 통합적으로 관리하게 됩니다. 물론 TSP/PSP나 RUP등과 같은 기존의 다른 프로세스들도 마찬가지 입니다. (하지만, 현대사회는 Agility가 중요합니다.) Agile프로세스가 팀이나 프로젝트에서 개인적으로 사용하는 관행을 탈피해야 합니다.
마지막으로, 6시그마는 CMMI레벨 4 이상의 환경에서 정확히 동작합니다. 뒤집어 이야기 하면, CMMI레벨 2,3을 만족하는 조직에서 최적의 퍼포먼스를 낼 수 있습니다. 실제 CMMI레벨 4,5에는 프로세스 영역이 몇개 존재 하지 않습니다. 보잉의 존부씨의 말로는 CMMI개발자들이 레벨4/5환경을 잘 알수 없기 때문이라고 말하기도 하였습니다. 이 부분은 개발이나 관리의 영역이 아닌, 수치화와 유기적인 조직이 중시되는 경영의 영역이 됩니다. 6시그마는 이하 모든 프로세스를 기반으로 완전한 정형적 환경을 구축하게 해줄 것입니다.
ITSM 정의
ITSM은 시스템이나 어플리케이션 그리고 네트워크 보안등과 같이 특정 영역별로 이루어졌던 IT 관리 방식에서 벗어나 전체 프로세스를 표준화하고, 서비스 관점에서 보다 체계적으로 IT 인프라를 관리하자는데서 출발했습니다.
ITSMF의 CEO 에이든 로즈는 "ITSM은 수준 높은 품질의 IT 서비스를 개발하고 제공하는데 관계된 전체 라이프 사이클에 관련된 모든 활동을 포함하는 것"이라고 했습니다.
가트너 그룹에서는 "ITSM을 합리적이고 예상 가능한 IT 서비스를 제공하는데 필요한 프로세스, 조직 역량, 기술의 집합체라고 정의하고 주어진 비용을 통해 요구되는 성과를 창출하기 위한 IT 서비스의 비즈니스적 가치를 극대화하는 것이 목적"이라고 했습니다.
즉, ITSM은 합리적 비용 범위내에서 합의된 품질 수준의 서비스를 제공할 수 있도록 프로세스, 자원, 기술을 종합적으로 관리하기 위한 선진적인 IT 관리체계입니다.
ITSM 구성 프레임워크
이러한 ITSM을 위한 모델로 CMMi, MOF, ITIL, eSCM등이 있는데요.
각각의 구성을 살펴보면 다음 그림과 같습니다.
<그림 1> ITSM의 구성 프레잌워크
이중에서 업계 표준으로 인정받고 있는 ITIL에 대해서 살펴보려고 합니다.
ITIL (IT Infrastructure Library)
ITIL은 1989년 영국의 CCTA에 의해 만들어진 IT 서비스 운영 관련 사례들을 책으로 발간한 라이브러리 입니다.
IT 서비스를 관리하기 위한 일련의 Best Practice로서 ITIL에서 제시하는 SLA(Service Level Agreement) 프로세스는 사전준비, SLA 개발, 운영 및 개선 단계의 생명주기를 거치며 반복됩니다.
ITIL은 다음 그림과 같이 두 가지 영역으로 IT 서비스 관리 프로세싱을 구분하고 있습니다.
<그림 2> ITIL 구성도
- Service Delivery: IT 서비스의 품질향상과 비용절감에 목표를 두면서 SLA를 달성하는 동시에 SLA를 측정하기 위한 프로세스들로 구성됩니다.
- Service Support: IT 서비스 사용자가 비즈니스 관련 IT 서비스를 항상 받을 수 있도록 보장하는 데 필요한 관련 프로세스를 포함하고 있습니다.
- Application Management: S/W 개발 라이프 사이클을 포함하고 있으며 소프트웨어 라이프 사이클 지원 및 IT 서비스 테스팅까지 확장하여 다루고 있습니다.
- ICT Infrastructure Management: IT Infrastructure를 운영 관리하기 위해 필요한 주요 프로세스를 포함하고 있습니다.
ITSM의 특징 및 구성요소
ITSM은 타 프로세스 및 품질모델과 비교해 볼 때 보다 구체적인 모습을 제시하는 것이 특징입니다. 이것은 다음과 같은 3가지 요소가 명확하게 정의되어 있기 때문에 가능합니다.
- ITSM의 표준 참조모델인 ITIL이 구체적인 실체를 제공 (Best Practice를 제공)
- ITSM 적용은 IT 조직에 대한 명확한 역할과 정의를 요구 (ITSM 적용 목적은 IT 생산성 향상과 IT 품질 개선)
- ITSM은 사용화된 기술을 제공 (ROI 효과를 얻기 위해)
ITSM이 성공적으로 이루어지려면 프로세스, 조직, 제반 시스템의 구축 뿐만 아니라 기업의 문화에 단기, 중기, 장기적으로 적응할 수 있는 방안을 제공하는 것이 중요하다고 합니다.
<그림 3> ITSM의 구성요소
ITSM의 구성요소는 위 그림과 같으며 일반적으로 여기에 조직(Organization)을 추가하기도 합니다.
주요요소
설명
프로세스
(Process)
서비스를 계획, 개발
및 적용할 수 있도록 체계적인 지원 및 관리 절차 제공
인력
(People)
인력 개발 및 프로세스 중심적인 조직 구성을 통해 새로운
서비스를 창출하는 인적 자원 관리
기술
(Technology)
프로세스 자동화, 서비스
제공 및 모니터링, 리포팅 하는 기술 솔루션 및 아키텍처
조직
(Organization)
IT에 영향을 끼치는 내/외부의
비즈니스적인 요소 및 문화
ITSM 도입효과 및 고려사항
ITSM의 가장 큰 목적은 IT 업무 프로세스 개선을 통해 서비스 품질 개선과 서비스 비용 절감에 있습니다.
고객에게는 SLA에 기초한 고객 맞춤형 IT 서비스 제공이 가능해지며 서비스의 일관성을 보장 받을 수 있습니다.
이를 통해 IT 서비스에 대한 신뢰가 개선되고 품질, 가용성, 서비스 비용 관리가 개선됩니다.
IT 조직에서는 효율성을 높이고 변화 관리가 용이해집니다. 또한 효과적인 아웃소싱이 가능하고 체계적인 IT 서비스 품질관리가 가능해집니다.
성공적인 ITSM의 구축을 위해서 수행되어야 할 과제는 다음과 같이 요약할 수 있습니다.
- ITSM 추진을 위한 TFT 구성은 적절히 검토되고 최선의 선택을 했는가?
- ITSM 구축 기간은 조직의 역량 및 업무 범위에 맞게 수립되었는가?
- To-Be 설계에 대한 오너십을 TFT에서 갖고 있는가?
- 구축된 ITSM의 이행 조직은 프로세스에서 정의되고 요구하는 역할만을 수행하고 있는가?
ITSM 향후 전망
현재 ITSM이 가장 활발하며, 향후 ITAM, 그 이후 IT Governance로 IT 관리의 흐름이 변할 것으로 예상됩니다.
실제로 해외에서는 ITAM과 ITSM, 그리고 IT Governance가 하나의 고리를 이루면 구축되고 있는 상황이라고 합니다.
ITAM (IT Asset Management)
- ITAM은 기업 내 각종 IT 자산을 구입부터 폐기까지의 전 라이프사이클을 관리한다는 개념입니다.
IT Governance
- IT Governance는 IT 자원과 정보, 조직을 회사 전체의 경영 전략이나 목표와 연계해 경쟁 우위를 확보할 수 있는 것을 말합니다.