2020.09.14

지라 자동화를 이용한 애자일, 데브옵스, ITSM의 단순화

Isaac Sacolick | InfoWorld
지난해 말, 아틀라시안(Atlassian)은 오토메이션(Automation) 인수를 발표했다(오토메이션은 지라 소프트웨어(Jira Software)에 대한 인기있는 플러그인이다). 이 전까지 지라에서의 자동화는 워크플로우 트리거를 구성하는 방식으로 가능했다. 이를 위해 반복 작업과 같은 시중의 플러그인을 사용하거나 자피어 지라(Zapier Jira) 통합과 같은 도구로 IFTTT(if this, then that) 규칙을 적용했다. 
 
ⓒ Getty Images Bank

이제 지라 자동화에서는 사용자 인터페이스에서 직접 새로운 종류의 자동화를 실행할 수 있게 되었다. 지라 이슈 및 버전의 자동화 이외에도 아틀라시안에서 최근 발표한 데브옵스 자동화를 통해 개발자들은 풀 요청과 빌드를 비롯한 데브옵스 활동을 기반으로 동작을 자동 실행시킬 수 있게 되었다.
 
이런 개선점이 가져온 로우 코드 기능 덕분에 애자일, 데브옵스, ITSM(IT service management) 팀들은 원하는 대로 일은 더 많이 끝내고 도구 업데이트하는 시간은 줄일 수 있다. 자동화가 도움이 될 수 있는 부분은 다단계 프로세스 감축, 워크플로우 간극 해결, 좀 더 원활한 원격 근무 시행, 보안 허점 메우기, 다른 플랫폼들 간 워크플로우 연결 등이다. 

깃허브, 깃랩, 비트버킷 등의 도구에서 진행된 코드 변경으로 인해 지라 소프트웨어 업데이트가 자동 실행될 때 데브옵스 트리거는 개발자 및 테스터 시간을 단축시킬 수 있다. 지라 서비스 데스크를 사용하는 ITSM 팀들의 경우에 자동화의 장점은 관리자들이 요청과 사건의 전달을 최적화하고 서비스 수준 목표를 준수하게 해 줄 수 있다는 점이다.

자동화가 시행되면 개발자들이 백로그 업데이트에 들이던 시간이 줄어들기 때문에 개발 팀에서 지라를 싫어하는 현상이 사라지는 부수적인 효과도 있다. 또한, 팀에서 릴리스 빈도를 늘리고 사건 해결 시간은 줄이며 팀 속도를 향상시키는 데에도 도움이 될 수 있다.


지라 자동화로 할 수 있는 작업 이해하기

지라 자동화는 작동 방식이 다른 IFTTT 알고리즘과 동일하지만, 지라 소프트웨어 내 기본 데이터와 워크플로우 전체에 접근권이 있다는 점이 다르다. 지라 자동화 트리거의 종류는 지라 이슈 유형, 스프린트, 버전 등 여러 가지 가운데 하나다.

자동화를 설계할 수 있는 경우는 팀원이 지라 이슈를 추가하거나 수정할 때, 스크럼 마스터가 스프린트를 개시하거나 완료할 때, 팀 리더가 버전을 작성, 업데이트하거나 공개할 때 등이다. 이와 같이 자동 실행을 가능하게 하는 트리거는 고품질 데이터로 지라의 업데이트 상태를 유지하기 위해 필요한 업무를 단순화하고 싶어하는 스크럼 마스터와 제품 소유자, 그리고 기술 리더들에게 매우 유용하다.

지라 자동화는 데브옵스 이벤트와 연결된 트리거 역시 지원한다. 예를 들면, 풀 요청, 빌드, 브랜치, 커밋먼트, 배치 등이다. 이들 이벤트는 비트버킷, 깃랩, 깃허브와 연결되며, 버전 관리에서 수행된 개발자 활동을 기준으로 지라 또는 버전 상태를 업데이트한다.

좀더 발전된 트리거는 정해진 일정에 실행되거나 웹훅(webhook)에 반응할 수 있다. 이 2가지 트리거를 사용하는 팀들은 지라 워크플로를 다른 도구와 통합하거나 정해진 일정에 관리 작업을 자동화할 때 창의력을 크게 발휘할 수 있다.

트리거를 구성한 뒤에는, 필터링 조건을 좀 더 추가하거나 흐름을 가지치기해서 다른 동작을 지원할 선택권이 있다. 한 동작은 자동화에서 한 단계를 규정한다. 지라 이슈를 수정할 수 있는 방법은 다른 이슈로 배정해 연결하거나 작업 로깅 또는 다른 필드를 편집하는 방법이 있다. 또한, 이메일, 트윌리로(Twilio), 슬랙, 마이크로소프트 팀즈를 이용한 알림을 구성할 수도 있다.

첫 번째 동작을 구성한 뒤에는, 자동화를 완료할 수 있고 아니면 더 많은 필터와 브랜치, 추가 동작으로 흐름을 계속해 나아갈 수도 있다.


지라 자동화로 요청 관리 자동화

애플리케이션 지원 팀은 이해관계자와 사용자가 직접 애플리케이션 이슈 및 요청을 제출할 수 있게끔 요청 백로그를 개발하는 경우가 많다. 기본 워크플로우는 최종 사용자가 지라에 요청을 제출하면 애자일 개발 팀의 일원이 검토해서 필요할 경우 질문을 하고 세부적인 구현 내용이 있으면 추가하는 방식이다. 그 다음에는 애자일 팀의 애자일 제품 소유자가 이 요청을 해당 팀의 스토리 백로그에 추가할 지 여부와 다른 업무와 더불어 어디에 우선순위를 둘지 결정한다.

지라에서 이 프로세스를 구현하는 방식은 프로젝트, 이슈 종류, 워크플로우 또는 화면 구성에 따라 여러 가지가 있다. 구성과 관계없이 핵심적인 설계 상 고려사항은 어떻게 최초의 요청을 팀원에게 배정해 검토를 맡길 것인가 하는 점이다. 자동화 전에는 관리자의 선택지가 한정되어 있었다. 이슈 검토에 적절한 사람이 누구인지 팀들에게 판단을 맡기는 경우가 많았다.

지라 자동화에는 여러 가지 새로운 선택지가 있다. 한 가지 방법은 이슈 종류와 제출된 다른 데이터를 기준으로 이슈를 자동 배정하는 방법이다. 그러면 자동화를 통해 팀 전체에 걸쳐 워크로드의 균형이 맞춰진다. 지라에서는 동기화된 순차 순환 또는 무작위 배정을 지원하는데 이를 활용하는 것이다. 그러나 그것으로는 부족할 수도 있다. 만일 배정된 사람이 지정된 시간 안에 응답하지 않아서 팀 내 다른 사람에게 다시 배정해야 하는 경우에는 어떻게 하는가? 그런 경우에는, 타 부서에게 넘겨야 할 요청을 식별하는 JQL 쿼리를 기준으로 일정이 정해진 자동화를 활용해 재배정을 스트립트화 할 수 있다.

마지막으로 고려해야 할 한 가지는 지라 이슈 보안이다. 가령, 해당 팀이 HR 애플리케이션을 지원하고 이 애플리케이션에 대한 요청을 확보해 소규모 그룹에 배정해야 한다고 하자. 이제는 이슈 보안 기법을 만들고 보안 수준을 정의하고 팀원을 보안 수준에 배정하는 방식으로 이슈 보안 자동화가 가능하다. 또한, 이슈를 보안 수준에 배정하는 하나의 동작을 사용할 수 있고 두 번째 동작을 추가해 그 이슈를 적절한 보안 수준을 갖춘 사람에게 배정할 수도 있다.


지라 서비스 데스크에 자동화 적용

지라 서비스 데스크 타겟팅을 위한 자동화는 구성이 지라 소프트웨어와 다르다. 그러나, 작동 개념은 트리거, 조건, 동작 등으로 비슷하다. 지라 서비스 데스크 트리거는 SLA 잔여 시간을 기준으로 한 것이 포함되며 그 다음에는 사용자 알림 또는 요청 자동 승인과 같은 동작을 사용한다.

필자는 아틀라시안 솔루션 제공업체 이소스 테크(Isos Tech) CEO 태스 웨스트와 지라 서비스 데스크에서의 자동화 적용에 대해 이야기를 나눴다. 태스 웨스트는 “자동화는 서비스 데스크 내에서의 데이터 확보에 필수적인 역할을 할 수 있다. 예를 들면, ‘훈련에 접근할 수 있습니까?’와 같은 HR 요청은 ‘저기요, 동료 직원에 대한 불만이 있습니다’ 같은 말보다는 훨씬 더 가시적이고 제한은 적어야 한다. 궁극적으로는 서비스 데스크가 사용자의 사생활을 존중할 수 있도록 해야 한다. 자동화는 그렇게 할 수 있는 매우 좋은 방법이다”라고 설명했다. 

