조명 표시기 제작

Build light indicator
실제 빌드 외에도 유닛 테스트와 같은 프로세스에 적용되는 빌드 라이트 시리즈

빌드 라이트 인디케이터애자일 소프트웨어 개발에서 소프트웨어 개발 팀에게 프로젝트의 현황을 알리기 위해 사용되는 간단한 시각 지표다.실제 사용되는 물체는 압력계부터 용암등까지 다양할 수 있지만, 그 목적은 소프트웨어 프로세스(예: '구축')의 성공여부를 신속하게 전달하는 것이다.

역사

빌드 라이트 인디케이터는 ThoughtWorks의 직원들이 만든 연속 통합 도구인 [citation needed]CruiseControl에서 유래했다.주로 빌드에 대한 보다 자세한 정보를 보고할 수 있는 웹 페이지 대시보드로 기능했지만, 소프트웨어는 보다 간단한 보고를 위해 외부 장치를 제어할 수도 있다.[1]

사용하다

빌드라이트의 전통적인 용도는 연속 통합(CI) 시스템에서 소프트웨어 빌드의 성공을 결정하는 것이다.[2]다른 개발 팀들이 다른 지표를 사용했지만, 인기 있는 선택은 녹색과 빨간색 용암등이다. 녹색은 빌드가 성공했을 때, 빨간색은 뭔가 잘못되었을 때 빨간색이다.[3]빌드 조명은 웹캠이나 다른 수단을 통해 원격으로 접근할 수도 있다.[4]그러나 바쁜 개발 사무소의 많은 테스트는 최신 변경 후 항상 재테스트 상태에 있기 때문에 일부 지표는 합격, 불합격, 재테스트의 세 가지 상태 표시를 통해[2] 직원과 관리자에게 보다 미묘한 지표를 제공한다.[5]

단일 지시자 이상

지속적인 통합에서 지속적인 테스트로 성장함에 따라, 단일 코드베이스에서도 동시 빌드 대상의 수가 증가할 수 있다.단순 빌드(즉, 컴파일) 목표뿐만 아니라, 이제 유닛 테스트와 다양한 수준의 시스템 테스트가 있을 것이다.광범위한 테스트는 느리고 개발자에게 신속한 피드백을 주기 위해 빠른 테스트를 계속 실행하는 것이 바람직하므로 구축 대상의 수가 50개 이상으로 증가할 수 있다.단순한 용암등 전시로는 보여주기엔 너무 많다.Jenkins와 같은 통합 서버는 웹 액세스 가능한 대시보드 페이지를 제공하며, 대신 벽에 장착된 평면 스크린 모니터에 영구적으로 표시될 수 있다.이러한 대시보드의 세부 사항은 사무실 전체에 걸쳐 읽기에는 너무 작지만, 색상 변화는 전반적인 상태 그림을 나타낸다.

지속적인 시험 주도형 개발의 방법론으로, 이를 통과시키기 위한 작업 코드가 개발되기 전에 새로운 시험이 발표된다.따라서 일부 시험이 알려져 있고, 실제로 실패해야 하는 기간이 있다.[6]불합격 시험은 우려 상황을 탐지하는 새로운 시험의 능력을 입증하기 때문에 필요하다.일단 새로운 코드가 개발되고 작동되면, 이 테스트들은 통과하기 시작한다.따라서 새로운 시험이 코드보다 먼저 공개되는 연속적인 시험 환경은 두 가지 빌드 목표가 필요하다. 하나는 최신 코드를 추적하고 다른 하나는 '해제 후보'는 모든 시험이 통과 코드에 의해 충족될 때만 점진적으로 업데이트된다.빌드 인디케이터의 경우 이는 또한 그러한 대상 중 하나가 종종 테스트에 "실패"하는 것으로 나타날 것임을 의미한다.이러한 예상된 "실패"는 순진한 관찰자들에게 오해를 불러일으킬 수 있기 때문에 빌드 지표는 이를 숨기거나 분명하게 표시해야 한다.

이전 제품 버전과 같은 여러 코드 타겟이 여전히 CI에 대해 지원되지만 그러한 적극적인 개발 중에 있지 않은 경우, 완전한 대시보드는 거의 변하지 않는 "스테이일" 타겟에 의해 지배될 수 있다.이 경우, 장애가 발생하거나 최근에 활성 상태인 대상만 표시되는 선택된 대시보드가 더 적절할 수 있다.전체 대시보드는 개발자의 데스크톱에서 사용할 수 있지만 벽면 디스플레이에는 중요한 하이라이트만 표시된다.이러한 대시보드는 종종 주 대시보드를 스크린 스크랩하고 현지 필요에 따라 관련 로컬 필터를 적용하여 로컬로 코드화된다.정적 대시보드에 비해 동적 필터링된 대시보드의 한 가지 단점은 특정 대상에 대한 아이콘의 위치가 화면에서 이동하여 사무실 전체에서 읽기 힘들 수 있다는 것이다.이 경우 단순한 컬러 블록보다는 제품 로고 등 특색 있는 아이콘이 표시될 수 있다.

참조

  1. ^ Mike Cohn (10 July 2009). Succeeding with Agile: Software Development Using Scrum. Pearson Education. pp. 245–. ISBN 978-0-321-57936-2. Retrieved 23 August 2011.
  2. ^ a b "The Orb - Build Indicator Lamp". agileskunkworks.org. Archived from the original on June 11, 2010.
  3. ^ Ken W. Collier (27 July 2011). Agile Analytics: A Value-Driven Approach to Business Intelligence and Data Warehousing. Addison-Wesley. pp. 281–. ISBN 978-0-321-50481-4. Retrieved 23 August 2011.
  4. ^ Karsten, Paul; Cannizzo, Fabrizzio (2007). "The creation of a distributed agile team". XP'07 Proceedings of the 8th International Conference on Agile Processes in Software Engineering and Extreme Programming. Lecture Notes in Computer Science. Association for Computing Machinery. 4536: 235–239. doi:10.1007/978-3-540-73101-6_44. ISBN 978-3-540-73100-9.
  5. ^ 빌드 라이트(Build Light) – Continuous Delivery, Reengineering an[sic USB 드라이버] 2013년 9월 15일 웨이백 머신(Wayback Machine) - Bernd Zuther, comSysto GmbH, 2013)에 보관
  6. ^ Madeyski, L.; Kawalerowicz, M. (4–6 July 2013). Continuous Test-Driven Development - A Novel Agile Software Development Practice and Supporting Tool. Proc. 8th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE). Angers, France. p. 262.