소프트웨어 배포 생명 주기

소프트웨어 생명 주기()는 컴퓨터 소프트웨어의 개발 단계의 총체로서, 초기 개발 단계부터 마지막 출시를 모두 아우른다. 여기에는 소프트웨어 개선에 도움이 되는 업데이트 버전과 소프트웨어에 내재된 버그 수정을 포함할 수 있다.단계:프리알파>알파>베타>출시후보다

개발 단계

프리 알파 
프리 알파(Pre-Alpha)는 테스트 이전의 소프트웨어 프로젝트 기간 동안 수행되는 모든 활동을 가리킨다. 이 활동에는 요구사항 분석, 소프트웨어 설계, 소프트웨어 개발, 유닛 테스트를 포함할 수 있다. 일반적인 오픈 소스 개발 환경에서는 프리 알파 버전에 몇 가지 종류가 있다. 마일스톤(Milestone) 버전에는 특정한 집합의 기능이 포함되며 기능이 완성되자마자 공개된다.

알파 
알파(Alpha) 또는 개발판은 소프트웨어 생명 주기의 한 단계로, 소프트웨어 테스트를 시작하는 첫 단계이기도 하다. 알파 소프트웨어는 불안정할 수 있고 충돌이나 데이터 손실을 일으킬 수 있다.

베타 
베타(Beta) 또는 시험판은 알파의 뒤를 잇는 소프트웨어 개발 단계이다. 소프트웨어가 기능을 완성할 때 일반적으로 이 단계가 시작된다. 베타 단계의 소프트웨어는 일반적으로 속도/성능 문제와 더불어 온전히 완성된 소프트웨어보다 더 많은 버그가 존재한다. 베타 버전은 많은 유저에게 (주로 무료로) 시험 사용을 하도록 하여 사용성이나 디자인, 성능 등에 관하여 의견을 받고 그것들을 소프트웨어의 개발에 반영하거나 미처 다 발견할 수 없었던 불편한 점을 보고해 수정하여, 정식 버전을 보다 좋게 완성하는 것을 목적으로 하고 있다. 종종 베타 소프트웨어는 기밀유지 협약을 걸 때가 있으며, MMORPG의 경우 무료라고 하는 특성을 살려, 고객 획득이나 마케팅의 수단으로서 이용하는 경우도 있다.

베타의 종류 
시험은 크게 나누어 개방형 시험(오픈 베타)와 폐쇄형 시험(클로즈 베타)으로 나뉘며, 개방형 시험의 경우 일반인에게 시험판을 공개하고 시험 사용을 협력받으며, 폐쇄형 시험의 경우, 개발자의 지인이나 전 판의 사용자 혹은 공개 모집한 사용자로 수를 제한하여 시험 사용을 협력 받는다.

출시 후보 
출시 후보(Release Candidate, RC)는 마지막 제품이 될 가능성이 있는 시험판(Beta)으로, 상당한 버그가 나타나지 않으면 출시할 준비가 되었음을 의미한다. 프리뷰 릴리즈(preview release)버전으로도 불린다.

출시

RTM 
RTM(Release to Manufacturing)은 소프트웨어가 고객에게 배송 및 제공될 준비가 되었음을 뜻하는 용어이다. 이 용어는 배송 구조나 배송량을 정의하지는 않으며, 단지 제품 품질이 대량 생산을 하기에 충분함을 정의한다.

GA 
GA(General Availability, General Acceptance)는 필요한 모든 상업화 활동이 완료되어 웹이나 물리 매체를 통해 시장에서 이용할 수 있게 됨을 의미한다. GA와 거의 비슷한 의미의 다른 용어로 FCS(First Customer Shipment)가 있다. 썬마이크로시스템즈와 시스코와 같은 일부 기업들은 자사의 소프트웨어 버전에 FCS라는 용어를 사용한다.

웹으로의 출시 
웹으로의 출시(Release to Web), 또는 간단히 웹 출시(Web Release)는 소프트웨어를 인터넷으로 배포하는 것을 의미한다. 어떠한 물리 매체도 여기에 포함되지 않는다. 인터넷 이용이 늘어감에 따라 웹 출시는 많이 보편화되어 있다.

참고 문헌 
 Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble, David Farley;

같이 보기 
 소프트웨어 버전 작성

각주

외부 링크 
  Free Software Project Management HOWTO
  Software Release Decisions

소프트웨어 개발 프로세스