소프트웨어 릴리스 수명 주기

Software release life cycle
기본 소프트웨어 릴리스 수명 주기의 예

소프트웨어 출시 수명주기는 컴퓨터 소프트웨어의 개발 및 성숙도 단계를 합한 것이다.사이클은 초기 개발에서 최종 릴리스에 이르기까지 다양하며 소프트웨어 개선 또는 소프트웨어 버그 수정을 돕기 위해 릴리스된 버전의 업데이트 버전을 포함한다.

컴퓨터 사용자는 베타 단계에 익숙할 가능성이 가장 높은데, 이는 소프트웨어 제품이 사용자의 신뢰도에 대한 기대를 줄이기 위해 베타 제품이라고 공개적으로 광고되는 경우가 있기 때문이다.[1]

개발 단계

프리알파

사전 알파(pre-alpha)는 정식 시험 전에 소프트웨어 프로젝트 동안 수행되는 모든 활동을 말한다.이러한 활동에는 요구사항 분석, 소프트웨어 설계, 소프트웨어 개발단위 시험이 포함될 수 있다.전형적인 오픈 소스 개발에서는, 몇 가지 유형의 사전 알파 버전이 있다.마일스톤 버전은 특정 기능 집합을 포함하며 기능이 완료되는 즉시 출시된다.

알파

릴리스 수명 주기의 알파 위상은 소프트웨어 테스트의 첫 번째 단계(알파는 숫자 1로 사용되는 그리스 알파벳의 첫 번째 문자)이다.이 단계에서 개발자들은 일반적으로 화이트박스 기법을 사용하여 소프트웨어를 시험한다.그런 다음 다른 테스트 팀에 의해 블랙박스 또는 그레이박스 기법을 사용하여 추가 검증을 수행한다.조직 내부의 블랙박스 테스트로 이동하는 것을 알파 릴리스라고 한다.[2][better source needed]

알파 소프트웨어는 개발자가 고객에게 출시하기 전에 철저히 테스트하지 않는다.알파 소프트웨어는 심각한 오류를 포함할 수 있으며, 이로 인한 불안정성으로 인해 충돌이나 데이터 손실이 발생할 수 있다.[3]알파 소프트웨어는 최종 버전에 대해 계획된 모든 기능을 포함하지는 않을 수 있다.[4]일반적으로, 알파 소프트웨어의 외부 가용성은 독점 소프트웨어에서 드문 반면, 오픈 소스 소프트웨어는 종종 공개적으로 이용할 수 있는 알파 버전을 가지고 있다.알파 단계는 보통 기능 동결로 끝나는데, 이는 소프트웨어에 기능이 더 이상 추가되지 않음을 나타낸다.이때 소프트웨어가 기능완료라고 한다.베타 테스트는 공급업체의 사이트(알파 테스트)에서 수락 테스트 후, 소프트웨어의 제품 일반 출시 직전에 실시한다.[5]

기능 완료

소프트웨어기능 전체(FC) 버전은 모든 계획 또는 기본 기능을 구현했지만 버그, 성능 또는 안정성 문제로 인해 아직 최종적이지는 않다.[6]이것은 알파 개발 시험이 끝날 때 발생한다.

일반적으로 기능 완성 소프트웨어는 출시 후보자에게 가기 전에 성능이나 안정성 향상뿐만 아니라 베타 테스트버그 수정, 그리고 최종적으로 골드 상태를 거쳐야 한다.

베타

