ALM(application lifecycle management)
애플리케이션 생명주기 관리

ALM이란 애플리케이션 소프트웨어를 개발 운용하는데 있어서, 라이프사이클 전체를 종합적으로 관리하는 것으로 소프트웨어의 품질, 개발생산성, 변화의 대응력 등을 향상시키기 위한 것, 혹은 그를 위한 소프트웨어 플랫폼 툴을 말한다.

기업이 시스템을 도입하는 것은 자사의 비즈니스 프로세스를 강화 또는 보강하기 위한 것이다.
기업의 시스템은 비즈니스 프로세스를 지원하고 혹은 비즈니스 프로세스 그 자체를 가동하는 존재이지만 비즈니스 프로세스는 시장의 요구, 경영환경의 변화에 대해 빈번하게 변화하기 때문에 대응하는 애플리케이션 소프트웨어도 신속, 유연한 변화가 요구된다.
한편 이러한 소프트웨어를 개발하는 활동은 일반적으로 요구, 설계, 구현, 시험, 배포 등의 개발 프로세스로 되어 있지만 프로세스간의 연계가 약하면 다발하는 사양변경에 대응할 수 없어 품질저하, 비용초과, 납기지연 등이 일어난다.
개발 후의 운용기간 중에도 애플리케이션은 기능추가, 변경 등이 행해지지만 이것은 애플리케이션을 최초에 개발한 개발자와는 다른 개발자가 담당하는 것이 적지 않다. 이 때 사양서나 설계서 등의 문서가 남아 있지만 않다면 소스분석 등의 각종 조사를 면밀히 하지 않으면 안되고 비용이 많이 든다.
또한 이러한 소프트웨어 업무는 전문적으로 하는 경우가 많아서 관리자나 다른 부서에서는 이 부분에 대해 블랙박스로 보여지게 된다.
이와 같이 프로세스, 정보, 전문성 등의 벽에 분단되어 있는 소프트웨어 프로세스를 통합하고 각 프로세스의 상황과 실적을 가시화, 추적할 수 있도록 한 솔루션이 ALM이다.