技管思維 logo

技管思維

Subscribe
Archives
February 27, 2022

你一定要用任務追蹤系統管理工項的4個理由(上)

Revue 一直無法穩定的送信,因此接下來就改用 buttonedown.email 了。

軟體開發雖然已經是一個很成熟的領域,但很不幸的是這也是一個極其複雜的領域。在人力,時間,規格,優先權等許多的變數交互影響下,雖然英文都叫做「Build」,但軟體開發從來就不像建築業有制式或可靠的流程及規範,沒有地震也很容易"崩潰"💥。因為每一個軟體的背後,都是截然不同的開發過程,所以不管是什麼軟體,都很複雜,每一個bug從誕生到被消滅,也沒有「疫苗」可以預防。每一次時程的延宕,都是在難以掌握的意外下發生的。每個專案管理者或軟體經理人,都是在高壓及迷霧中不斷的探索及確認,有什麼潛在的風險是自己應該注意的?還有什麼問題還沒被解決?自己應該提供什麼樣的資源協助團隊突破障礙?整個開發方向有沒有走山?開發的能量是否都使用在正確的地方?

雖然沒有銀彈可以"一發入魂"解決這些疑難雜症,但透過導入「任務追蹤系統(Issues Tracking System)」,仍是到目前為止,減少軟體開發類型的專案中,最全面,也最有效的方法。這類的工具越來越多,像是Jira, Trello, Asana, Redmine, Bugzilla...各有特色,我們自己導入的是Redmine,這是一套開源可自建的系統,以下我會用Redmine來說明及舉例,但你找得到的任務追蹤系統應該都會有同樣或類似的功能。

雖然任務追蹤系統的觀念是來自於軟體開發的領域,但其實這是所有技術開發產業的縮影,會遇到的問題是大同小異的。所有在技術開發領域中會遇到的問題,簡單分類起來差不多都會有4個方向,也就是你一定要用任務追蹤系統來管理工項的4個理由。

時間花到哪裡

不論是研發產品,還是研究技術,每個成員每天的8小時,就是"固定成本"。透過Redmine要求組員記錄工時,是大部分的人都不喜歡的事,會覺得填這個只是要"證明"他們有在上班,一分一秒都沒有浪費?但其實填工時的一個重要的效果,是要觀察組員是否有卡住的狀況?是否需要你或其他專家的協助?

技術人自我要求高,覺得自己"應該"要有解決問題的能力。這是該有的堅持,但「研發」本來就不是一般的工作(如果你可以計劃,知道怎麼做,何時做得完,基本上那叫「生產」,不是研發),遇到技術障礙,卡關是常有的事。花時間找答案是必要的支出,但你心中會有一把尺,你會有自己的預期,這個成員在這樣的問題卡多久是一個合理的時間?如果明明是個會Google就應該可以很快找到答案的事,但他卻搞了一整個上午還沒什麼方向,你很難期待他會在下午把事情做完。他需要的不是更多的時間,而是需要有人幫忙突破他的認知障礙。如果他花了大把的時間在開會,而你蠻確認這個會議跟他並沒有明確的關係,他也沒真的輸出什麼價值,那你就得主動 去把這個會議做個該有的調整,看是否能後半段再進去,或是他根本就不用進去,會後記個mail給他就行了。時間是天字第一號你必須使用Redmine的根本原因,再怎麼能幹的組員,時間都是絕對平等的資源,自然必須要用有效率的手段監控管理。

大家蠻常用Redmine在排時程,輸出甘特圖。這當然是重要的事,也是所有成員最不想做,但又最必須做的事情。以研發這種高不確定性,插件又多的工作而言,排時程自然會被成員詬病是一種浪費時間的事情:反正規格常常都會改,時程一點參考價值都沒有。但你該在意的不是時程的本身,而是該在意這些工項的先後順序。大家都會說「重要且緊急的事要先做」,但時程排上去的過程,才是真正落實這句話的行動。不管是誰排的時程,具像化的時程絕對是同步大家對「重要且緊急的事要先做」認知的工具。雖然時程常改,而且都會來自於"不可抗力"的因素,這很令人感到沮喪。但換一個角度去看,在重排時程的過程中,重新看清現實,釐清何事該先做,在對的時間做對的事,才是有效產出,才是我們要使用Redmine的原因。

主動即時同步

人多了,「同步」的成本就會迅速上升。這裡講的「同步」,就是指怎麼保證大家有同樣的認知。除了成員間要有共識,知道現在彼此在做什麼,將來要怎麼協作,而你做為團隊的管理者,更是要做到「見樹也見林」,知道大家在做什麼,也知道不同的「單元」(同類型的職務,像是「軟體」,「美術」或「編導」等)應該要負責哪一塊。如果還要跟外單位,第三方合作的話,那規模又更大了,單靠腦袋或是筆記,是難以應付「見樹也見林」的認知需求的。專案管理的進程中,許多甘特圖,里程埤,人力資源(工時)監控,臭蟲或需求的管理,對每個專案的成員,甚至是公司的管理層,都是十分龐大的資訊量。更糟的是,它們會以每小時為單位,機率性地發生任何變化😵‍💫。某個成員可能突然被叫去支援急(插)件,業務可能突然會要求新增規格,或是因應競品推出新版本而改變里程埤的時程等。

「同步」這件事的實作上,許多經理人還是習慣自己"挨家挨戶"的詢問,而且通常是因為突然想起來(不管是自己想起來或是別人想起來…是忘記了還是害怕想起來?😅),這也就是為什麼會有那麼多的同步會議的根本原因。如果沒有Redmine的話,你就得身體力行的去得到這些重要的資訊,更糟的是,問完之後你還得自己記下來。

使用Redmine在同步上的意義及理由就是,你得反轉你和其他協作對象(組員和第三方),對工作進度和細節的主導權。

每天要求組員 "必須" 得做的事情,就是把他們在工作上發生的事情貼上去。這包括花了多少時間在哪個項目,取得什麼結果,是否有插件,有什麼值得關注的細節等這類事情。雖然聽起來有點多,但並不是所有內容都是必填內容,但一定得寫,也一定有東西可以寫。從「你去問他」轉換到「他寫給你」的過程,就是成員要主動,定時把工作成果交付給你,而不是你花時間去想該問什麼問題,何時方便去問問題,問完後怎麼樣才能記得下來。

Redmine是一個網頁為主的軟體服務,所以每個人寫上去的東西就是「貼文」。是一個可被搜尋,有時間序及修改的記錄。當執行者把工作內容貼上去後,你隨時都可以跟上目前的最新狀態,而不需要等待定期的"同步"會議:因為這是即時同步的呀!我不但能知道每個工項的最新狀態,我也能知道"同步"到整個執行過程發生了什麼事,像是執行的內容改變過嗎?時程提前了嗎?換過人執行嗎?有什麼需要關注的嗎?… 只要你想,你可以決定要同步到什麼程度,有缺乏什麼重要的細節的話?請執行者 "馬上" 補上,而不是你要 "記得" 去要求。

to be continue...

Don't miss what's next. Subscribe to 技管思維:
Powered by Buttondown, the easiest way to start and grow your newsletter.