그리스 알파벳의 두 번째 글자의 이름을 딴 베타(Beta)는 알파에 이은 소프트웨어 개발 단계다.베타 단계의 소프트웨어는 베터웨어라고도 한다.[7]베타 단계는 일반적으로 소프트웨어가 기능이 완전하지만 알려져 있거나 알려지지 않은 많은 버그를 포함할 가능성이 있을 때 시작된다.[8]베타 단계의 소프트웨어는 일반적으로 완성된 소프트웨어와 속도 또는 성능 문제보다 더 많은 버그를 포함할 것이며, 여전히 충돌이나 데이터 손실을 야기할 수 있다.베타 테스트의 초점은 사용적합성 테스트를 포함하면서 사용자에게 미치는 영향을 줄이는 것이다.사용자에게 베타 버전을 전달하는 과정을 베타 릴리스라고 하며, 소프트웨어를 개발한 조직 외부에서 사용할 수 있는 경우는 일반적으로 최초다.소프트웨어 베타 릴리스는 공개 또는 공개 가능한지 아니면 제한된 청중만 사용할 수 있는지에 따라 공개 또는 비공개로 제공될 수 있다.베타 버전 소프트웨어는 종종 조직 내 및 잠재 고객에게 시연과 미리보기에 유용하다.일부 개발자는 이 단계를 미리보기, 미리보기 릴리스, 프로토타입, 기술 미리보기 또는 기술 미리보기(TP)[9] 또는 초기 액세스라고 부른다.

베타 테스터는 베타 소프트웨어의 문제를 적극적으로 보고하는 사람이다.이들은 대개 소프트웨어를 개발하는 조직의 고객이나 잠재 고객의 대표들이다.베타 테스터들은 무료로 봉사하는 경향이 있지만 종종 그들이 테스트하는 제품의 버전, 출시 버전 할인 또는 다른 인센티브를 받는다.[citation needed]

영구 베타

어떤 소프트웨어는 최종 "안정적" 릴리즈를 설정하지 않고 소프트웨어에 새로운 기능이 지속적으로 추가되는 이른바 영구 베타 형태로 보관된다.인터넷이 소프트웨어의 신속하고 저렴한 배포를 촉진함에 따라, 기업들은 베타라는 단어를 사용하기 위해 더 느슨한 접근방식을 취하기 시작했다.[10]

오픈 및 클로즈드 베타

개발자들은 비공개 베타라고도 불리는 폐쇄형 베타 또는 공개 베타라고도 불리는 공개 베타 버전을 출시할 수 있다. 폐쇄형 베타 버전은 초대에 의해 사용자 테스트를 위해 제한된 개인 그룹에 공개되는 반면 공개 베타 테스터는 더 큰 그룹 또는 관심 있는 모든 사람들이다.프라이빗 베타는 가치를 전달할 수 있는 소프트웨어에 적합할 수 있지만 스케일링 문제, 문서화 부족 또는 여전히 중요한 기능이 누락되어 모든 사용자가 사용할 준비가 되어 있지 않다.검사자는 발견한 버그를 보고하고, 최종 버전에서 사용할 수 있어야 한다고 생각하는 추가 기능을 제안하기도 한다.

오픈 베타는 잠재 소비자에게 제품을 시연하는 이중적 목적을 제공하며, 광범위한 사용자 기반 간의 테스트는 훨씬 더 작은 테스트 팀이 발견하지 못할 수 있는 불분명한 오류를 야기할 수 있다.[citation needed]

불출후보자

'은으로 간다'로도 알려진 출시 후보(RC)는 베타 버전으로, 안정적 제품일 가능성이 있는 제품으로, 의미 있는 버그가 나오지 않으면 출시할 준비가 돼 있다.이 제품 안정화 단계에서 모든 제품 특징들은 알려진 쇼스토퍼급 버그가 없는 하나 이상의 베타 사이클을 통해 설계, 코드화 및 테스트되었다.개발 팀이 이 릴리스에 완전히 새로운 소스 코드가 추가되지 않을 것이라는 데 동의할 때 릴리스는 코드 완료라고 불린다.결함을 수정하기 위한 소스 코드 변경, 문서 및 데이터 파일의 변경, 테스트 사례 또는 유틸리티의 주변 코드 변경 등이 있을 수 있다.베타 테스터는 개인적으로 선택할 경우, 종종 출시 후보를 완제품인 것처럼 사용하는 것으로 인정될 것이다.베타 테스팅은 고객의 위치 및 사용자의 관점에서 소프트웨어를 테스트하기 위해 수행된다.

안정적 해제

생산 릴리즈라고도 하며, 안정적 릴리즈는 모든 검증/시험을 통과한 마지막 릴리즈 후보(RC)이다.남은 벌레는 받아들일 수 있는 것으로 간주된다.이번 발매는 생산에 들어간다.일부 도메인(예: 리눅스 배포)은 정규 또는 안정적 릴리스와 장기간 유지되는 LTS(장기 지원) 릴리스의 두 가지 유형의 안정적 릴리스가 있다.

