---
# System prepended metadata

title: 'Hands-on: Azure Board Workshop'
tags: [Azure DevOps, Azure Board, Workshop]

---

# Hands-on: Azure Board Workshop
- 登入 [Azure DevOps Service | where-workshop](https://dev.azure.com/where-workshop)
- 第一次登入設定使用者資料
    ![](https://i.imgur.com/FE14Iml.png)
## How DevOps Admin manage Azure DevOps Service

- **介紹組織/專案概念**

- **Organization Setting**
    - User : 添加人員至組織中
    - Billing + Azure DevOps Pricing：[Azure DevOps 的定價](https://azure.microsoft.com/zh-tw/pricing/details/devops/azure-devops-services/)
    - Auditing : 輸出 log 資料
    - Global Notification : 設定全域的通知訊息
    - Azure Active Directory：連結到現有的 AAD

- **Create Project**
    - Work Item Process
        - [Agile](https://docs.microsoft.com/en-us/azure/devops/boards/work-items/guidance/agile-process?view=azure-devops)([User Story Field](https://docs.microsoft.com/en-us/azure/devops/boards/work-items/guidance/agile-process-workflow?view=azure-devops))
        - [Scrum](https://docs.microsoft.com/en-us/azure/devops/boards/work-items/guidance/scrum-process?view=azure-devops)([PBI Field](https://docs.microsoft.com/en-us/azure/devops/boards/work-items/guidance/scrum-process-workflow?view=azure-devops ))

## 1/ 需求及專案管理
### 建立以 Scrum 為範本的新專案
- 建立新專案：**[首頁](https://dev.azure.com)** > **[+ New Project]**
    ![](https://i.imgur.com/8UouHlu.png)
- 填寫 Project Name，Visibility 選擇 **[Private]**，點開 **[Advanced]**，Work item process 選擇 **[Scrum]**
    ![](https://i.imgur.com/Xu8BMhD.png =400x)
- 如出現未授權，重新整理即可
    ![](https://i.imgur.com/k3U8ny3.png)

### 邀請使用者加入 Project
- 點選右上角的 **[invite]**
    ![](https://i.imgur.com/cX2RKwY.png)
- 新增人員完整 email
    ![](https://i.imgur.com/NdBl1TI.png =400x)
- 被加入的人員將會收到 Azure DevOps 的邀請信，首次需透過信中的驗證連結加入
- 畫面下方會顯示成功添加使用者訊息
    ![](https://i.imgur.com/RO7Lojj.png =400x)
- 或在 Members 的欄位中會看到新添加的人員
    ![](https://i.imgur.com/IDT0zlW.png =400x)
### Feature 管理
- 在左方的 Boards 底下，點選 **[Work items]** 後選取 **[+ New Work Item]**，然後選擇 **[Feature]**
    ![](https://i.imgur.com/XhZiLTa.png)
- 填寫 Feature 資訊，參考簡報中的專案，將標題填入 `公車動態`，可自行填寫底下欄位，完成後點選 **[Save]**
    ![](https://i.imgur.com/26iax0h.png)
- 點選 **[Back to Work Items]**
    ![](https://i.imgur.com/9G7YqJp.png)
- 再新增一個 Feature
    ![](https://i.imgur.com/nMTMrzz.png =400x)
- 填寫 `班次時刻表`
    ![](https://i.imgur.com/V4poO4X.png)
- 點選左邊欄位 Boards 下的 **[Boards]**，將右上角的 **[Backlog items]** 切換到 **[Features]**
    ![](https://i.imgur.com/dHkmlrJ.png)
- 可以看到剛剛新增的兩則功能
    ![](https://i.imgur.com/PKenV51.png)
### Product Backlog Items (PBI) 管理
- 在 `公車動態` 的 Feature 中選取 **[...]**，選擇 **[+ Add Product Backlog Item]**
![](https://i.imgur.com/RPxM8gs.png =500x)
- 填寫 `即時動態查詢`
    ![](https://i.imgur.com/WrsEwhi.png =300x)
- 依照上步驟再填入`出門提醒`
- 在 `班次時刻表` 的 Featue 中依據先前步驟分別新增 PBI `時刻表查詢`和 `搭車提醒`
- 填寫完成
    ![](https://i.imgur.com/HyMLiCq.png =500x)
### Sprint 及 task 規劃
- 選擇左邊欄位中的 **[Backlogs]**
    ![](https://i.imgur.com/XzmVhqI.png)
- 透過 **[+ New Work Item]** 再新增一個`DevOps Workshop` 的 PBI
    ![](https://i.imgur.com/W3SqY0g.png)
- 點選右上角的拉霸圖示，選擇 Side Pane 下的 **[Planning]**
    ![](https://i.imgur.com/MkTDe5K.png)

- 拖曳 `即時動態查詢` 這個 PBI 到右邊的 **[Sprint 1]**
    ![](https://i.imgur.com/tVUeJhj.png)
- 點選 **[Sprint 1]** 跳轉到 Sprint 的頁面
    ![](https://i.imgur.com/q31v7jn.png =400x)
- 點選頁面上方 **[Taskboard]**
    ![](https://i.imgur.com/bJPB1VN.png)
- 可以看到變成敏捷看板的視角，並且是在 Sprint 1 這個週期中
    ![](https://i.imgur.com/wHUyOIG.png)
- 在 `DevOps Workshop` PBI 的欄位點選 **[+]** 來新增以下 :
    - `修改 README`
    - `練習 Azure Board`
    - `設置 CI/CD pipeline`
    ![](https://i.imgur.com/8uUKUKM.png)
- 在 `即時動態查詢` PBI 的欄位點選 **[+]** 來新增以下 task :
    - `整合公車動態即時資訊API`
    - `查詢欄位`
    - `動態資訊呈現頁面`
- 完成填寫
    ![](https://i.imgur.com/FsqRQCV.png)
- 將 `練習 Azure Board` 拖曳到 **[In Progress]** 的欄位
    ![](https://i.imgur.com/dDjLmfb.png)
- 完成狀態的變更
    ![](https://i.imgur.com/wwWnZjx.png)
### 工單搜索功能
- 點選左方欄位 Boards 下的 **[Queries]**，然後點選 **[+ New query]**
    ![](https://i.imgur.com/dvXFo96.png)
- 在 Work Item Type 的地方，Value 選擇 **[Task]**
    ![](https://i.imgur.com/CA8qBz1.png)
- 在 State 的地方，Value 選擇 **[In Progress]**
    ![](https://i.imgur.com/fxSpxKr.png)
- 點選 **[Run query]**
    ![](https://i.imgur.com/mFgWA66.png)
- 執行後的結果會顯示目前在 project 中哪些 task 狀態為 in progress
    ![](https://i.imgur.com/D739m61.png)
- 點選 **[Save query]**
    ![](https://i.imgur.com/MuXQwj2.png)
- 完成欄位填寫，將 **[Floder]** 選擇到 **[Shared Queries]**，點選 **[OK]** 即可儲存
    ![](https://i.imgur.com/jl58Mrq.png =400x)


## 2/ (補充) 專案團隊及週期管理
![](https://i.imgur.com/N8Ja4Cj.png)

- 名詞解釋
    - Team (團隊)：將專案成員做分群，各別 Team 可有各自的 Area、Permission
    - Area Paths(區域路徑)：區域路徑可將工作專案分組，可以依據小組所需時做的工作內容不同、產品功能的規畫等做劃分，Team 在新增時可選擇是否要 default 建置 Area Path
    - Iteration (迭代週期)：每個 Sprint 的起始日期
- 管理專案 Team、Area 及 Iteration
    - 新增 Developer、Operation、PM 團隊，`Project Setting > Teams > New Team`
        ![](https://i.imgur.com/J7cveGM.png)
    
    
    - 設定專案的 iteration date
        - 設定專案時間，`Project Setting > Project configuration > <Project Name> > set dates`
        - 設定 Sprint 1 時間，`Project Setting > Project configuration > <Project Name> > set dates`
        ![](https://i.imgur.com/6EceOlf.png)

        
    - 設定團隊所屬的 Iteration 及 Area
        - 設定 Iteration `Project Setting > Team Configuration > <Team Name> > Iteration > Backlog iteration > <預設選項> > Set`
        ![](https://i.imgur.com/WqRpbIJ.png)
        - 設定 Area `Project Setting > Team Configuration > <Team Name> > Iteration > Area > <預設選項> > Set`
        ![](https://i.imgur.com/BjPEjQB.png)
    - 管理團隊的取用權限 `Project Setting > Permission`
![](https://i.imgur.com/I3iSipy.png)



## 3/ (補充) Create task template
- **Design Template：Project Setting > Team Configuration > Templates**
    ![](https://i.imgur.com/pobbvcD.png)
- **透過 template 建立新的 Task**
    ![](https://i.imgur.com/PiVN5hD.png)


## 4/ (補充) Customize Boards
- Customizing Kanban boards，Boars > Boards 
  -  新增狀態欄位 : `Settings > Board | Columns`
      -  新增一個狀態在 `New` 之後為 `Pending`
        ![](https://i.imgur.com/2j42lXD.png)

    - 新增泳道 : `Settings > Board | Swimlanes`
    ![](https://i.imgur.com/tTIydSt.png)

- Sprint Board 新增狀態，Boards > Sprints
    - 選擇 `Column Option > + Add Column`，新增一個 Column Name 為 `Pending`，Task 為 `In Progress`
        ![](https://i.imgur.com/MJlUYp0.png)
    - 設定完成
        ![](https://i.imgur.com/VGV0IbQ.png)


<!-- - **客製化 Work item process**
  - `Org Setting > Process`
  - `Agile > … > Create inherited process`
      ![](https://i.imgur.com/h3mfuyK.png)
  - 添加新的類別工單 : `New Wrok Item Type`
      ![](https://i.imgur.com/2zMF4ii.png)

  - 添加 Task 工單欄位 : `Task > Layout > New Field`
      ![](https://i.imgur.com/zu4jOI6.png)

  - 添加 Task 工單狀態 : `Task > State > New State` -->


## Pricing
- [Stakeholder / Basic](https://docs.microsoft.com/en-us/azure/devops/organizations/security/access-levels?view=azure-devops#stakeholder-access)

## Reference
- [Agile Planning and Portfolio Management with Azure Boards](https://azuredevopslabs.com/labs/azuredevops/agile/)
- [Use templates to add and update work items](https://docs.microsoft.com/en-us/azure/devops/boards/backlogs/work-item-template?view=azure-devops&tabs=browser)