ISO 12207으로 보는 소프트웨어 생명주기와 품질 관리

ISO 12207의 소프트웨어 생명주기 프로세스와 제품 문서, 품질 보증 활동을 실무 관점에서 정리합니다.

2026-08-14 · 최초 발행 2026-04-17

생명주기 전체를 같은 언어로 다루는 ISO12207

ISO12207(Software Life Cycle Processes)은 ISO와 IEC가 공동으로 제정한 소프트웨어 생명주기 프로세스 국제 표준이다. 소프트웨어의 개발, 운영, 유지보수 과정에서 수행할 작업을 정의하고 구조화해 관리할 수 있게 한다.

개발자의 개인 역량과 관행에만 의존하면 프로젝트 상태를 객관적으로 파악하기 어렵고, 결과물의 품질도 균일하게 유지하기 어렵다. 이른바 소프트웨어 위기 속에서 구성원 사이의 의사소통 기준과 표준화된 작업 절차가 필요해졌고, ISO12207은 그 요구를 다루기 위해 마련됐다.

이 표준은 개발 단계에만 머물지 않는다. 비즈니스 관점의 획득부터 사용자 환경의 운영, 기술 지원까지 생명주기 전반을 범위로 삼는다.

패키지 제품에서 품질을 드러내는 산출물

소프트웨어 패키지는 불특정 다수에게 공급되므로 품질 요구사항과 시험의 대상도 프로그램 본체에 한정되지 않는다. 제품을 설명하는 자료와 사용자를 돕는 문서 역시 품질 체계 안에서 다뤄진다.

제품 설명서

제품 설명서는 구매 전에 사용자가 소프트웨어의 기능과 성능을 파악하도록 돕는 판촉물 성격의 문서다. 실제 구현된 기능과 일치해야 하며, 과대광고를 피하는 일은 품질 보증의 출발점이 된다.

사용자 문서

사용자 문서는 설치, 사용, 문제 해결을 지원하는 매뉴얼이다. 설치 가이드, 운영 가이드, 문제 해결 가이드 등이 여기에 포함되며 사용 편의성(Usability)에 직접 영향을 준다.

실행 프로그램

실행 프로그램은 시스템에서 실제로 동작하는 소프트웨어 본체다. 기능의 정확성, 효율성, 이식성과 같은 기술적 품질 요구사항이 집약되며, 다양한 테스트를 통해 품질을 검증해야 한다.

기본 활동과 품질 활동이 연결되는 구조

ISO12207은 크게 세 가지 유형의 프로세스로 구분되며, 이들이 연결되어 전체 생명주기를 이룬다.

ISO12207 생명주기 프로세스기본 프로세스 (Primary)지원 프로세스 (Supporting)조직 프로세스(Organizational)획득, 공급, 개발, 운영,유지보수품질보증, 검증, 확인,활동검토, 감사, 문서화,형상관리, 문제해결관리, 인프라, 훈련, 개선

제품을 만들고 제공하는 기본 프로세스

기본 프로세스는 생명주기에서 직접적인 가치를 만드는 활동이다.

  • 획득(Acquisition): 시스템이나 소프트웨어 제품을 획득하려는 조직의 활동이다.
  • 공급(Supply): 구매자에게 제품 또는 서비스를 제공하는 활동이다.
  • 개발(Development): 요구사항 분석, 설계, 구현, 테스트로 이어지는 제작 활동이다.
  • 운영(Operation): 사용자 환경에서 시스템을 실행하고 지원하는 활동이다.
  • 유지보수(Maintenance): 인도 이후 결함을 수정하거나 성능을 개선하는 활동이다.

개발 전반을 뒷받침하는 지원 프로세스

지원 프로세스는 기본 프로세스가 제대로 수행되도록 보조하며, 프로젝트 전 기간에 걸쳐 작동한다.

품질 보증(Quality Assurance)은 공정과 제품이 표준 및 계획에 부합하는지를 객관적으로 확인한다. 검증(Verification)은 단계별 산출물이 이전 단계의 요구사항을 충족하는지 검사하는 활동으로, Build the product right에 해당한다. 확인(Validation)은 최종 제품이 사용자의 의도와 요구사항을 충족하는지 확인하며, Build the right product에 해당한다.

형상 관리(Configuration Management)는 소프트웨어 변경 이력을 관리하고 무결성을 유지한다.

조직이 지속적으로 유지해야 할 기반

조직 프로세스는 프로젝트 개별 활동을 넘어 프로세스를 구축하고 개선하기 위한 기반이다.

관리(Management)는 프로젝트의 계획, 모니터링, 제어를 담당한다. 인프라(Infrastructure)는 개발과 운영에 필요한 하드웨어, 소프트웨어, 도구 환경을 마련한다. 훈련(Training)은 구성원의 역량을 강화하는 교육 활동이며, 개선(Improvement)은 기존 프로세스를 분석해 효율성을 높이기 위한 최적화 활동이다.

패키지 품질 요구사항이 운영에 미치는 영향

표준 공정을 적용하면 패키지 제품의 품질 요구사항을 일관되게 다룰 수 있다. 표준화된 인터페이스와 프로토콜 준수는 다른 시스템과의 상호 운용성을 뒷받침한다.

문서와 프로세스가 정리되어 있으면 개발자가 바뀌어도 시스템을 이해하고 수정하는 데 드는 비용을 낮출 수 있다. 체계적인 테스트와 검증을 거친 소프트웨어는 장애 발생 확률을 낮추고 안정적인 서비스 제공에 기여한다. 국제 표준 준수는 해외 시장 진출 시 품질에 관한 객관적 증거로도 활용될 수 있다.

애자일과 DevOps에서의 적용

ISO12207은 폭포수(Waterfall) 모델에만 맞는 절차로 오해받기도 하지만, 표준이 정의하는 것은 무엇을(What) 해야 하는가이지 어떻게(How) 해야 하는가가 아니다.

애자일의 반복적 개발 안에서도 획득, 개발, 검증, 품질 보증 활동을 적절히 내재화할 수 있다. 자동화된 테스트와 지속적 통합(CI/CD) 도구는 ISO12207이 지향하는 품질 관리의 효율성을 높이는 수단이 된다. 개발 속도와 품질을 함께 관리하려면, 사용 중인 방법론과 별개로 생명주기 전반의 책임과 산출물을 놓치지 않아야 한다.

Sources

ISO 12207소프트웨어 생명주기품질 보증소프트웨어 공학