릴리스 엔지니어링

Release engineering

릴리스 엔지니어링(대부분 RE 또는 클리핑 컴파운드 Releng)은 소프트웨어 엔지니어링의 하위 분야로, 완제품 또는 기타 소프트웨어 컴포넌트에 소스 코드를 컴파일, 조립 및 전달하는 것과 관련된 것입니다.소프트웨어 릴리스 라이프 사이클과 관련하여 Google Inc.[1][2]의 Boris Debic은 릴리스 엔지니어링은 소프트웨어 엔지니어링과 제조는 산업 프로세스와 같다고 말했습니다.

릴리스 엔지니어링은 소규모 팀 또는 스타트업의 제조 소프트웨어와 산업적으로 재현 가능하고 예측 가능한 결과를 제공하며 확장성이 뛰어난 제조 소프트웨어의 차이입니다.이러한 산업 스타일의 관행은 기업의 성장에 기여할 뿐만 아니라 성장을 가능하게 하는 중요한 요소이기도 합니다.

기술 기업의 성장을 가능하게 하는 릴리스 엔지니어링의 중요성은 John O'Duinn과[3] Bram [4]Adams에 의해 여러 번 주장되어 왔습니다.소프트웨어 개발을 프로세스 오버레이로 억제하는 것이 릴리스 엔지니어링의 목적은 아니지만 조직적 및 개발적 성숙의 신호로 간주되는 경우가 많습니다.

현대의 릴리스 엔지니어링은 소프트웨어 생산의 몇 가지 측면에 관련되어 있습니다.

식별 가능성
특정 릴리스를 구성하는 모든 소스, 도구, 환경 및 기타 컴포넌트를 식별할 수 있습니다.
재현성
운영 안정성을 보장하기 위해 소프트웨어 시스템의 소스, 서드파티 구성 요소, 데이터 및 외부 배치를 통합하는 기능.
일관성.
소프트웨어 컴포넌트의 개발, 도입, 감사 및 설명 책임을 위한 안정된 프레임워크를 제공하는 사명.
민첩성
지속적통합과 친환경 이니셔티브 추진[clarification needed] 등 최신 소프트웨어 엔지니어링 방식이 소프트웨어 사이클의 생산성에 미치는 영향에 대한 지속적인 연구

릴리스 엔지니어링은 개발, 제품 관리, 품질 보증 및 기타 엔지니어링 작업(DevOps라고도 함)의 교차점에 있는 보다 복잡한 소프트웨어 개발 팀을 위한 통합 허브입니다.릴리즈 엔지니어링 팀은 (Facebook, Google, Microsoft 등) 프로덕션 릴리즈(푸시)와 관련하여 책임과 권한이 동일한 특정 중요 제품에 대해 게이트키퍼 역할을 하는 경우가 많습니다.

대부분의 경우 구성 관리 시스템 또는 리비전 제어 시스템의 변경 추적은 릴리즈 엔지니어의 도메인의 일부입니다.버전 번호 부여 방식을 생성하여 소프트웨어에 적용하고 해당 번호를 적용하는 특정 소스 파일로 추적하는 책임은 릴리스 엔지니어에 있는 경우가 많습니다.소프트웨어 생산에서의 자동화 생산 또는 개선은 보통 릴리즈 엔지니어의 목표입니다.특정 소프트웨어 개발 및 구축에 필요한 모든 툴을 수집, 추적 및 제공하는 것은 고객에게 소프트웨어를 처음 출시한 후 수년 후에 안정적으로 복제 또는 유지하기 위해 릴리스 엔지니어링 태스크가 될 수 있습니다.

대부분의 소프트웨어 엔지니어 또는 소프트웨어 개발자는 작업 과정으로 위의 많은 작업 또는 모든 작업을 수행하지만, 대규모 조직에서는 릴리스 엔지니어의 전문성을 적용하여 서로 다른 소스 트리, 프로젝트, 팀 및 컴포넌트를 조정할 수 있습니다.이것에 의해, 개발자는 소프트웨어에 기능을 실장할 수 있게 됩니다.또한 품질보증 엔지니어는 생산한 소프트웨어를 보다 광범위하고 상세하게 테스트할 수 있게 됩니다.

릴리스 엔지니어는 소프트웨어 엔지니어링 팀과 소프트웨어 품질 보증 팀에 소프트웨어, 서비스 또는 둘 다 제공할 수 있습니다.제공된 소프트웨어는 컴파일 출력을 가져와 미리 정의된 트리 구조에 배치하는 도구, 어셈블리 또는 기타 재구성 스크립트를 작성할 수 있습니다.또, 테스트 팀이나 소프트웨어의 최종 소비자가 사용하는 인스톨러의 작성이나 작성에도 사용할 수 있습니다.제공되는 서비스에는 소프트웨어 빌드(컴파일) 자동화, 자동 테스트 통합, 결과 보고서 작성, 전자 미디어(CD, DVD) 또는 전자 소프트웨어 배포 메커니즘 등의 소프트웨어 전송 시스템 제작 또는 준비가 포함됩니다.

관련 분야

레퍼런스

  1. ^ Adams, Bellomo, Bird, Marshall-Keim, Khomh, Moir (March 2015). "The Practice and Future of Release Engineering". IEEE Software. IEEE Computer Society. 32 (2): 46. doi:10.1109/ms.2015.52.
  2. ^ "Behind the Scenes - Production Pushes".
  3. ^ 존 오딘, 2015년힘의 승수로 엔지니어링을 해방합니다.릴리스 엔지니어링에 관한 제3차 국제 워크숍의 진행(RELENG '15).IEEE Press, Piscataway, NJ, 미국, 1-1.
  4. ^ 2013년 제1회 릴리즈 엔지니어링 국제 워크숍 진행IEEE 프레스, 피스카타웨이, 뉴저지, 미국

추가 정보

  • 마이클 E의 "소프트웨어 출시 방법론"베이, ISBN 0-13-636564-7.
  • H. Ronald Berlack의 "소프트웨어 구성 관리", ISBN 0-471-53049-2.
  • H. Sassenburg, ISBN 90-367-2424-4의 "소프트웨어 출시 결정을 지원하는 방법론 설계"
  • Jez Humble, David Farley의 "Continuous Delivery: 빌드, 테스트 및 도입 자동화를 통한 신뢰성 높은 소프트웨어 출시" (ISBN 0-321-60191-2)