敏捷項目的參與者一般可分為兩類角色:Pigs 角色與 Chickens 角色。其中:
- Pigs: 項目的實際參與者,必須直接對 Story 負責,必須在站立會中發(fā)言,說明完成的工作,將要的工作,遇到的困難等,即一般意義上的 Scrum 團隊;
- Chickens: 項目的外圍及外部成員,包括組織內(nèi)各方面的領(lǐng)導、最終用戶以及項目的其他利益相關(guān)者,也包括某些參與項目實施但不用對 Story 負責任的外圍成員。
簡而言之,Pigs 必須直接對 Story 的進展、成敗、得失負責,Chickens 基本不用負責但卻可以對項目施加或造成影響。據(jù)說這樣命名的靈感來源于一個故事:
一只豬和一只雞走在路上。雞看著豬,說:“嘿,我們何不開一家餐館?” 豬回過頭來看著雞,說:“好主意,你要給它取個什么名字了?”雞想了想,說:“我們叫它‘火腿和雞蛋’吧?!?“我認為不好,”豬說,“我得出命(豬肉做火腿),你只出蛋(雞下蛋)?!?/p>
2.1. Scrum 團隊(Pigs)
一個Scrum 團隊內(nèi)一般包含三個角色:Scrum Master(SM,開發(fā)經(jīng)理/實施經(jīng)理)、Product Owner(PO,產(chǎn)品負責人)、Scrum Team(團隊)。
Scrum團隊是跨職能的自組織團隊??缏毮軋F隊擁有完成項目全部工作所需的全部技能,不需要依賴于團隊之外的人。自組織團隊通過內(nèi)部的決策機制來自我選擇如何以最好的方式完成工作,而不是由團隊之外的人來指導。
Scrum 團隊迭代、增量式地交付已完成的產(chǎn)品,借此最大化地從用戶獲得需求范圍內(nèi)的反饋,從而進行滾動式的需求細化,并努力避免后期返工?!耙淹瓿傻漠a(chǎn)品”表明每次交付給用戶的產(chǎn)品必須是潛在可工作的,可以不完善、不細致但是至少必須是可以讓用戶上手體驗的。
2.1.1 Product Owner(產(chǎn)品負責人/產(chǎn)品經(jīng)理)
產(chǎn)品負責人是負責管理產(chǎn)品需求,并將團隊開發(fā)的產(chǎn)品價值最大化的人。
產(chǎn)品的需求從始至終體現(xiàn)在待辦事項列表里,產(chǎn)品負責人是待辦事項列表的唯一負責人。產(chǎn)品負責人對代辦事項列表的管理包括:
- 清晰地表述產(chǎn)品待辦列表項;
- 對產(chǎn)品待辦列表項進行排序,使其最好地體現(xiàn)工作優(yōu)先級、目標和使命;
- 優(yōu)化開發(fā)團隊所執(zhí)行工作的價值;
- 確保產(chǎn)品待辦列表對所有人是可見、透明和清晰的,同時顯示 Scrum 團隊下一步要做的工作;
- 確保開發(fā)團隊對產(chǎn)品待辦列表項有足夠深的了解。
產(chǎn)品負責人可以自行完成上述工作、與 Scrum Master 一起完成上述工作,甚或與整個開發(fā)團隊共同完成對 Product Backlog 的梳理,但是 PO 必須是 Product Backlog 的最終負責人。任何人想要修改Product Backlog,包括改變需求或優(yōu)先級,必須經(jīng)過 PO 來執(zhí)行。沒有人可以強迫團隊按照另一套需求來工作。
2.1.2 Team(開發(fā)團隊)
開發(fā)團隊包含完成產(chǎn)品開發(fā)所需的各類專業(yè)人員,負責在每個Sprint 結(jié)束時交付潛在可發(fā)布并且“完成”的產(chǎn)品增量。開發(fā)團隊由組織組建并獲得授權(quán),通過內(nèi)部的敏捷決策機制(各種不同功能的會議)自己組織和管理開發(fā)工作。開發(fā)團隊具有以下特點:
- 他們是自組織的。沒有人(即使是 Scrum Master)有權(quán)告訴開發(fā)團隊應(yīng)該如何把產(chǎn)品待辦列表變成潛在可發(fā)布的功能增量;
- 開發(fā)團隊是跨職能的團隊,團隊作為一個整體,擁有創(chuàng)建產(chǎn)品增量所需的全部技能;
- Scrum 不認可開發(fā)團隊成員的任何頭銜,不管其承擔何種工作,他們都叫開發(fā)人員;
- Scrum 不認可開發(fā)團隊中所謂的“子團隊”,無論其需要處理的領(lǐng)域是諸如測試、架構(gòu)、運維或業(yè)務(wù)分析;
- 開發(fā)團隊中的每個成員也許有特長和專注的領(lǐng)域,但是責任屬于整個開發(fā)團隊。
開發(fā)團隊最佳規(guī)模是足夠小以保持敏捷性,同時足夠大可以在 Sprint 內(nèi)完成重要的工作。少于 3 個人的開發(fā)團隊,成員之間沒有足夠的互動,因而生產(chǎn)力的增長不會很大。過小的團隊在 Sprint 中可能會遭遇到技能上的約束,進而導致開發(fā)團隊無法交付潛在可發(fā)布的產(chǎn)品增量。超過 9 人的團隊則需要過多的協(xié)調(diào)溝通工作。對經(jīng)驗過程而言,大型開發(fā)團隊會產(chǎn)生太多的復雜性而變得無用。
產(chǎn)品負責人和 Scrum Master 角色不包含在開發(fā)團隊人數(shù)中。當然,Scrum Master 和 Product Owner 本身也可以從事開發(fā)工作,這個時候他們也是開發(fā)團隊的一員,就要處理好自己的角色關(guān)系 - 除了相應(yīng)的 Scrum Master 或 Product Owner 的職責外,他們是團隊的普通一員,而非團隊的領(lǐng)導。
2.1.3 Scrum Master(開發(fā)經(jīng)理/敏捷教練)
Scrum Master 負責保證所有人都能正確地理解并實施 Scrum,確保 Scrum 團隊遵循 Scrum 的理論、實踐和規(guī)則。SM 一般由組織任命,一名優(yōu)秀的 SM 能夠同時受到團隊內(nèi)成員(Pigs)的支持和外部利益攸關(guān)方(Chickens)的信任。對內(nèi),SM 充當團隊的服務(wù)型領(lǐng)導者和敏捷教練員;對外,SM 充當團隊與利益攸關(guān)者溝通的橋梁,幫助他們了解、理解與支持團隊工作,從而為團隊屏蔽外部干擾并消除障礙。
2.1.3.1 Scrum Master 服務(wù)于產(chǎn)品負責人
Scrum Master 以各種方式服務(wù)于產(chǎn)品負責人,包括:
- 確保 Scrum 團隊中的每個人都盡可能地理解目標、范圍和產(chǎn)品域;
- 找到有效管理產(chǎn)品待辦列表的技巧;
- 幫助 Scrum 團隊理解為何需要清晰且簡明的產(chǎn)品待辦列表項;
- 理解在經(jīng)驗主義的環(huán)境中的產(chǎn)品規(guī)劃;
- 確保產(chǎn)品負責人懂得如何來安排產(chǎn)品待辦列表使其達到最大化價值;
- 理解并實踐敏捷性;
- 當被請求或需要時,引導 Scrum 事件。
2.1.3.2 Scrum Master 服務(wù)于開發(fā)團隊
Scrum Master 以各種方式服務(wù)于開發(fā)團隊,包括:
- 作為教練在自組織和跨職能方面給予開發(fā)團隊以指導;
- 幫助開發(fā)團隊創(chuàng)造高價值的產(chǎn)品;
- 移除開發(fā)團隊工作進展中的障礙;
- 按被請求或需要時,引導 Scrum 事件;以及,
- 在 Scrum 還未完全采納和理解的組織環(huán)境中,作為教練指導開發(fā)團隊。
2.1.3.3 Scrum Master 服務(wù)于組織
Scrum Master 以各種方式服務(wù)于組織,包括:
- 帶領(lǐng)并作為教練指導組織采納 Scrum;
- 在組織范圍內(nèi)規(guī)劃 Scrum 的實施;
- 幫助員工和利益攸關(guān)者理解并實施 Scrum 和經(jīng)驗導向的產(chǎn)品開發(fā);
- 引發(fā)能夠提升 Scrum 團隊生產(chǎn)率的改變;
- 與其他 Scrum Master 一起工作,增強組織中 Scrum 應(yīng)用的有效性。