해제

일단 출시된 소프트웨어는 일반적으로 "안정적인 릴리스"로 알려져 있다.공식 용어는 종종 물리적 미디어, 온라인 릴리스 또는 웹 애플리케이션과 같은 출시 방법에 따라 달라진다.

제조(RTM)에 릴리스

"Going Gold"라고도 알려진 제조에 대한 출시(RTM)란 소프트웨어 제품이 납품될 준비가 되었을 때 사용하는 용어다.이 빌드는 최종 사용자가 소프트웨어 구매의 무결성과 신뢰성을 확인할 수 있도록 디지털 서명될 수 있다."골드 마스터" 또는 GM으로[11][12] 알려진 RTM 빌드의 복사본은 대량 복제 또는 디스크 복제를 위해 전송된다.이 용어는 오디오 레코드 제작 산업, 특히 마스터링 과정에서 따온 것이다.RTM은 제품이 대중에게 공개될 때 일반 가용성(GA)에 선행한다.골든 마스터 빌드(GM)는 일반적으로 개발자를 위한 베타 단계에서 소프트웨어의 최종 빌드다.일반적으로 iOS의 경우 주요 출시 전 최종 제작이지만 몇 가지 예외가 있었다.

그것은 일반적으로 상업적 또는 정부 생산과 유통의 전문 소프트웨어 생산 또는 프로젝트와는 달리 특정 소매 양산 소프트웨어 맥락에서 사용된다. 여기서 소프트웨어는 관련 컴퓨터 하드웨어 판매에서 번들의 일부로 판매되며 일반적으로 소프트웨어와 관련 하드웨어가 궁극적으로 아바가 될 것이다.소프트웨어가 정의된 품질 수준을 충족하고 대량 소매 유통 준비가 되었음을 나타내기 위해 소매점에서 대량/공용으로 판매되고 있다.RTM은 또한 관련 하드웨어 최종 사용자 컴퓨터나 기계에 설치 또는 배포하기 위해 소프트웨어가 클라이언트나 고객에게 전달되거나 릴리스되었다는 것을 다른 맥락에서 의미할 수 있다.이 용어는 전달 메커니즘이나 부피를 정의하지 않는다. 단지 대량 유통을 위해 품질이 충분하다고만 명시한다.엔지니어링 조직으로부터 전달되는 것은 종종 복제나 웹의 이미지를 생산하기 위해 사용되는 골든 마스터 미디어의 형태로 이루어진다.

일반 가용성(GA)

제품 수명 주기에서의 마일스톤: 일반 가용성(GA), 수명 종료 알림(EOLA), 마지막 주문 날짜(LOD), 수명 종료(EOL)

GA(General Availability)는 필요한 모든 상용화 활동이 완료되고 언어, 지역, 전자 대 미디어의 가용성에 따라 소프트웨어 제품을 구입할 수 있는 마케팅 단계다.[13]상용화 활동에는 보안 및 컴플라이언스 테스트, 현지화 및 전 세계 가용성이 포함될 수 있다.RTM과 GA 사이의 시간은 GA가 요구하는 모든 상용화 활동을 완료하는 데 필요한 시간 때문에 일반적으로 이용할 수 있는 출시를 선언하기 전에 어떤 경우에는 일주일에서 몇 달까지가 될 수 있다.이 단계에서 소프트웨어는 "실시간" 되었다.

웹에 릴리스(RTW)

으로의 릴리스(RTW) 또는릴리스는 배포에 인터넷을 활용하는 소프트웨어 전달 수단이다.제조자가 이러한 유형의 해제 메커니즘에서 물리적 매체를 생산하지 않는다.인터넷 사용이 증가함에 따라 웹 릴리스는 점점 더 흔해지고 있다.

지원

