iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0
IT管理

萬丈高樓平地起:解決方案架構師的探索之旅系列 第 14

Day 14 : 如何善用Jira Software和整合開發流程

  • 分享至 

  • xImage
  •  

今天分享的Jira Software相較於Jira Service Management,它更適合用於軟體開發團隊,因為它提供了敏捷方法的支持,如Scrum和Kanban。

在去年的系列文雖然有一部提到Jira的工具,但今年會新增更多關於使用前、後的差異,以及在Task管理後跟開發流程相關的知識與展示。

簡介

  • Jira Software是目前市場上受歡迎的專案管理工具之一,不僅提供了一個直觀的界面,還具有強大的功能,使軟體開發團隊能夠更有效地進行專案管理。

  • Jira Software 不僅受到敏捷團隊的喜愛,還被Bug追蹤團隊、DevOps團隊、產品管理團隊、專案管理團隊和軟體開發團隊所採用,此外還有豐富的外掛商店,並可以與其他產品整合。

基本功能

1.創建和管理問題 (Issues):

  • 在Jira中,每一個任務或問題都被稱為一個"issue"。
  • 可以為每個issue分配負責人、設定優先級和追踪其進度。
  • 提供了一個集中的地方來管理和追踪軟件開發中的所有活動。
  • 可以輕鬆地創建、編輯和刪除issues,並使用Jira的強大的查詢語言(JQL)來過濾和排序issues。

issue在Jira中指的是任何需要追踪的項目,如任務、缺陷或需求。它有負責人、優先級,並可追踪進度,幫助團隊管理和協調工作。

2.使用看板 (Boards) 來視覺化工作流程:

  • Jira的看板功能允許團隊視覺化其工作流程,從待辦事項到完成的任務,都一目了然。
  • 看板是靈活的,支持Scrum、Kanban和混合模型。
  • 可以自定義列和步驟,以反應團隊的工作流程。
  • 提供了一個清晰的視圖,展示了哪些任務正在進行,哪些已經完成,以及哪些還在隊列中等待。
狀態 使用前 使用後
任務管理 隨意管理任務,可能缺乏組織結構 使用看板視覺化工作流程
工作流程 工作流程可能不清晰或不統一 從待辦事項到完成的任務都一目了然
任務狀態 可能難以識別當前任務的狀態 支持Scrum、Kanban和混合模型
任務自定義 任務管理可能不夠靈活 可以自定義列和步驟
任務優先順序 難以識別任務的優先順序 清晰地展示了哪些任務正在進行、已完成或在隊列中等待

3.設定和使用自定義工作流程:

  • 不同的團隊可能有不同的工作流程,Jira允許你根據團隊的需求自定義工作流程。
  • 提供了一個工作流程設計器,允許你輕鬆地創建和修改工作流程。
  • 可以定義工作流程中的每一個步驟,以及從一個步驟到另一個步驟的轉換條件。
  • 支持複雜的工作流程,包括多個步驟、條件和後置動作。

備註 : 如果對於Jira Software想要做進一步的客製化歡迎參考去年已經分享的連結資訊(從需求到實作的過程)
- Day 11 - Case 2 :進階Task管理搭配知識共享? 我全都要! (需求評估篇)
- Day 12 - Case 2 :需求相關的各式各樣功能火力展示(Jira Cloud基本操作)
- Day 13 - Case 2 :針對需求來作客製化的開發吧(Jira Cloud Issue & Workflow篇)
- Day 14 - Case 2 :針對需求來做客製化的開發吧(Jira Cloud Screen & Field篇)
- Day 15 - Case 2 :基本功能無法滿足,但可以透過套件與Code達成(Jira Cloud ScriptRunner篇)
- Day 16 - Case 2 :Task管理開發成果與知識管理整合(Jira & Confluence)

進階功能

1.使用 Jira Query Language (JQL) 進行高級搜尋: JQL是一個強大的查詢語言,允許快速找到所需的issues,無論是基於日期、負責人還是其他任何條件。

情境 JQL範例程式碼
查找所有未解決的問題 project = "My Project" AND resolution = Unresolved
查找過去7天內創建的所有問題 created >= -7d
查找指定使用者創建的問題 reporter = "username"

2.創建和使用自定義過濾器: 如果經常需要查看某一特定類型的issues,可以創建自定義過濾器,這樣就可以一鍵查看這些issues。

3.使用報告工具來分析專案進度: Jira提供了各種報告工具,如燃盡圖、速率圖等,幫助了解專案的進度和團隊的效率。此外,Jira Software還提供了即時的報告和儀表板,確保團隊始終保持最新狀態,並為成功做好準備。

