在敏捷軟件開發(fā)中诽偷,Scrum是個(gè)相當(dāng)簡(jiǎn)單客给、容易上手的框架用押。說Scrum是個(gè)框架而不是方法,是因?yàn)镾crum只提供了進(jìn)行敏捷開發(fā)的指導(dǎo)方針靶剑,但沒有提供詳細(xì)的實(shí)踐方法和工具蜻拨。今天我們就來了解一下Scrum最基本的框架,簡(jiǎn)單地講桩引,就是Scrum的“3355”缎讼。
一、3個(gè)角色
這三個(gè)角色坑匠,在Scrum框架圖的左上角區(qū)域血崭。
1.1.Product Owner
產(chǎn)品所有人,簡(jiǎn)稱PO厘灼,主要職責(zé)是負(fù)責(zé)Product Backlog和Sprint Backlog夹纫。PO不僅要決定選擇做什么,還要能從商業(yè)價(jià)值的角度解釋為什么做這些手幢。PO的日常工作主要有:
- 在產(chǎn)品團(tuán)隊(duì)中扮演業(yè)務(wù)的發(fā)言人,是項(xiàng)目的客戶或者代表
- 有充足的知識(shí)和授權(quán)
- 定義業(yè)務(wù)需求忱详,定義產(chǎn)品的最高優(yōu)先級(jí)的特征和功能
- 根據(jù)需求的商業(yè)價(jià)值對(duì)其進(jìn)行優(yōu)先級(jí)排序
- 確定發(fā)布日期和發(fā)布內(nèi)容
- 根據(jù)需要調(diào)整每個(gè)Sprint的需求和優(yōu)先級(jí)
- 在Sprint交界處可以變更功能和優(yōu)先級(jí)
- 定義驗(yàn)收標(biāo)準(zhǔn)
- 接受或者推翻工作成果
- 對(duì)于每個(gè)敏捷團(tuán)隊(duì)做的所有工作的價(jià)值围来、優(yōu)先級(jí)和細(xì)節(jié)擁有最終的權(quán)威
- 對(duì)于業(yè)務(wù)目標(biāo)和期望的最終結(jié)果的深層的了解使得其擁有此權(quán)威
- 與團(tuán)隊(duì)一起更緊密地工作
1.2.Scrum Master
Scrum教練或者Scrum大師,簡(jiǎn)稱SM匈睁,主要職責(zé)是傳播敏捷的思想监透,保證Scrum的流程。日常工作主要有:
- 促進(jìn)團(tuán)隊(duì)的工作
- 精心組織Scrum的各種儀式
- 負(fù)責(zé)設(shè)定Scrum的價(jià)值和實(shí)踐
- 確保團(tuán)隊(duì)的組件完整性且保證效率高產(chǎn)
- 促成所有角色和職能之間的緊密協(xié)作
- 排除障礙
- 保護(hù)團(tuán)隊(duì)不受外界干擾
1.3.The Team
研發(fā)團(tuán)隊(duì)航唆,是任務(wù)執(zhí)行團(tuán)隊(duì)胀蛮,一般是一個(gè)跨職能團(tuán)隊(duì)(一般包括前后臺(tái)研發(fā)、測(cè)試等)糯钙,能夠切實(shí)提供一個(gè)可用產(chǎn)品的團(tuán)隊(duì)粪狼。團(tuán)隊(duì)主要有以下特征:
- 典型團(tuán)隊(duì)通常為5-9個(gè)人
- 跨職能團(tuán)隊(duì)退腥,囊括了開發(fā)人員、測(cè)試人員再榄、業(yè)務(wù)分析師等開發(fā)最終軟件所必需的角色
- 團(tuán)隊(duì)成員應(yīng)該是全職的狡刘。也可能有特殊情況 (例如, 數(shù)據(jù)庫(kù)管理員DBA等兼職)
- 保持紀(jì)律,遵守承諾困鸥,按時(shí)交付軟件成果
- 自組織嗅蔬、自管理的團(tuán)隊(duì)
二、3個(gè)工件
2.1.Product Backlog
產(chǎn)品待辦事項(xiàng)集合疾就,整個(gè)產(chǎn)品的用戶故事集合澜术,這些用戶故事可以來自甲方客戶、終端用戶猬腰、PO自己對(duì)產(chǎn)品的理解鸟废、研發(fā)團(tuán)隊(duì)等。它具有以下特點(diǎn):
- 是項(xiàng)目的需求列表
- 以用戶故事的形式表示
- 包含功能性以及非功能性需求
- 每項(xiàng)需求應(yīng)該描述其商業(yè)價(jià)值
- PO負(fù)責(zé)進(jìn)行對(duì)Product Backlog Item(產(chǎn)品待辦事項(xiàng))優(yōu)先級(jí)排序
- 每個(gè)Sprint開始之前要重新進(jìn)行排序漆诽,以確定最重要的事項(xiàng)
- 隨著項(xiàng)目的進(jìn)行侮攀,可能新增、變更或減少條目
2.2.Sprint Backlog
沖刺待辦事項(xiàng)列表厢拭,一個(gè)沖刺目標(biāo)階段內(nèi)的用戶故事列表兰英。
這些用戶故事來自Product Backlog,每次沖刺前供鸠,PO根據(jù)交付價(jià)值畦贸,將優(yōu)先級(jí)最高的用戶故事放入迭代。它具有如下特點(diǎn):
- 從產(chǎn)品Backlog中取出前面若干項(xiàng)楞捂,在當(dāng)前Sprint中被實(shí)現(xiàn)
- 每個(gè)用戶故事應(yīng)該能夠在當(dāng)前Sprint中被實(shí)現(xiàn)
- 每一個(gè)用戶故事都會(huì)被分解并關(guān)聯(lián)到若干個(gè)子任務(wù)(Task)
- 團(tuán)隊(duì)成員自愿挑選任務(wù)
- 每日更新任務(wù)剩余時(shí)間
- 團(tuán)隊(duì)成員均可按需在Sprint Backlog中增加薄坏、修改、刪除任務(wù)
- 如果Sprint工作不清晰寨闹,創(chuàng)建Sprint Backlog時(shí)先估算一個(gè)比較大的時(shí)間段胶坠,在后續(xù)階段再做進(jìn)一步的縮短
- 伴隨著任務(wù)的逐步清晰化,及時(shí)更新剩余時(shí)間
- 對(duì)于用戶故事的完成繁堡,團(tuán)隊(duì)一起定義“完成”的標(biāo)準(zhǔn)(DoD)
- DoD代表了各種用于確保sprint backlog中質(zhì)量沈善、準(zhǔn)確性、業(yè)務(wù)關(guān)聯(lián)性活動(dòng)
2.3.Increment
增量是一個(gè) Sprint 完成的所有產(chǎn)品待辦列表項(xiàng)的總和椭蹄,以及之前所有 Sprint 所產(chǎn)生的增量的價(jià)值總和闻牡。在 Sprint 的最后,新的增量必須是“完成”的绳矩,這意味著它必須可用并且達(dá)到了 Scrum 團(tuán)隊(duì)“完成”的定義的標(biāo)準(zhǔn)罩润。增量是在 Sprint 結(jié)束時(shí)支持經(jīng)驗(yàn)主義的、可檢視的和已完成的產(chǎn)品組成部分翼馆。增量是邁向愿景或目標(biāo)的一步割以。無論產(chǎn)品負(fù)責(zé)人是否決定發(fā)布它金度,增量必須可用。
2020/05/21更新
3355理論是從Jeff老師(Scrum創(chuàng)始人)的《Scrum指南》一書中提煉出來的拳球,但是這本小冊(cè)子之前更新過好多版审姓,早期的版本,第三個(gè)工件用的是燃盡圖(Burndown chart)祝峻,但是后來因?yàn)镾crum在非軟件的領(lǐng)域大量使用(具體可參考《敏捷革命》最后一章)以后魔吐,燃盡圖已不再適合時(shí)代的發(fā)展了,所以在后來的《Scrum指南》版本中莱找,Jeff老師將第三個(gè)工件改為了增量(Increment)酬姆。
2.3.Burndown chart
燃盡圖,沖刺過程中顯示剩余故事點(diǎn)數(shù)的完成情況的折線圖奥溺,縱軸表示故事數(shù)
辞色,橫軸表示日期
。
最終的燃盡圖類似這樣:
三浮定、5個(gè)價(jià)值觀
價(jià)值觀是任何一種方法學(xué)都應(yīng)當(dāng)具備的核心相满,它也是把認(rèn)同相同價(jià)值觀的人群聚攏在一起的精神力量。Scrum的五大價(jià)值觀桦卒,從敏捷實(shí)踐中來立美,應(yīng)用于敏捷實(shí)踐中去,真實(shí)方灾、生動(dòng)而又準(zhǔn)確地反應(yīng)了敏捷運(yùn)動(dòng)中重視人的因素建蹄。
3.1.Focus
專注,將故事拆解為沖刺階段裕偿,目標(biāo)細(xì)化洞慎,同時(shí)也是集中絕對(duì)的團(tuán)隊(duì)能力,解決既定目標(biāo)嘿棘,體現(xiàn)當(dāng)前的專注劲腿,也排除其他插入時(shí)間的消耗。
通過在一段時(shí)間內(nèi)只專注于少數(shù)幾件事情鸟妙,團(tuán)隊(duì)可以很好地進(jìn)行合作并交付出優(yōu)質(zhì)的成果焦人,也能夠更快地交付有價(jià)值的事項(xiàng)。
專心成就專注圆仔,專注造就專業(yè)垃瞧,專業(yè)鑄就成功蔫劣!
3.2.Courage
勇氣坪郭,Scrum團(tuán)隊(duì)中的成員,既要有勇氣接受看似不可能的挑戰(zhàn)脉幢,又要有勇氣拼盡全力去完成個(gè)人承諾要交付的成果歪沃,更要有勇氣對(duì)不合理的要求說“不”嗦锐。Scrum團(tuán)隊(duì)不是單打獨(dú)斗,大家能夠相互支持沪曙,因而應(yīng)當(dāng)具備足夠的勇氣去接受更大的挑戰(zhàn)奕污。
為了接受并負(fù)責(zé)任的交付產(chǎn)品,團(tuán)隊(duì)成員必須有足夠的勇氣來對(duì)大家說“不”碳默,比如不能承諾時(shí),對(duì)納入Sprint的故事說“不”等缘眶,做這些決定其實(shí)是需要很大的勇氣的嘱根,因?yàn)榍懊娌⒉灰欢ㄊ瞧教怪罚珜?duì)自己要絕對(duì)自信巷懈。
3.3.Openness
開放该抒,在Scrum團(tuán)隊(duì)中,每個(gè)人都會(huì)遇到障礙顶燕,每個(gè)人都會(huì)有長(zhǎng)于別人凑保、弱于別人之處。保持開放的心態(tài)涌攻,公開透明地展示自己的強(qiáng)項(xiàng)欧引、弱點(diǎn),明確地展示自己的工作進(jìn)展癣漆、遇到的障礙等狀態(tài)维咸,有助于構(gòu)建更加團(tuán)結(jié)、凝聚的團(tuán)隊(duì)氛圍惠爽,構(gòu)建更加穩(wěn)固的自組織癌蓖、自管理、跨職能的Scrum團(tuán)隊(duì)婚肆。
當(dāng)團(tuán)隊(duì)成員遇到障礙租副,或?qū)δ承┦马?xiàng)表示擔(dān)憂,明確無誤地表達(dá)出來较性,有助于團(tuán)隊(duì)及時(shí)采取措施解決問題用僧,預(yù)防風(fēng)險(xiǎn)的發(fā)生,按時(shí)完成團(tuán)隊(duì)承諾的交付成果赞咙。
開放是體現(xiàn)敏捷可視化责循、透明性的重要保證。
3.4.Respect
尊重攀操,跨職能團(tuán)隊(duì)的成員具有不同的技能院仿、經(jīng)歷背景,在技術(shù)上各有所長(zhǎng),因而才具備交付客戶價(jià)值所需要的各種技能歹垫。保持對(duì)別人的尊重剥汤,既是最基本的個(gè)人涵養(yǎng),也是團(tuán)隊(duì)保持團(tuán)結(jié)排惨、凝聚所必需的人際技巧吭敢。
就個(gè)人而言,三人行必有我?guī)熌喊牛芽毡膽B(tài)鹿驼,尊重每一個(gè)人,向不同人的學(xué)習(xí)辕宏,自己才能真正不斷成長(zhǎng)蠢沿。就團(tuán)隊(duì)而言,彼此尊重匾效,才能凝聚更大力量舷蟀,才能塑造團(tuán)隊(duì)成員之間的信任,在工作中彼此支持面哼、相互幫助野宜,協(xié)同工作,分享成功和失敗魔策。
3.5.Commitment
承諾匈子,自組織、自管理團(tuán)隊(duì)成員主動(dòng)認(rèn)領(lǐng)開發(fā)任務(wù)闯袒,既是對(duì)團(tuán)隊(duì)的承諾虎敦,也是對(duì)自己個(gè)人能力的自信,更是對(duì)交付客戶價(jià)值的渴望政敢。中國(guó)人向來講究“一諾千金”其徙,每個(gè)人都恪守對(duì)團(tuán)隊(duì)的承諾,不遺余力喷户、竭盡全力去交付自己的承諾唾那,團(tuán)隊(duì)才能前進(jìn)、客戶價(jià)值才能實(shí)現(xiàn)褪尝。
由于對(duì)自己的命運(yùn)有更大的掌控闹获,團(tuán)隊(duì)會(huì)有更堅(jiān)定的信念去創(chuàng)造成功。
四河哑、5個(gè)儀式/事件
4.1.Sprint Planning Meeting
Sprint計(jì)劃會(huì)避诽,在每個(gè)Spring開始之時(shí)召開,由Product Owner璃谨、Scrum Master和Scrum Team全體人員參加沙庐。這個(gè)會(huì)議主要有兩件事情要確定:
- 要確定當(dāng)前Sprint的目標(biāo)
- 選定當(dāng)前Sprint要處理的最具價(jià)值的用戶故事,創(chuàng)建Sprint Backlog
Sprint backlog的創(chuàng)建是團(tuán)隊(duì)協(xié)作的結(jié)果,而不是由Scrum Master單獨(dú)完成轨功。必要時(shí)候,技術(shù)分析和設(shè)計(jì)任務(wù)也可以被添加到Sprint Backlog容达。
Sprint計(jì)劃會(huì)上古涧,團(tuán)隊(duì)要:
- 確定當(dāng)前Sprint的目標(biāo)(Goal)
- 從產(chǎn)品Backlog中選擇他們承諾可以完成的工作項(xiàng)
- 對(duì)選定的用戶故事進(jìn)行估算
- 創(chuàng)建Sprint Backlog
- 識(shí)別任務(wù),且每個(gè)任務(wù)都完成了估算
- 可以考慮概括設(shè)計(jì)
- 對(duì)每個(gè)選定的用戶故事花盐,如有問題羡滑,當(dāng)場(chǎng)向PO進(jìn)行咨詢,請(qǐng)求進(jìn)行澄清算芯。
4.2.Sprint
Sprint柒昏,中文譯為沖刺、短跑等熙揍,在Scrum之外职祷,被稱為迭代(Iteration)。Sprint是Scrum的專有術(shù)語(yǔ)届囚,是Scrum中最具代表性的事件之一有梆,也是敏捷軟件開發(fā)的核心特征之一。
簡(jiǎn)單來講意系,Sprint就是Scrum里面的迭代時(shí)間盒泥耀,是一個(gè)固定時(shí)間長(zhǎng)度的軟件開發(fā)、交付周期蛔添。Sprint 具有如下特點(diǎn):
- Scrum通過一系列Sprint落實(shí)開發(fā)任務(wù)痰催,實(shí)現(xiàn)項(xiàng)目進(jìn)展
- 典型Sprint時(shí)長(zhǎng)2-4周,最長(zhǎng)一個(gè)自然月
- 固定Sprint時(shí)長(zhǎng)有助于保持好的團(tuán)隊(duì)節(jié)奏
- 在每個(gè)Sprint中團(tuán)隊(duì)對(duì)產(chǎn)品進(jìn)行設(shè)計(jì)迎瞧、開發(fā)以及測(cè)試
- Sprint具有固定時(shí)間段夸溶,按時(shí)結(jié)束,每次Sprint成果則可能因?qū)嶋H情況而有所不同
4.3.Daily Standup Meeting
Scrum 每日站會(huì)凶硅,是Scrum用來溝通蜘醋、通報(bào)當(dāng)前進(jìn)展及后續(xù)計(jì)劃的主要場(chǎng)合,因其提倡大家都站著開會(huì)而得名咏尝。每日站會(huì)不是用來解決問題的會(huì)議
压语,會(huì)上不討論具體的問題細(xì)節(jié)、解決方式等占用時(shí)間的細(xì)節(jié)內(nèi)容编检。項(xiàng)目遇到的問題或障礙胎食,應(yīng)當(dāng)會(huì)后
通過專門的問題解決會(huì)議或其他方式進(jìn)行解決。
每日站會(huì)通常不超過15分鐘允懂,提倡每天
在同一時(shí)間厕怜、同一地點(diǎn)
舉行。
全體團(tuán)隊(duì)成員、有興趣的項(xiàng)目干系人均可參加粥航,但只有團(tuán)隊(duì)成員琅捏、產(chǎn)品負(fù)責(zé)人和Scrum Master可以發(fā)言。確保分清Scrum的“豬”類角色和“雞”類角色對(duì)團(tuán)隊(duì)非常有幫助递雀。
Scrum每日站會(huì)上柄延,每個(gè)團(tuán)隊(duì)成員都要回答三個(gè)問題:
- 本次會(huì)議之前,自己做了什么缀程?
- 本次會(huì)議之后搜吧,自己打算或計(jì)劃做什么?
- 目前杨凑,是否遇到了阻礙自己的問題滤奈?
特別強(qiáng)調(diào),每日站會(huì)不是用來向 Scrum Master 或 Product Owner 匯報(bào)個(gè)人狀態(tài)或進(jìn)展的撩满,它是用來在團(tuán)隊(duì)面前確認(rèn)自己的個(gè)人承諾并展示當(dāng)前進(jìn)展和問題的蜒程。
4.4.Sprint Review Meeting
Sprint評(píng)審會(huì),又叫Sprint演示會(huì)伺帘、Sprint展示會(huì)等搞糕,是團(tuán)隊(duì)用來展示當(dāng)前Sprint開發(fā)成果的會(huì)議。Sprint評(píng)審會(huì)上曼追,團(tuán)隊(duì)直接向相關(guān)干系人演示當(dāng)前Sprint所開發(fā)出來的軟件產(chǎn)品窍仰。Sprint評(píng)審會(huì)有如下特點(diǎn):
- 團(tuán)隊(duì)展示當(dāng)前Sprint的成果
- 一般采取演示新特性、底層架構(gòu)礼殊、可工作軟件等形式
- 通常是非正式的驹吮,不需要特意準(zhǔn)備
- 不需要復(fù)雜的事先準(zhǔn)備,尤其不要進(jìn)行幻燈片的展示
- 整個(gè)團(tuán)隊(duì)全員參與
- 邀請(qǐng)所有項(xiàng)目干系人參與
- 會(huì)議時(shí)間依據(jù)Sprint的長(zhǎng)短而定晶伦,通常每個(gè)Sprint中碟狞,每周1個(gè)小時(shí)的原則
- PO確認(rèn)sprint目標(biāo)是否實(shí)現(xiàn)
- PO可以拒絕接受團(tuán)隊(duì)的軟件成果。
4.5.Sprint Retrospective Meeting
Sprint回顧會(huì)婚陪,用來回顧在當(dāng)前結(jié)束的Sprint中的工作族沃,進(jìn)行經(jīng)驗(yàn)的總結(jié)、反思,并擬定相應(yīng)的改進(jìn)措施。Sprint回顧會(huì)通常具有如下特點(diǎn):
- 用于周期性檢視團(tuán)隊(duì)最佳實(shí)踐以及存在的問題
- 每個(gè)Sprint中规脸,一周45分鐘原則
- 每個(gè)Sprint結(jié)束時(shí)舉行
- 整個(gè)團(tuán)隊(duì)全員參與,還包括 Scrum Master盖溺、產(chǎn)品負(fù)責(zé)人、客戶以及其他項(xiàng)目干系人