角色
Scrum 小組的成員至少執行三個角色的其中之一。 大部分的人都執行小組角色,這個角色專門負責建立軟體。 此外,產品擁有者確定客戶在小組有派代表參與有關工作,而 Scrum 主管則是協助小組和產品擁有者確實遵守 Scrum 流程。
本主題內容
小組
小組是由負責建立軟體的個人所組成。 小組會在期程 (Sprint) 開始時選取使用者本文、在期程期間合力實作及測試使用者本文,然後在期程檢閱階段呈現完成的軟體。 小組是自我組織的,因為它會管理自己和自己的工作。 小組是多跨功能領域的,因為它包含提供產品待處理項目中所述之使用者本文的必要技能。 MSF for Agile Software Development 5.0 不會依照工程學科或專業領域等準則區分小組的角色。
如何組織一個優秀的小組
優秀的軟體小組難以召集而且需要花費很多時間來建立。 我們的生活周遭就有許多優秀小組的範例:外科手術小組、籃球小組、牧羊犬及其訓練師。 雖然每位小組成員可能各自具有專長,不過小組必須一起工作,而且共同承擔成敗的責任。
優秀的軟體小組也是由目標一致而聚集的個人所組成。 軟體小組不應該只是一群專家在輪流只執行他們所擅長的工作。 而是,一個小組應該是一群人的整體技能和專業知識遠超過任何個人所具備的技能。 透過共同作業、溝通、信任和開放的態度,小組就能夠邁向成功,並且累積成員的個別能力而成為高效率的單位。
優秀的小組具備交付可行軟體所需的人員和技能。 小組的全職成員應該具備實現專案所需的大部分或所有技能。 專業人才 (例如設計人員、作業人員、架構設計人員或特定技術的專家) 可能無法擔任全職成員。 此時,小組可以針對短期活動引進外聘專家。 不過,全職的小組成員應該由具備完成工作所需之大部分技能的人員所組成。
小組核心責任
小組的主要責任是建立符合客戶希望和小組對軟體完工之準則的軟體。 小組的責任開始於期程計劃會議,結束於期程檢討會議。 在期程計劃會議,小組會將使用者本文分割成工作。 在期程檢討會議,小組會將可行軟體呈現給產品擁有者和可能的客戶。
小組也要為自己的結果負責。 為最佳化小組效率,小組應在定義及完成所選工作,以及在小組成員之間共同作業方面自行管理。 只要投入下列活動,小組一定會有效改善其成果:
定義完工的準則,並且先完成每一個工作,然後再進行下一個工作。
採用有效的工程做法。
如需詳細資訊,請參閱工程作法。
協助產品擁有者製作使用者本文並加以訂定優先順序。
估計使用者本文
Scrum 主管
身為 Scrum 主管,您有責任建立及維護健全並符合 Scrum 流程的小組。 小組成員將仰賴您的領導克服重重困難。
如何成為一位好的 Scrum 主管
要做一位好的 Scrum 主管,您應該要具備或發展絕佳的溝通、協商和衝突解決技巧。 您每天都會用到這些技巧來協助小組成長。 您不但必須主動注意聽對方在說 (寫) 什麼話,還要注意他們傳達訊息的方式 (肢體語言、臉部表情、語氣語調和其他非語言溝通)。 您應該要提出有關揭發隱藏問題的問題,並確認您了解對方所說的意思。 您應該要運用這些技巧來找出小組中潛藏的問題,並設法避免這些問題演變成實際的問題。 在發現 Bug 時就盡快解決,成本會比較低,而在小組問題尚屬輕微而可控制時就解決問題,會比問題擴大到無法控制時才解決來得輕鬆,破壞性也較小。 您應該盡力讓小組展現超高產能,同時讓小組、產品擁有者和其他企業關係人感到從容不迫。 您應該收集和分析資料,並將資料以能夠展現小組增進和成長情形的方式向企業關係人呈現。 例如,如果小組的產能價值大幅提高,而且產生的 Bug 數量更少,您就必須讓企業關係人知道這項改善。
Scrum 主管核心責任
您的主要責任是確保小組和產品擁有者都遵守 Scrum 流程。 例如,您不應該讓每天的 Scrum 會議變成 45 分鐘漫無目的的開放式討論。 您也會確保產品擁有者不會在期程開始後要求小組在當中增加工作。 您會阻止小組在期程檢討會議中呈現尚未完成的使用者本文。
您會協助清除小組遇到的障礙問題。 您可能需要執行少量工作,例如核准新組建電腦的訂購單,或執行較大量、有挑戰性的工作,例如解決小組成員間的衝突。 如果小組成員間起紛爭,您必須協助小組成員和解並重上軌道,進而在以後更有效地工作。
產品擁有者
身為產品擁有者,您主要的職責是擔任客戶與小組之間的溝通橋樑。 您會受到四面八方來自各種客戶和專案關係人意見的拉扯。
如何成為一位好的產品擁有者
您必須分析客戶的需求,然後將其闡述成使用者本文。 您必須具備良好的協商技巧,以協助客戶了解他們所要求的功能會對專案排程有何影響。 您必須和客戶一同訂定產品待處理項目的優先順序,讓小組能夠在產品中依序增加重要的功能,進而生產出最具價值的產品或系統。 您必須對於商業領域或所建置系統的產業生態具有專業知識。 例如,如果您的小組要為醫院建置一套醫療保健系統,您便需要具有醫療保健相關背景。 若缺乏這方面的知識,您便無法有效地訂定產品待處理項目的優先順序,或向小組解釋要有這些產品待處理項目的原因。 同時,具備基本的財務技能 (例如能夠了解系統的投資回收期、預算攤銷,以及資本和費用預算) 也會有加分效果。 您對於 Scrum 流程的了解和全心投入的態度對於小組的成功也很重要。
產品擁有者核心責任
您的核心責任是向小組陳述客戶和專案關係人需求,並協助回應小組的問題。 您必須保持產品待處理項目的最新狀態,並將其按照優先順序列出。 為了維護產品待處理項目,您必須經常與客戶、專案關係人和小組溝通。 您應該至少每一到兩個星期就與關係人開會一次。 使用者本文的實作順序將會影響投資回收期以及小組必須執行的工作量。 小組會協助您了解使用者本文的順序對工作有何影響。 而您必須協助專案關係人了解這些排名決策的影響。 如果您能在小組成員對於如何實作功能有疑問時回覆他們的問題,那麼您也可以減少建立詳細規格的需要。 為了讓小組進展順利,您必須已準備好這些答案,或是能夠非常快速地 (幾小時內) 找到答案。 如果您無法做到上述事項,小組表現的結果將會大打折扣。
注意事項 |
---|
規格的詳細程度取決於許多因素,包括您的小組要開發的應用程式類型。 對於許多應用程式而言,正確陳述的使用者本文以及暢通的溝通管道就是最有效的規格。 不過,用來處理實驗室測試的應用程式則可能需要詳細的規格,這樣小組才能夠更詳細地分析他們所做的變更帶來的長期影響。 |
您也會與小組和專案關係人一起建立接受度測試。 接受度測試可協助判斷特定使用者本文是否已經完成並準備好進行期程檢討。 您必須了解、識別風險,並同時向小組和關係人闡述這些風險。