티스토리 뷰
<참조> https://www.azuredevopslabs.com/labs/azuredevops/agile/
그동안 우리는 Terraform을 활용하여 Azure 인프라를 관리하는 실습을 진행해 보았다. 이번 글에서는 Azure DevOps를 사용하여 Agile 플래닝과 포트폴리오를 관리하는 내용에 대해 전반적으로 살펴 보고자 한다. 원문의 Hands-on을 수행하며 그 수행 결과를 토대로 한글화 및 현행화(UI) 를 진행하였으며 최대한 원문 Hands-on의 취지를 반영하고자 원문에서 사용하는 용어(특히 Agile에서 사용되는 용어)를 유지하며 작성하였다. 참고로 본 랩 자체에서 사용된 6개의 "Task"를 "과제"로 표기하였으며 User Story(사용자 스토리)를 완료하는데 필요한 작업을 의미하는 "task"를 "일감"으로 표기하였다. 이 글을 작성하는 과정에서 Azure DevOps를 활용해 CI/CD를 구성하지 않거나 Azure 클라우드를 사용하지 않는 사용자들에게도 Azure DevOps의 Board는 Agile 프로젝트를 수행하는데 있어 매우 유용하고 편리한 도구임을 느꼈으며 본 랩의 데모에서 기본 제공되는 시나리오에 대한 검토만으로도 Agile에 대한 실무적 Insight를 얻을 수 있을거라 생각된다. 이 랩은 전체 6개의 과제로 이루어져 있으며 그 내용이 방대하여 두번에 걸쳐 게시하고자 한다. 따라서 이번 글에서는 과제1~3까지의 내용을 먼저 정리한다. |
개요
이 랩에서는 Azure Boards에서 제공하는 민첩한(agile) 계획(planning)및 포트폴리오 관리 도구 그리고 프로세스와 팀 전체에서 작업을 신속하게 계획, 관리 및 추적하는 데 도움이 되는 방법에 대해 알아 본다. 반복(iteration) 과정 속에서 작업 흐름을 추적하는 데 사용할 수 있는 제품 백로그, 스프린트 백로그 및 일감(task) 보드를 살펴본다. 또한 이번 릴리즈에서 대규모 팀과 조직에 대해 확장할 수 있도록 도구가 어떻게 향상되었는지 살펴 볼 것이다.
선행 조건
연습 1: Agile 프로젝트 관리
과제 1: teams, areas 및 iterations 으로 작업하기
1. Azure DevOps의 Parts Unlimited 프로젝트로 이동한다. https://dev.azure.com/YOURACCOUNT/Parts%20Unlimited와 같이 보일 것이다.
2. 페이지 좌측 하단에 위치한 Project settings 네비게이션을 사용하여 설정 페이지를 연다.
3. Teams 탭을 선택한다. 이 프로젝트에는 이미 몇 개의 팀이 존재한다. 그러나 이 랩을 위해 새로 하나를 만든다. New team을 클릭한다.
4. Team name으로 “PUL-Web”를 사용하여 Create team을 클릭한다.
5. 새로 생성된 팀을 선택하여 상세정보를 확인한다.
6. 기본적으로 새로운 팀에는 멤버로 여러분 자신만을 가지게 된다. 이 보기를 사용하여 멤버십, 알림, 대시보드 등을 관리 할 수 있다. 그러나 먼저 팀의 일정과 범위를 정의하고 싶을 것이다. Iterations and Area Paths를 클릭한다.
7. Iterations 탭과 Select iterations을 선택한다. 여러분 조직에 더 좋은 경우 다른 경로를 사용할 수 있지만 현재 팀은 다른 팀을 위해 이미 설정된 동일한 반복 일정을 사용할 것이다.
8. Parts Unlimited\Sprint 1을 선택하고 Save and close을 클릭한다. 첫 스프린트는 이미 지나간 기간임을 주목한다. 이는 데모 데이터 생성기가 프로젝트 기록을 구축할 때 이 스프린트가 과거에 발생한 것으로 설계 되었기 때문이다.
9. Sprint 2와 Sprint 3을 추가하려면이 과정을 반복한다. 두 번째 스프린트가 지금 현재의 iteration이고 세 번째 스프린트는 곧 다가올 가까운 미래가 된다.
10. Areas 탭을 선택한다. 기본적으로 팀의 이름과 일치하는 영역(area)이 존재한다.
11. 영역 드롭 다운에서 Include sub areas(하위 영역 포함)을 선택한다. 모든 팀의 기본 설정은 하위 영역 경로를 제외하는 것이다. 팀이 하위 영역을 포함하도록 변경하여 팀이 모든 팀의 모든 작업 항목을 볼 수 있도록 한다. 선택적으로 관리팀은 하위 영역을 포함하지 않도록 선택할 수 있으며, 작업 항목이 팀 중 하나에 할당되는 즉시 보이지 않도록 보기에서 제거 할 수 있다.
과제 2: 작업 항목(work item)으로 작업하기
Azure DevOps에서 작업 항목은 중요한 역할을 한다. 수행해야 할 작업, 릴리즈 장애, 테스트 정의 또는 기타 주요 항목을 설명 할 때 작업 항목은 현대 프로젝트의 핵심이다. 이 과제에서는 다양한 작업 항목을 사용하여 제품 교육 섹션으로 Parts Unlimited 사이트를 확장할 계획을 세우는 데 중점을 둔다. 회사 오퍼링의 상당 부분을 구축하는 것은 어려울 수 있지만 Azure DevOps 및 Scrum 프로세스는 매우 관리하기 쉽다.
이 과제는 다양한 종류의 작업 항목을 만들 수 있는 다양한 방법을 설명하고 플랫폼에서 사용할 수 있는 다양한 기능을 보여주기 위해 고안되었다. 결과적으로 이러한 단계를 프로젝트 관리를 위한 규범적 지침으로 간주되어서는 안된다. 이 기능은 여러분의 프로세스 요구에 맞도록 충분히 유연하게 설계 되었으므로 진행해 나가며 탐색하고 실험 해본다.
1. Overview - Dashboards로 이동한다.
2. Parts Unlimited 팀의 대시보드 Overview를 선택한다.
3. Azure DevOps에서 작업 항목을 만드는 방법에는 여러 가지가 있으며 그 중 몇 가지를 살펴 보겠다. New Work Item 항목 양식에서 "Product training"을 입력하고 Epic(에픽) 유형을 선택한다. Create를 클릭한다.
4. 새 작업 항목을 자신에게 할당하고 영역을 Parts Unlimited\PUL-Web으로 설정한다. Iteration을 Parts Unlimited\Sprint 2로 설정하고 Save & Close를 클릭한다. 보통은 가능한 한 많은 정보를 작성하고 싶겠지만, 이 랩의 목적을 위해 이대로 따라 진행하면 된다.
5. Boards - Work items로 이동한다.
6. 새로 생성한 Product training 에픽으로 이동하여 연다.
7. 작업 항목 양식에는 작업 항목에 대해 알고 싶은 모든 것이 포함된다. 여기에는 할당된 사람과 여러 매개 변수의 상태 및 생성 이후 처리된 방법에 관한 모든 관련정보, 그리고 기록에 대한 세부 정보가 포함된다. 집중해야 할 핵심 영역 중 하나는 Related Work이다. 이 에픽에 기능을 추가하는 방법 중 하나는 Add link - New item을 선택하는 것이다.
8. Work item type에 Feature설정하고 Title에 “Training dashboard” 라고 설정한 후 OK를 클릭한다.
9. Assignment, Area와 Iteration은 이미 에픽과 동일하게 설정되어 있어야 하며, 생성된 상위(parent) 항목과도 연결되어 있다. Save & Close를 클릭한다.
10. Boards 뷰(view)로 이동한다.
11. PUL-Web Boards를 선택한다. 특정 팀에 대한 보드가 열릴 것이다.
12. Backlog items 보기에서 Features 보기로 보드를 전환한다. 이렇게 하면 일감(tasks) 및 기타 작업 항목(other work items)을 기능에 추가하는 것이 쉬워진다.
13. Training dashboard 드롭다운에서 Add Product Backlog Item를 선택한다.
14. 첫 번째 백로그 항목의 이름을 "As a customer, I want to view new tutorials"를 입력하고 Enter를 눌러 저장한다. 그러면 기능의 하위(child)가 되는 새로운 Product Backlog Item(PBI) 작업 항목이 작성되고 해당 영역과 반복이 공유된다.
15. 고객이 최근에 본 튜토리얼을 보고 새 튜토리얼을 요청할 수 있도록 설계된 PBI를 두 개 더 추가한다.
16. 일감 보드를 Backlog items 뷰로 전환한다.
17. 백로그 항목에는 완료와 관련된 위치를 정의하는 상태가 있다. 양식을 사용하여 작업 항목을 열고 편집 할 수 있지만 보드에서 카드를 드래그하는 것이 더 쉽다. 첫 번째 작업 항목을 Approved로 드래그 한다.
18. 작업 항목 카드를 확장하여 편리하게 편집 가능한 세부 정보를 얻을 수 있다.
19. 이동시킨 PBI를 여러분 자신에게 할당한다.
20. 두 번째 작업 항목을 Committed 단계로 드래그 한다.
21. 마지막 PBI를 Done 단계로 드래그 한다.
22. 일감 보드는 백로그에 대한 하나의 보기(view)이다. View as Backlog를 클릭하여 테이블 형식을 본다.
23. 확장 버튼을 클릭하면 이러한 작업 항목 아래에 중첩된 일감을 볼 수 있다. 작업 항목을 작성하는 또 다른 쉬운 방법은 백로그에서 추가 단추를 사용하는 것이다. 클릭하여 첫 번째 백로그 항목에 새 일감을 추가한다.
24. Title에 “Add page for most recent tutorials”라고 설정한다. Remaining Work를 “5”로, Activity를 “Development”로 설정하고 Save & Close를 클릭한다.
25. “Optimize data query for most recent tutorials”라는 새로운 일감을 추가한다. Remaining Work를 “3”으로, Activity는 “Design”으로 설정하고 Save & Close를 클릭한다.
과제 3: 스프린트와 용량 관리하기
일반적으로 스프린트 첫날에 열리는 스프린트 계획 회의에서 스프린트 백로그를 작성한다. 각 스프린트는 팀이 민첩한 프로세스 및 도구를 사용하여 작업할 수 있는 시간 간격을 나타낸다. 계획 회의 중에 제품 소유자는 팀과 협력하여 스프린트에서 완료할 스토리 또는 백로그 항목을 식별한다.
계획 회의는 일반적으로 두 부분으로 구성된다. 첫 번째 부분에서 팀과 제품 소유자는 이전 스프린트에 대한 경험을 바탕으로 스프린트에서 완료할 수 있다고 생각하는 백로그 항목을 식별한다. 이 항목들은 스프린트 백로그에 추가된다. 두 번째 부분에서는 팀이 각 항목을 개발하고 테스트하는 방법을 결정한다. 그런 다음 각 항목을 완료하는 데 필요한 작업을 정의하고 추정한다. 마지막으로, 팀은 이러한 추정치에 따라 일부 또는 모든 항목을 구현하기로 약속한다.
1. 스프린트 백로그에는 팀이 막바지에 서두를 필요 없이 할당된 시간 내에 작업을 성공적으로 계획하고 완료하는 데 필요한 모든 정보가 포함되어야 한다. 스프린트 계획을 시작하기 전에 백로그 생성, 우선 순위 지정 및 평가를 하고 스프린트를 정의하고 싶을 것이다. 탐색을 사용하여 스프린트보기로 이동한다.
2. View options 드롭다운에서, Work details 패널 옵션을 선택한다.
3. 현재 스프린트의 범위는 상당히 제한되어 있다. To do 단계에는 8 시간의 예상 작업을 결합하는 두 가지 일감이 있다. 이 시점에서 어떤 일감도 할당되지 않았다.
4. 자신에게 Add page 일감을 할당한다. 용량 뷰가 업데이트 된다.
5. Capacity 탭을 선택한다. 이 뷰를 통해 사용자가 수행 할 수 있는 활동과 용량을 정의 할 수 있다. 이 경우 하루에 "1"시간의 Development이 가능하도록 용량을 설정한다. 단순한 개발 이상을 수행하는 경우 사용자 당 추가 업무(activities)를 추가 할 수 있다.
6. 하지만 휴가를 간다고 가정 해본다. Days off(휴무일) 아래에서 0 days을 클릭한다.
7. 현재 스프린트 동안 (다음 몇 주 내에) 5일의 휴가를 떠난다고 설정한다. OK를 클릭한다.
8. Save 한다.
9. Taskboard로 돌아간다.
10. 용량 뷰가 사용 가능한 대역폭을 반영하도록 업데이트 되었다. 이 정확한 숫자는 다를 수 있지만 여기 스크린 샷의 경우 스프린트 용량은 10시간 이다(10일 동안 하루에 1시간).
11. 보드의 편리한 기능 중 하나는 주요 데이터를 인라인으로 쉽게 업데이트 할 수 있다는 것이다. 각 일감에 예상되는 시간을 반영하여 Remaining Work 예상치를 정기적으로 업데이트하는 것이 좋다. Add page 일감에 대한 작업을 검토한 결과 실제로 원래 예상보다 시간이 오래 걸린다고 가정해 보겠다. 이 스프린트를 위한 총 용량을 설정한다.
12. 이것이 어떻게 Development 및 개인 용량을 최대로 확장하는 지에 대해 주목한다. 할당된 일감을 처리 할 수 있을만큼 충분히 크기 때문에 녹색으로 유지된다. 그러나 다른 일감에 필요한 추가 3시간으로 인해 전체 팀 용량이 초과 되었다.
13. 이 용량 문제를 해결하는 한 가지 방법은 일감을 향후 반복으로 옮기는 것이다. 이를 수행 할 수 있는 몇 가지 방법이 있다. 먼저, 여기서 일감을 열고 대화 상자에서 편집 할 수 있다. 반면에 Backlog 뷰는 인라인 메뉴 옵션을 제공하여 이를 이동할 수 있다. 지금은 이동시키지 않는다.
14. Taskboard 뷰로 되돌아 간다.
15. View options 드롭다운에서 People을 선택한다.
16. 백로그 항목이 아닌 개인별 일감 진행률을 검토 할 수 있도록 뷰를 조정한다.
17. 사용 가능한 많은 사용자 정의도 있다. Configure team settings 버튼을 클릭한다.
18. Styles 탭에서 Add Styling rule을 클릭하고 Name을 "Development"로 설정한다. 녹색 Card color을 선택한다. 아래의 규칙 기준을 충족하면 모든 카드가 녹색으로 표시된다.
19. Activity = Development에 대한 규칙을 추가한다. 이렇게 하면 Development 활동에 할당된 모든 카드가 녹색으로 설정된다.
20. Backlogs 탭에서는 탐색에 사용 가능한 레벨을 설정할 수 있다. 에픽은 기본적으로 포함되어 있지 않지만 여기서 변경할 수 있다.
21. 팀이 따르는 Working days를 지정할 수도 있다. 이것은 용량 및 번다운(Burn down) 계산에 적용된다.
22. Working with bugs를 탭에서 보드에 버그가 표시되는 방법을 지정할 수 있다.
23. Save and close를 클릭하여 스타일 규칙을 저장한다.
24. Development과 관련된 작업은 이제 녹색이며 쉽게 식별할 수 있다.
2편에서 계속.
'Azure와 함께 하는 DevOps' 카테고리의 다른 글
23 전달 계획으로 팀간 프로젝트 일정 관리하기 (0) | 2020.03.16 |
---|---|
22 Azure 보드를 사용한 Agile 플래닝과 포트폴리오 관리 2편 (0) | 2020.03.09 |
Azure DevOps Lab 선행 조건 (0) | 2020.03.02 |
20 Terraform을 사용하여 Packer 사용자 지정 이미지에서 Azure 가상 머신 확장 집합 만들기 (0) | 2020.02.24 |
19 Terraform을 사용하여 Azure 가상 머신 확장 집합 만들기 (0) | 2020.02.17 |