서비스 요청을 걸러내면 우선순위를 자동 배치한 후 지식이 가장 많은 사람에게 전달하는 데에도 도움이 될 수 있다. IT 서비스 관리 팀은 자동화를 사용해 여러 계층의 서비스 팀 간에 이슈를 전달할 수도 있다.


데브옵스 운영을 지라 소프트웨어에 연결

속도와 팀 만족도를 높일 수 있는 한 가지 방법은 힘든 일과 관리 업무를 줄이는 것이다. 코드를 커밋하는 개발자나 풀 요청을 완수하는 팀원은 사용자 스토리 상태를 업데이트하기 위해 지라로 전환하는 것을 원하지 않을 것이다. 이와 비슷하게, 데브옵스 팀은 CI/CD(Continuous Integration/Continuous Development) 파이프라인을 필요 시 자동 실행시키기 원하고, 지라 버전을 업데이트시키고 싶어하며, 지라를 사용해 이해관계자 및 사용자에게 알림을 발송하고 싶어 한다.

팀들은 이 모든 것을 지라 소프트웨어의 데브옵스 자동화로 할 수 있지만, 먼저 코드 저장소를 통합해야 한다. 자동화 기능으로 지원되는 통합을 위해서는 지라 클라우드에 깃허브를 연결하고 지라 클라우드에 비트버킷을 연결하거나 깃랩의 지라 통합을 사용해야 한다. 

데브옵스 통합 시 설계 상 고려사항 한 가지는 트리거의 용량과 맥락이다. 팀에서 매일 수백 건의 풀 요청을 수행하는 경우, 팀원과 백로그를 업데이트 상태로 유지시키기 위해 필수적인 트리거를 걸러내는 데 라벨 등의 정보가 도움이 될 수 있는지 고려해 봐야 한다.
중점을 두는 것이 애자일 개발이든, 데브옵스 또는 ITSM이든 간에, 통합과 반복 작업 또는 다단계 워크플로우를 자동화하면 생산성과 데이터 품질을 향상시킬 수 있다. editor@itworld.co.kr 


2020.09.14

지라 자동화를 이용한 애자일, 데브옵스, ITSM의 단순화

Isaac Sacolick | InfoWorld
지난해 말, 아틀라시안(Atlassian)은 오토메이션(Automation) 인수를 발표했다(오토메이션은 지라 소프트웨어(Jira Software)에 대한 인기있는 플러그인이다). 이 전까지 지라에서의 자동화는 워크플로우 트리거를 구성하는 방식으로 가능했다. 이를 위해 반복 작업과 같은 시중의 플러그인을 사용하거나 자피어 지라(Zapier Jira) 통합과 같은 도구로 IFTTT(if this, then that) 규칙을 적용했다. 
 
ⓒ Getty Images Bank

이제 지라 자동화에서는 사용자 인터페이스에서 직접 새로운 종류의 자동화를 실행할 수 있게 되었다. 지라 이슈 및 버전의 자동화 이외에도 아틀라시안에서 최근 발표한 데브옵스 자동화를 통해 개발자들은 풀 요청과 빌드를 비롯한 데브옵스 활동을 기반으로 동작을 자동 실행시킬 수 있게 되었다.
 
이런 개선점이 가져온 로우 코드 기능 덕분에 애자일, 데브옵스, ITSM(IT service management) 팀들은 원하는 대로 일은 더 많이 끝내고 도구 업데이트하는 시간은 줄일 수 있다. 자동화가 도움이 될 수 있는 부분은 다단계 프로세스 감축, 워크플로우 간극 해결, 좀 더 원활한 원격 근무 시행, 보안 허점 메우기, 다른 플랫폼들 간 워크플로우 연결 등이다. 

깃허브, 깃랩, 비트버킷 등의 도구에서 진행된 코드 변경으로 인해 지라 소프트웨어 업데이트가 자동 실행될 때 데브옵스 트리거는 개발자 및 테스터 시간을 단축시킬 수 있다. 지라 서비스 데스크를 사용하는 ITSM 팀들의 경우에 자동화의 장점은 관리자들이 요청과 사건의 전달을 최적화하고 서비스 수준 목표를 준수하게 해 줄 수 있다는 점이다.