4.與其他工具的整合:
- 與 Confluence、Bitbucket 等 Atlassian 產品整合: 這些整合不僅可以提高工作效率,還可以使團隊成員更容易共享資訊和合作。
- 使用 Marketplace 插件來擴展 Jira 的功能: Jira的Marketplace上有超過3000+的應用程序和集成,無論需求是什麼都可以找到合適的插件來擴展Jira的功能。

5.最佳實踐:
- 如何設定有效的工作流程: 根據團隊的工作方式和需求設定工作流程,這樣可以提高效率並減少錯誤。Jira提供了自定義的工作流程,以適應任何工作風格。
- 如何使用 Jira 來促進團隊合作: 通過設定通知、使用看板和報告工具,確保團隊成員都知道專案的進度和他們的任務。

搭配開發流程的概念

Jira 與版本控制的重要性

在軟體開發的流程中,專案管理和版本控制是兩個關鍵的環節,Jira 提供了強大的專案管理功能,而當對於開發者日常使用的版本控制,若這兩者能夠順暢的整合在一起時,開發團隊可以更加高效地進行工作。

什麼是版本控制?
版本控制在軟體工程中是一種系統,專門管理計算機程序、文件或其他資訊集合的更改。它是軟體配置管理的一部分,允許開發者追踪和控制文件或代碼的修訂歷史。

整合的優勢

這個部分以GitHub為例

  • 透明度:開發者可以在 Jira 的問題追踪中直接看到相關的 Github 提交,這使得團隊成員可以更容易的追蹤問題的進展和相關的代碼更改。
  • 自動化:當在 Github 中進行提交或合併請求時,可以自動更新 Jira 中的問題狀態,減少了手動操作的需要。
  • 協作:團隊成員可以在 Jira 中討論問題,並在 Github 中進行代碼審查使得協作更加順暢。

整合流程

  1. 安裝 GitHub for Jira 應用程式:
  • 登入 Jira Cloud 帳戶。
  • 前往 Atlassian Marketplace。
  • 選擇 Apps > Explore more apps 並搜尋 "GitHub for Jira"。
  • 選擇 "Get app" 進行安裝。
  • 完成安裝後,可以前往 Apps > Manage apps > GitHub for Jira > Get started 來訪問應用程式的設定頁面。
  1. 設定 GitHub for Jira:
  • 選擇 "Connect GitHub organization"。
  • 選擇 "GitHub Cloud" 並點擊 "Continue"。
  • 登入 GitHub 帳戶並檢查權限。
  • 點擊 "Authorize Jira"。
  • 找到要與 Jira 整合的 GitHub 組織,然後點擊 "Connect"。
  • 在 GitHub for Jira 頁面上,再次選擇 "Connect GitHub organization",然後點擊要連接的組織旁邊的 "Connect"。

案例

以 Github 為例,當開發者在 Github 中提交代碼時,這些提交會自動關聯到 Jira 中的相關問題。開發者可以在提交信息中使用特定的關鍵字,如 "JIRA-123",來指示這次提交與哪個 Jira 問題相關。這樣,團隊成員就可以在 Jira 中直接查看到這次提交的詳細信息,無需切換到 Github。

接著搭配圖片和步驟說明來看看會發生甚麼事情吧!

https://ithelp.ithome.com.tw/upload/images/20230918/20141298eUUAdxNfXN.png
選擇當前需求延伸的功能Task後建立分支

https://ithelp.ithome.com.tw/upload/images/20230918/20141298tkFZxUN86Q.png

https://ithelp.ithome.com.tw/upload/images/20230918/20141298OurFPXi2h3.png
選擇GitHub要開發的專案後建立新分支

https://ithelp.ithome.com.tw/upload/images/20230918/20141298ky8aEOxlel.png
接著將開發完成的功能推送到該建立的分支後,至Jira建立pull request

https://ithelp.ithome.com.tw/upload/images/20230918/20141298MmIbMpkptq.png

https://ithelp.ithome.com.tw/upload/images/20230918/20141298TiwCyWmuPa.png
導向到GitHub的頁面進行建立pull request,並且建立後回到Jira可以看到狀態更新

https://ithelp.ithome.com.tw/upload/images/20230918/20141298r5fA0me8CY.png
當完成合併操作後再次查看 Jira 的狀態,可以觀察到開發進度與狀態的即時同步。

結論

從解決方案架構師的角度來看整合Jira和版本控制工具(如GitHub),不僅僅是為了提高開發效率或方便性,也同時確保軟體開發的持續性、可追蹤性和協作性。當談論軟體開發的生命週期,每一個階段、每一個決策和每一個變更都應該被記錄和追踪,這不僅僅是為了紀錄工時或者是留下紀錄,而是為了確保質程式碼品質、安全性和持續改進。


上一篇
Day 13 : 如何使用Jira Service Management改變客服遊戲規則
下一篇
Day 15 : 拉高一個維度看待版本控制平台的導入評估
系列文
萬丈高樓平地起:解決方案架構師的探索之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言