ALM 개념 - Application Lifecycle Management
- IT 용어
- 2016. 10. 31. 03:00
ALM 개념 - Application Lifecycle Management
응용 프로그램 소프트웨어를 개발 · 운용함에 있어서 그 라이프 사이클 전체를 종합적으로 관리함으로써 소프트웨어의 품질과 개발 생산성 변화에 대한 대응력 등을 향상시키려는 생각 또는 플랫폼 도구를 말합니다.
기업이 비즈니스 애플리케이션을 도입하는 것은 자사의 비즈니스 프로세스를 강화 보강하기 위한 것입니다. 기업의 비즈니스 응용 프로그램은 비즈니스 프로세스를 지원 또는 비즈니스 프로세스 그 자체로 가동하는 존재이지만, 비즈니스 프로세스는 시장 요구와 경영 환경의 변화에 따라 수시로 바뀌기 때문에 해당 응용 프로그램 소프트웨어도 신속 · 유연한 변경을 할 수 있어야 합니다.
한편, 그러한 소프트웨어를 개발하는 활동은 일반적으로 「요구」 「디자인」 「구현」 「시험」 「배치」등의 개발 프로세스 로 이루어 지지만 그 과정 간의 연계가 약한 다발성 사양 변경에는 대응할 수 않고 품질 저하 · 비용 초과 납기 지연을 일으킵니다.
개발 후 운영 기간 동안 응용 프로그램에 기능 추가 및 변경, 수정 등이 이루어 지는데, 이 응용 프로그램을 처음 만든 개발자와는 다른 기술자가 담당하는 경우가 적지 않습니다. 이 때 계획서 및 설계서 등의 문서가 남아 있지 않으면, 코드 분석 등의 각종 조사가 면밀히 진행되어야 하며 고비용이 듭니다.
또 다른 문제로 이러한 소프트웨어 업무는 인적 · 전문으로하는 일도 많기 때문에 상위 관리자 및 기타 부문에서 종종 "블랙 박스"고 보고 되어왔습니다.
이런 '과정' '정보' '전문성'의 벽으로 막힌 소프트웨어 프로세스를 통합하여 각 프로세스의 상황과 실적을 가시화 · 추적할 수 있도록하는 솔루션이 ALM입니다.
소프트웨어 개발 프로세스와 도구를 통합한다는 발상은 옛부터 있었습니다. 1980 년대부터 1990 년대에 걸쳐서 APSE (Ada 프로그래밍 지원 환경) IPSE (통합 프로젝트 지원 환경), AD / Cycle 등의 시도가 있었습니다. ALM은 그 개념을 PC 기반 개발 도구에서 제공하는 것으로 생각할 수 있을지도 모릅니다.
ALM은 원래 소프트웨어 개발 툴 벤더 미국 볼랜드가 2002 년에 제창한 것으로, 회사가 제공하는 각종 도구를 연계시키는 제품 전략에 근거합니다. ALM 개념에 근거한 제품은 현재 여러 회사에서 출시되고 있지만, 모두 소프트웨어 개발에 관련된 실무를 위한 도구의 집합체이며, 프로젝트 관리 소프트웨어처럼 '관리를 위한 관리 도구'가 아닙니다 .
이렇게 특징 중 하나는 프로그래머와 테스트 엔지니어 등 실무 기술자에게 작업 환경이라는 점입니다. 도구의 통합을 통해 프로세스의 각 작업은 최적화된 각 엔지니어에 수행해야할 일임을 알 수 있습니다. 플랫폼에서 수행된 작업은 자동으로 기록되기 때문에 연락 실수도 방지 할 수 있습니다. 팀 개발 플랫폼이라는 측면이 ALM의 원점입니다.
ALM 플랫폼이 기록하는 정보는 원칙적으로 실적 기반의 것입니다. 코드 및 문서 체크인 및 체크 아웃 상황 등에서 언제 누가 어떤 작업을 했는지를 정확하게 파악할 수 있습니다. 작업의 지연이 있으면 경위를 추적하여 원인을 규명하는 것도 가능합니다. 현재 작업이 끝나야 다음 작업을 진행하지 않도록 워크 플로우를 구성 할 수 있는 것도 있습니다. 이것은 개발 팀에 대해 특정 개발 프로세스를 강제 적용하고 징계를 가져올 것입니다. 동시에 "정확한 보고"가 자동으로 다량으로 수집될 수 있는 것을 의미합니다.
Application Lifecycle Management의 특징 중 하나는 이러한 정확한 정보에 따라 관리 활동을 할 수 있다는 점에 있습니다. 프로젝트 실시 중의 진척 관리는 물론, 추적을 확보할 수 있으므로, 변경이나 실수가 어떤 과정에서 혼입했는지를 알 수 있게 됩니다. 앞으로 발생 상황 등 현재 진행과 최종 품질을 예측하거나 사후적으로 개발 프로세스의 타당성과 작업의 낭비를 검증하는 방법도 있습니다.
커버하는 영역은 제품에 따라 제각각입니다. 기본은 "개발"의 각 공정에서 요구 관리, 구성 관리 , 변경 관리 , 릴리즈 관리, 버전 관리, 추적 관리, 사고 관리, 산출물 관리, 자산 관리 등의 관리 활동을 지원합니다. 구조도 각 관리 데이터베이스를 연계하는 단일 저장소에 통합하는 것, 각 소스에서 데이터를 집계하여 통합 표시하는 대시보드 형처럼 다양합니다.
ALM의 대상 영역에 "작업"또는 "IT 전략"을 포함하는 것도 있습니다. 이것은 ALM의 큰 비전이라고 할 수 있습니다. 어떤 소프트웨어를 만들자도, 시스템 운용에 이행하지 않고 사용자에게 서비스 제공이 이루어지지 않으면 가치가 없습니다. 회사의 ALM 제품 개발 공정 및 운영 공정이 밀접하게 연계된 소프트웨어 수명주기 관리의 기반으로 진화를 지향하고 있습니다.
개발에서부터 매우 상류에 해당하는 "IT 전략 '과 연계시키는 비전도 있습니다. 사내에 여러 IT 시스템 (계획 중 개발중인 프로덕션)이 있을 때, 그들을 비교하여 어떤 프로젝트를 실시하고, 어떤 시스템을 가동 정지하는 결정 방법으로 포트폴리오 매니지먼트가 있지만, 이렇게는 진행하려면 비용에 대한 정확한 사실 데이터가 필수적입니다. ALM에 의해 개발 및 운영의 사실 데이터를 수집 할 수 있으면 경영 수준의 의사 결정을 할 때 정보 제공이 가능해집니다.
또한 임베디드 소프트웨어 개발 세계에서 PDM / PLM 과 함께 파생 개발과 제품 라인 개발 하는 기초로서 기대되고 있습니다.
'IT 용어' 카테고리의 다른 글
BCM - business continuity management 정의 (0) | 2016.10.31 |
---|---|
비즈니스 연속성 개념 (0) | 2016.10.31 |
BCP - business continuity plan 정의 (0) | 2016.10.31 |
폭포수 모델 설명 (0) | 2016.10.29 |
PBS 정의 - product breakdown structure (0) | 2016.10.28 |