자동화가 시행되면 개발자들이 백로그 업데이트에 들이던 시간이 줄어들기 때문에 개발 팀에서 지라를 싫어하는 현상이 사라지는 부수적인 효과도 있다. 또한, 팀에서 릴리스 빈도를 늘리고 사건 해결 시간은 줄이며 팀 속도를 향상시키는 데에도 도움이 될 수 있다.


지라 자동화로 할 수 있는 작업 이해하기

지라 자동화는 작동 방식이 다른 IFTTT 알고리즘과 동일하지만, 지라 소프트웨어 내 기본 데이터와 워크플로우 전체에 접근권이 있다는 점이 다르다. 지라 자동화 트리거의 종류는 지라 이슈 유형, 스프린트, 버전 등 여러 가지 가운데 하나다.

자동화를 설계할 수 있는 경우는 팀원이 지라 이슈를 추가하거나 수정할 때, 스크럼 마스터가 스프린트를 개시하거나 완료할 때, 팀 리더가 버전을 작성, 업데이트하거나 공개할 때 등이다. 이와 같이 자동 실행을 가능하게 하는 트리거는 고품질 데이터로 지라의 업데이트 상태를 유지하기 위해 필요한 업무를 단순화하고 싶어하는 스크럼 마스터와 제품 소유자, 그리고 기술 리더들에게 매우 유용하다.

지라 자동화는 데브옵스 이벤트와 연결된 트리거 역시 지원한다. 예를 들면, 풀 요청, 빌드, 브랜치, 커밋먼트, 배치 등이다. 이들 이벤트는 비트버킷, 깃랩, 깃허브와 연결되며, 버전 관리에서 수행된 개발자 활동을 기준으로 지라 또는 버전 상태를 업데이트한다.

좀더 발전된 트리거는 정해진 일정에 실행되거나 웹훅(webhook)에 반응할 수 있다. 이 2가지 트리거를 사용하는 팀들은 지라 워크플로를 다른 도구와 통합하거나 정해진 일정에 관리 작업을 자동화할 때 창의력을 크게 발휘할 수 있다.

트리거를 구성한 뒤에는, 필터링 조건을 좀 더 추가하거나 흐름을 가지치기해서 다른 동작을 지원할 선택권이 있다. 한 동작은 자동화에서 한 단계를 규정한다. 지라 이슈를 수정할 수 있는 방법은 다른 이슈로 배정해 연결하거나 작업 로깅 또는 다른 필드를 편집하는 방법이 있다. 또한, 이메일, 트윌리로(Twilio), 슬랙, 마이크로소프트 팀즈를 이용한 알림을 구성할 수도 있다.

첫 번째 동작을 구성한 뒤에는, 자동화를 완료할 수 있고 아니면 더 많은 필터와 브랜치, 추가 동작으로 흐름을 계속해 나아갈 수도 있다.


지라 자동화로 요청 관리 자동화

애플리케이션 지원 팀은 이해관계자와 사용자가 직접 애플리케이션 이슈 및 요청을 제출할 수 있게끔 요청 백로그를 개발하는 경우가 많다. 기본 워크플로우는 최종 사용자가 지라에 요청을 제출하면 애자일 개발 팀의 일원이 검토해서 필요할 경우 질문을 하고 세부적인 구현 내용이 있으면 추가하는 방식이다. 그 다음에는 애자일 팀의 애자일 제품 소유자가 이 요청을 해당 팀의 스토리 백로그에 추가할 지 여부와 다른 업무와 더불어 어디에 우선순위를 둘지 결정한다.

지라에서 이 프로세스를 구현하는 방식은 프로젝트, 이슈 종류, 워크플로우 또는 화면 구성에 따라 여러 가지가 있다. 구성과 관계없이 핵심적인 설계 상 고려사항은 어떻게 최초의 요청을 팀원에게 배정해 검토를 맡길 것인가 하는 점이다. 자동화 전에는 관리자의 선택지가 한정되어 있었다. 이슈 검토에 적절한 사람이 누구인지 팀들에게 판단을 맡기는 경우가 많았다.

지라 자동화에는 여러 가지 새로운 선택지가 있다. 한 가지 방법은 이슈 종류와 제출된 다른 데이터를 기준으로 이슈를 자동 배정하는 방법이다. 그러면 자동화를 통해 팀 전체에 걸쳐 워크로드의 균형이 맞춰진다. 지라에서는 동기화된 순차 순환 또는 무작위 배정을 지원하는데 이를 활용하는 것이다. 그러나 그것으로는 부족할 수도 있다. 만일 배정된 사람이 지정된 시간 안에 응답하지 않아서 팀 내 다른 사람에게 다시 배정해야 하는 경우에는 어떻게 하는가? 그런 경우에는, 타 부서에게 넘겨야 할 요청을 식별하는 JQL 쿼리를 기준으로 일정이 정해진 자동화를 활용해 재배정을 스트립트화 할 수 있다.

마지막으로 고려해야 할 한 가지는 지라 이슈 보안이다. 가령, 해당 팀이 HR 애플리케이션을 지원하고 이 애플리케이션에 대한 요청을 확보해 소규모 그룹에 배정해야 한다고 하자. 이제는 이슈 보안 기법을 만들고 보안 수준을 정의하고 팀원을 보안 수준에 배정하는 방식으로 이슈 보안 자동화가 가능하다. 또한, 이슈를 보안 수준에 배정하는 하나의 동작을 사용할 수 있고 두 번째 동작을 추가해 그 이슈를 적절한 보안 수준을 갖춘 사람에게 배정할 수도 있다.


지라 서비스 데스크에 자동화 적용

지라 서비스 데스크 타겟팅을 위한 자동화는 구성이 지라 소프트웨어와 다르다. 그러나, 작동 개념은 트리거, 조건, 동작 등으로 비슷하다. 지라 서비스 데스크 트리거는 SLA 잔여 시간을 기준으로 한 것이 포함되며 그 다음에는 사용자 알림 또는 요청 자동 승인과 같은 동작을 사용한다.

필자는 아틀라시안 솔루션 제공업체 이소스 테크(Isos Tech) CEO 태스 웨스트와 지라 서비스 데스크에서의 자동화 적용에 대해 이야기를 나눴다. 태스 웨스트는 “자동화는 서비스 데스크 내에서의 데이터 확보에 필수적인 역할을 할 수 있다. 예를 들면, ‘훈련에 접근할 수 있습니까?’와 같은 HR 요청은 ‘저기요, 동료 직원에 대한 불만이 있습니다’ 같은 말보다는 훨씬 더 가시적이고 제한은 적어야 한다. 궁극적으로는 서비스 데스크가 사용자의 사생활을 존중할 수 있도록 해야 한다. 자동화는 그렇게 할 수 있는 매우 좋은 방법이다”라고 설명했다. 

서비스 요청을 걸러내면 우선순위를 자동 배치한 후 지식이 가장 많은 사람에게 전달하는 데에도 도움이 될 수 있다. IT 서비스 관리 팀은 자동화를 사용해 여러 계층의 서비스 팀 간에 이슈를 전달할 수도 있다.


데브옵스 운영을 지라 소프트웨어에 연결

속도와 팀 만족도를 높일 수 있는 한 가지 방법은 힘든 일과 관리 업무를 줄이는 것이다. 코드를 커밋하는 개발자나 풀 요청을 완수하는 팀원은 사용자 스토리 상태를 업데이트하기 위해 지라로 전환하는 것을 원하지 않을 것이다. 이와 비슷하게, 데브옵스 팀은 CI/CD(Continuous Integration/Continuous Development) 파이프라인을 필요 시 자동 실행시키기 원하고, 지라 버전을 업데이트시키고 싶어하며, 지라를 사용해 이해관계자 및 사용자에게 알림을 발송하고 싶어 한다.

팀들은 이 모든 것을 지라 소프트웨어의 데브옵스 자동화로 할 수 있지만, 먼저 코드 저장소를 통합해야 한다. 자동화 기능으로 지원되는 통합을 위해서는 지라 클라우드에 깃허브를 연결하고 지라 클라우드에 비트버킷을 연결하거나 깃랩의 지라 통합을 사용해야 한다. 

데브옵스 통합 시 설계 상 고려사항 한 가지는 트리거의 용량과 맥락이다. 팀에서 매일 수백 건의 풀 요청을 수행하는 경우, 팀원과 백로그를 업데이트 상태로 유지시키기 위해 필수적인 트리거를 걸러내는 데 라벨 등의 정보가 도움이 될 수 있는지 고려해 봐야 한다.
중점을 두는 것이 애자일 개발이든, 데브옵스 또는 ITSM이든 간에, 통합과 반복 작업 또는 다단계 워크플로우를 자동화하면 생산성과 데이터 품질을 향상시킬 수 있다. editor@itworld.co.kr 


X