지원되는 수명 기간 동안 소프트웨어는 서비스 릴리스, 패치 또는 서비스 팩의 적용을 받는데, 때로는 "interim release" 또는 "maintenance release"(MR)라고도 한다. 예를 들어 마이크로소프트는 32비트 버전의 Windows XP용 3개의 주요 서비스 팩과 64비트 버전의 2개의 서비스 팩을 출시했다.이러한 서비스 릴리스에는 단일 설치 가능 패키지의 형태로 제공되는 업데이트, 수정 및 향상된 기능이 포함되어 있다.그들은 또한 새로운 특징들을 구현할 수도 있다.일부 소프트웨어는 정기적인 지원을 기대하며 출시된다.일반적으로 장기적 지원을 표준으로 하는 소프트웨어 종류에는 안티바이러스 세트대규모 멀티플레이어 온라인 게임이 포함된다.이 Windows XP 사례를 계속하면서 마이크로소프트는 확장 지원이 종료된 후 5년 동안 추가 유료 업데이트를 제공했다.2019년 4월 8일 지원이 종료된 셈이다.

종말

소프트웨어가 더 이상 판매되거나 지원되지 않을 때, 제품은 수명이 다하여 단종, 폐기, 퇴사, 퇴사, 폐기 또는 폐기에 이르렀다고 말하지만, 사용자 충성도는 플랫폼이 구식(예: Atari ST 및 Sinclair ZX Spectrum) 이후에도 한동안 그 존재를 지속할 수 있다.

개발자는 일반적으로 수명이 다한 후 새로운 기능을 구현하거나, 기존의 결함, 버그 또는 취약성을 수정하거나(그 날짜 이전에 알 수 있든 없든) 제품에 대한 지원을 제공하지 않는다.개발자가 원할 경우 소스코드를 해제해 플랫폼이 다시 살아나 자원봉사자에 의해 유지될 수 있고, 그렇지 않을 경우 나중에 폐웨어가 될 때 역설계될 수도 있다.

역사

"알파/베타" 시험 용어의 사용은 IBM에서 시작되었다.IBM의 소프트웨어 개발에 대한 유사한 용어는 적어도 1950년대(아마도 이전)부터 IBM과 관련된 사람들에 의해 사용되었다.'A' 테스트는 신제품 발표 전 검증이었고, 'B' 테스트는 제조할 제품을 출시하기 전 검증이었다."C" 테스트는 제품의 일반적 가용성에 앞서 최종 테스트였다.소프트웨어가 IBM의 오퍼링에서 중요한 부분이 되면서 알파 테스트 용어는 발표 전 테스트를 나타내기 위해 사용되었고 베타 테스트는 일반적인 가용성을 위한 제품 준비 상태를 보여주기 위해 사용되었다.IBM의 초기 소프트웨어 프로젝트의 매니저인 마틴 벨스키가 이 용어를 발명했다고 주장했다.IBM은 1960년대에 알파/베타 용어를 삭제했지만, 그때쯤에는 꽤 광범위한 통지를 받았다.고객이 실시한 테스트를 참조하기 위한 "베타 테스트"의 사용은 IBM에서 수행되지 않았다.오히려 IBM은 "현장 테스트"라는 용어를 사용했다.

주요 공개 베타 버전은 이후 개발되었으며, 초기 고객들은 IBM PC용 워드비전 워드프로세서의 "선구자 버전"을 49.95달러에 구입했다.1984년 스티븐 매너스는 "훌륭한 마케팅 쿠데타에서 브루스와 제임스 프로그램 출판사는 사람들이 그 제품을 시험하는 특권을 위해 을 지불하도록 만들었다"[14]고 썼다.2000년 9월, 애플의 Mac OS X Public Beta 운영 체제의 박스 버전이 출시되었다.[15]마이크로소프트가 2005년 9월부터 2006년 5월 사이에 윈도우 비스타를 위한 커뮤니티 기술 프리뷰(CTP)를 발매하고,[16] 2009년부터 2011년까지 마인크래프트는 공개 베타 상태에 있었다.

