任務的問題類型可能需要一個非常簡單的工作流,其中的狀態可以使用如「開始(Open)」、「進行中(In Progress)」和「關閉(Closed)」。
問題類型為新功能時,可能需要對此類問題在軟體開發過程的步驟中增加其它的狀態。
測試、代碼審查和部署的狀態可能需要較為複雜的工作流。
命名你的工作流
工作流名稱應該用來描述整個生命周期過程的類型,而不是用項目名稱來命名,例如: 「任務生命周期」。
工作流方案的名稱應該能夠描述生命周期流程群組的類型,例如:「研發生命周期」。
狀態名稱應該要精簡併且能夠反應當前狀況。
創建工作流
下面的步驟描述了創建工作流的最佳實踐:
1. 在創建一個新的自定義的工作流之前,讓用戶來向你解釋他們實際的生命周期流程,工作流應該要儘可能地簡單。
2. 首先,繪製(可能會在紙上)一個工作流來確保該工作流具備的邏輯意義並且所有的向前向後流程都涵蓋了,你能使用"自定義工作流文檔"的模版來做為溝通和記錄工作流的方式。
3. 在繪製工作流之後,嘗試將工作流用文字寫下來,這個能夠發現你忽略的額外需求。
4. 包含邏輯上的向後轉換流程,這樣才能讓用戶能夠自行管理,將自己的問題進行返工。
5. 給予用戶在適當的時機拋棄或是停止進行問題的權力。
6. 讓項目級別的管理員有適合的選項去修正不當移轉的問題。
例如: 包含「重開(reopen)」的移轉按鈕在最後的狀態上,用來處理不正確關閉的問題。(由於這是一個維護性的操作,請將此操作交由項目管理員進行處理。)
7. 謹慎的使用移轉條件,如果需要使用條件的時候,為了維護上的便利,記得設置給項目角色而不是個人。
8. 使用校驗和後處理功能等自動化來精簡用戶手動的工作。
當轉換到「信息提供」或是「需要校驗」的狀態類型時,自動指派問題給報告人。
在「分配(Triage)」的狀態類型時,自動指派問題給項目負責人。
當子任務開始行進處理,自動將父任務移轉到「進行中(In Progress)」。
9. 命名你的狀態:
"Pending Review"
"InReview"
"Being Reviewed"
"Awaiting Review"
10. 為轉換動作命名:
例如: 對於一個問題在"PendingReview"的狀態上,好的移轉名稱應該是:"Review Complete",如果你需要"pass/fail"狀態,也就是說在移轉前必須通過一個測試,好的移轉名稱應該是:簡單的"Pass"和"Fail"。
例如: "Review"。移轉的按鈕應該要能表示動作的開始和結束,"Review"這個詞有點模稜兩可的,如果用戶點擊"Review"時,這究竟表示應該開始一個覆審?還是已經發生覆審?
不要這麼做
例如:"Pending Review by Marketing"或是"PendingReview by John"這兩個太特定某個群體會導致跨項目的工作流非常難維護和分享。例如: "(已覆審)Reviewed"這個詞在時態上是"死胡同(dead end)",也無法讓用戶知道接下來會發生的事情,使用過去時態的字更適合在轉換的用詞上使用,而不適用於當前狀態的用詞上使用。.例如: 不使用類似"已拋棄(Abandoned)"或是"已拒絕(Rejected)"的狀態,而是使用"解決結果"欄位來指出問題在"已關閉"狀態中的"how"或"why"。例如:"On Hold」 (如果負責人主定且定期檢視該問題的"On Hold」狀態的話,這個狀態是非常有用的。在一開始,讓工作流越簡單越好,直到你發現現有工作流的不足之處或是需要特別關注的流程步驟。先在測試環境上建立工作流,接著當你驗證所有的變更,導出工作流然後再導入工作流到你的生產環境裡,這樣可以避免用戶因這些測試問題和移轉通知上收到一堆垃圾郵件。小貼士
為了修改使用中的工作流的狀態,你必須需要先使這個工作流無效(inactive)(將他和當前項目和問題類型除去關聯),最簡單的方法就是去複製使用中的工作流,在副本上進行變更,接著再將副本工作流和你的項目進行關聯,最後刪除原始的工作流。任何無效(未分配)的工作流都會被列在「無效(Inactive)」的標題之下,位於工作流的管理頁面的底部。自定義工作流
分階段法
你的公司僱用了一位新的JIRA管理員 招聘過程需要候選人在錄用和辭退前去申請和面試,這是一個簡單的流程:
開始->審核申請書->面試->關閉
然而在背後,在這些主要的階段的過程,發生了很多其他事件,例如:
在「審核申請書」階段:
在「面試」階段:
在上述的例子中,創建面試過程所有的步驟的狀態是否有用?你需要追蹤會議室是否預定來面試?如果2個答案都是"否"的話,分階段法會是更好的。如果你確實需要追蹤會議室是否預定的話,你可以增加一個狀態或是一些欄位級別的指示作為工作流的一部分。
構建自定義工作流應該在紙上開始,工作流定製化流程的最後一個步驟都應該在JIRA上創建和測試。
如果你不需要查詢「在某個特定狀態的全部問題」,那有可能這個狀態就不是必要或有用的。
關於本書
推薦閱讀
想參與拆書活動,搶先閱讀更多策略內容?
歡迎報名加入Atlassian社區研究院翻譯團!
報名添加小助手,回復「翻譯團」入群」