打造Worktile敏捷開發管理工具的思與惑

從2019年初,我們團隊準備開發一款適合研發團隊使用的敏捷開發管理工具,那時候我們也在思考,到底什麼樣的工具才算是優秀的研發管理工具,研發管理的場景、方法和流派有很多,市面上關於研發管理工具的產品也是層出不窮,我們從哪裡入手才能真正幫助研發團隊提高研發效能?基於以下兩點考慮,我們選擇了從敏捷開發管理進入:

  1. 敏捷開發自1999年以來,經過20多年的發展,已經被大多數開發團隊所接受,近幾年DevOps的流行,更是把敏捷推向了更高的位置,國內太多的團隊需要做敏捷轉型。
  2. 敏捷開發在中國落地的專業度還不夠,以至於出現了“中華田園敏捷”的說法,中國的開發者需要一款簡單易上手的、專業的敏捷開發管理工具,來幫助他們在團隊中更好的落地敏捷。雖然只靠一款敏捷開發工具並不能幫助企業在敏捷轉型中成功,但好的工具卻能讓企業敏捷轉型事半功倍。

專業的Scrum流程管理

在Scrum Guide中已經對於Scrum過程中的活動、事件、產出等定義的非常清晰,這裡不再重複,只想重點解釋一下在落地Scrum過程中經常被忽視的兩個問題。

1、絕大部分團隊在實施Scrum過程中只重視迭代管理,不重視版本管理,當然這已經超出了Scrum本身的範疇,但是好的研發管理中應該是迭代管理和版本管理並存,他們之間是一個互相依賴的關係。

迭代管理是針對Scrum團隊的,它定義的是一個時間盒的概念,用於團隊容量管理和進度管理,對於不同的團隊來說,明確在一個迭代的時間盒內的產出,這個產出最終以迭代Review為標準,通過了Review並不意味著一定發佈出去。

版本管理是針對產品的,它定義的是一個批量的概念,用於版本進度管理和交付風險管理,明確在一個版本中最終的交付物。目前市面上大部分敏捷開發管理工具,都能夠很好的支持迭代管理,卻忽視了版本管理。

打造Worktile敏捷開發管理工具的思與惑

圖1 Worktile Agile中的版本管理


2、在Scrum Guid中定義一個迭代中的四個活動,即迭代計劃會議、每日立會、迭代評審會和迭代回顧會,我們發現在大部分敏捷團隊中其實只有前三個活動,而自動忽略迭代回顧會議,恰恰相反,迭代回顧會是Scrum迭代實踐中的最後一環,也是最重要的一環,迭代回顧會將整個迭代形成了閉環。Scrum小組都是自組織的,只有通過迭代回顧會不斷的總結問題,提出改進項,才能幫助團隊不斷精進。

打造Worktile敏捷開發管理工具的思與惑

圖2 Worktile Agile中的迭代回顧面板


什麼才是真正的Kanban

Kanban理論已經存在了很長的時間,其適用範圍也從最初的車間管理,到現在的硬件製造、軟件開發。在軟件開發領域內,很多團隊都在使用Kanban管理自己的團隊,有的使用電子看板,有的使用物理看板。Worktile團隊在做電子看板上已經有了7年的經驗,一直以來我們也在探索,到底什麼樣的看板才是真正的Kanban。在我看來,一個真正意義上的電子看板系統,要能夠幫助團隊達到以下三點:

  • 幫助團隊可視化整個鏈條的價值流動
  • 幫助團隊識別價值流動中的風險點
  • 幫助團隊度量價值流動中的各種浪費,並加以消除

基於以上考慮,在一個可視化的電子看板系統中,至少要具備以下一些能力:

  • 能夠清晰定義在製品WIP
  • 能夠清晰定義在製品限制WIP Limit
  • 明確定義DoD
  • 支持多泳道分割
  • 在製品流轉中某些操作自動化
  • 達到某些風險點時,在製品能夠高亮顯示
打造Worktile敏捷開發管理工具的思與惑

圖3 Worktile Agile中的Kanban管理


需求管理如何做

不管是採用哪種敏捷方法實踐,需求管理都是敏捷開發中非常重要的一環。Scrum中定義了兩個重要的概念: 產品待辦事項Product Backlog迭代待辦事項Sprint Backlog ;Kanban中一般採用在製品WIP的概念。