2005년 2월, ZDNet은 베타 버전이 몇 년 동안 머무르며 생산 수준에 있는 것처럼 이용되는 현상을 다룬 기사를 실었다.[17]예를 들어, GmailGoogle News는 널리 사용되었지만 오랫동안 베타 상태에 있었다는 점에 주목했다; Google News는 2006년 1월에 베타 버전을 남겼고, 그 다음으로는 2009년 7월에 Gmail을 포함한 Google Apps(현재의 Google Workspace)가 그 뒤를 이었다.[18]윈도8이 도입된 이후 마이크로소프트는 사전 발매 소프트웨어를 베타(beta)가 아닌 미리보기(preview)라고 불렀다.2014년 출시된 윈도 인사이더 프로그램을 통해 출시된 모든 사전 출시 빌드는 "Insider Preview 빌드"라고 불린다."베타"는 또한 출시 후보자와 더 비슷한 것을 나타낼 수도 있고, 시간제한 데모 또는 마케팅 기법의 한 형태일 수도 있다.[19]

참고 항목

참조

  1. ^ "Why Google kept Gmail in "beta" for so many years". 2009-07-07.
  2. ^ "Encyclopedia definition of alpha version". PC Magazine. Archived from the original on 2011-04-27. Retrieved 2011-01-12.
  3. ^ Ince, Darrel, ed. (2013). "Alpha software". A Dictionary of the Internet (3 ed.). Oxford University Press. ISBN 9780191744150. Retrieved 2019-07-15.
  4. ^ "The Next Generation 1996 Lexicon A to Z". Next Generation. No. 15. Imagine Media. March 1996. p. 29. Alpha software generally barely runs and is missing major features like gameplay and complete levels.
  5. ^ A Dictionary of Computer Science (7th ed.). Oxford University Press. 2016. p. 44. ISBN 9780199688975.
  6. ^ Cusumano, Michael (1998). Microsoft Secrets: How the World's Most Powerful Software Company Creates Technology, Shapes Markets, and Manages People. Free Press. pp. 202–203. ISBN 9780684855318.
  7. ^ "Definition of betaware in the Free Online Encyclopedia". thefreedictionary.com. Retrieved 2015-04-06.
  8. ^ "The Next Generation 1996 Lexicon A to Z". Next Generation. No. 15. Imagine Media. March 1996. p. 30.
  9. ^ "Technology Preview Features Support Scope". Red Hat. Retrieved 2015-03-18.
  10. ^ "Waiting with Beta'd Breath TidBITS #328 (May 13, 1996)". Archived from the original on 2006-05-15.
  11. ^ "What is Golden Master (GM)? - Definition from Techopedia". Techopedia.com.
  12. ^ "Mac OS X "Gold Master" Released To Manufacturing". Apple Newsroom.
  13. ^ Luxembourg, Yvan Philippe (2013-05-20). "Top 200 SAM Terms – A Glossary Of Software Asset Management Terms". OMTCO. Archived from the original on 2013-08-10. Retrieved 2013-05-21. {{cite journal}}:Cite 저널은 필요로 한다. journal=(도움말)
  14. ^ Manes, Stephen (1984-04-03). "Taking A Gamble With Word Vision". PC Magazine - The Independent Guide To IBM Personal Computers. Vol. 3, no. 6. PC Communications Corp. pp. 211–221. ISSN 0745-2500. Archived from the original on 2015-03-17. Retrieved 2015-02-15.
  15. ^ "Apple Releases Mac OS X Public Beta" (Press release). Apple Inc. 2000-09-13. Archived from the original on 2011-05-01. Retrieved 2011-02-22.
  16. ^ "Microsoft Windows Vista October Community Technology Preview Fact Sheet" (Press release). Microsoft. October 2005. Archived from the original on 2011-04-30. Retrieved 2011-02-22.
  17. ^ "A long winding road out of beta Tech News on ZDNet". 2005-02-14. Archived from the original on 2005-02-14. Retrieved 2019-04-28.
  18. ^ "Google Apps is out of beta (yes, really)". Google Blog. 2009-07-07. Archived from the original on 2011-01-21. Retrieved 2011-01-12.
  19. ^ 2011-04-30년 웨이백 머신보관베타스의 불편한 진실

참고 문헌 목록

  • 지속적인 제공: Jez Slevant, David Farley, ISBN 0-321-60191-2빌드, 테스트 배포 자동화를 통한 신뢰할 수 있는 소프트웨어 릴리스