在Worktile Agile中,我們決定採用業界大家共識的三級需求管理體系,這種表示方式並沒有一個真正意義上的標準:

  • Epic:史詩,表示比較大的特性,開發週期一般是1-3月,用於產品路線圖的規劃
  • Feature:特性,表示相對小一些的特性,開發週期一般是1-3周,用於產品版本的規劃
  • User Story:用戶故事,最小的開發粒度,開發週期一般是1-3天,在Scrum中用User Story來作為Backlog,在Kanban中可以用User Story作為WIP。
打造Worktile敏捷開發管理工具的思與惑

圖4 Worktile Agile中的Epic、Feature、User Story三級需求管理


聯動起來才有價值

在研發場景下,對於團隊成員來說經常整理需求/缺陷是個常態,另外在基於單個工作項溝通時,往往會提及另一個工作項,作為高效的研發管理工具,要能夠清晰的定義工作項之間各種可能的關係。Worktile Agile中我們定義了超過10種工作項之間的關係:

  • parent:定義工作項之間的父子關係
  • duplicates:表示兩個工作項之間的重複關係
  • blocks:表示兩個工作項之間的阻塞關係
  • 其他的如mention、clone、causes關係等

只能夠定義關係還不夠,Worktile Agile還做到了在發生某些操作的情況下,自動生成他們之間的關係,如果團隊成員在某個工作項評論中提到了另外一個工作項,則會在他們之間自動建立一條mention關係。

打造Worktile敏捷開發管理工具的思與惑

圖5 Worktile Agile中定義工作項之間的關係


工程化不可或缺

在研發管理過程中,項目管理是很重要的一塊,但項目管理本身並不會關注工程化的過程,在我看來,項目管理和工程化實踐是確保研發順利的兩個支柱,缺少哪一個都會造成不可預知的影響,把工程化數據與管理過程結合起來,將會極大的減小管理成本,提升研發效率。

工程化的過程環節眾多,涉及到的工具數量龐大,如代碼託管、單元測試、代碼掃描、流水線、打包、製品、部署等等,在Worktile Agile中可以通過REST API的方式,把工程化數據發送到工作項上面並與之關聯,這樣對於開發人員可以清晰的看到每一次提交涉及到的工作項是哪個,觸發了哪些構建,構建的結果如何,以及當前工作項部署在了哪些個環境。(注:REST API正在內測中,目前還未對外正式發佈。)

打造Worktile敏捷開發管理工具的思與惑

圖6 Worktile Agile中接入DevOps數據


讓一切皆可測試

在User Story的INVEST原則中,明確表示一個好的用戶故事要必須是可測試的Testable。敏捷開發過程本身是頻繁迭代、週期性強並且能夠及時、持續地響應客戶的反饋,如何正確建立測試策略,確認客戶的需求能得以實現並且確保及時的交付最終產品是值得思考的一件事。

在Worktile Testhub中,測試人員可以輕鬆編寫測試用例並且制定相應的測試計劃,同時每個測試用例也可以用Worktile Agile中的User Story關聯,讓開發人員和產品經理知道這個User Story會如何測試,同時測試的結果也會及時的與Worktile Agile同步。

打造Worktile敏捷開發管理工具的思與惑

圖7 Worktile Testhub自動生成的測試報告


關於未來的一點想法

最後,簡單的談談對於未來的一些想法。對於當下來說最重要的事情把現有的產品進一步打磨好,關於未來我們也在探索以下幾個可能的思路:

  1. 簡化手工操作,未來一定是智能的世界,在研發管理工具中,要儘可能的簡化手工操作,讓工作自動化起來,對於開發人員來說更是如此,他們寧可編寫一段自動化腳本,也不願一遍一遍的執行重複性的操作。
  2. 擴大人員覆蓋,目前Worktile研發產品矩陣已經覆蓋了需求人員、產品、設計、研發和測試等人員,未來我們還會進一步加大人員的覆蓋面,讓更多的團隊角色可以在Worktile中完成他們的工作,比如對於中高層管理人員、PMO等。
  3. 擴大場景覆蓋,當下我們的關注點在於如何做好敏捷項目管理和測試管理這兩個場景上,未來不排除還會延伸到別的場景,比如多項目組合管理等。


分享到:


相關文章: