寫在前面
? ? ? ?團(tuán)隊(duì)之前以做項(xiàng)目為主,一般項(xiàng)目周期不超過(guò)3個(gè)月熔号,大家習(xí)慣了瀑布式(waterfall)的項(xiàng)目管理方式依痊。如今要做產(chǎn)品,希望能夠提高工作效率齐苛,適應(yīng)互聯(lián)網(wǎng)時(shí)代的節(jié)奏翘盖、適應(yīng)用戶需求的變更。于是乎脸狸,推薦敏捷開(kāi)發(fā)方法的Scrum給整個(gè)團(tuán)隊(duì)最仑。
一、為什么使用敏捷開(kāi)發(fā)方法
? ? ? ?敏捷管理是相對(duì)于傳統(tǒng)的瀑布模型提出的炊甲,傳統(tǒng)的瀑布開(kāi)發(fā)模式如下圖1所示:
? ? ? ?瀑布開(kāi)發(fā)模式的項(xiàng)目周期往往比較長(zhǎng),難以適應(yīng)需求的變化卿啡,當(dāng)項(xiàng)目開(kāi)發(fā)完成后吟吝,最后交付成果往往不是產(chǎn)品經(jīng)理或是客戶真正想要的,最后只能重新從項(xiàng)目的需求開(kāi)始返工颈娜,浪費(fèi)整個(gè)項(xiàng)目周期剑逃。
? ? ? ?而敏捷開(kāi)發(fā)流程是這樣的:
每一個(gè)迭代的開(kāi)發(fā)周期很短,一般為2-4周蛹磺,它將瀑布開(kāi)發(fā)過(guò)程切分為多個(gè)短的迭代式的增量開(kāi)發(fā)過(guò)程粟瞬。每一個(gè)迭代結(jié)束,都會(huì)產(chǎn)生最終可用的產(chǎn)品萤捆,如果需求有變化裙品,可以在下一個(gè)迭代周期進(jìn)行開(kāi)發(fā),基本不會(huì)出現(xiàn)最終交付產(chǎn)品是用戶無(wú)法接受的情況俗或,即使要浪費(fèi)時(shí)間的話市怎,最多就是一個(gè)迭代周期的時(shí)間。
二辛慰、Scrum方法
? ? ? ?Scrum是敏捷開(kāi)發(fā)方式的一種区匠。Scrum強(qiáng)調(diào)溝通,要求團(tuán)隊(duì)所有人(有條件的話帅腌,甚至包括客戶驰弄,隨時(shí)了解客戶需求、詢問(wèn)客戶是否滿意)一起工作狞膘,通過(guò)高效溝通解決問(wèn)題揩懒。Scrum項(xiàng)目管理方法是一個(gè)持續(xù)改進(jìn)的過(guò)程。
? ? ? ?Scrum的具體流程如下圖3所示:
? ? ? ?產(chǎn)品負(fù)責(zé)人(PO)獲取用戶需求(User Story)已球,生成帶有優(yōu)先級(jí)的產(chǎn)品需求列表(PBIs),在每個(gè)迭代周期開(kāi)始時(shí)辅愿,會(huì)召開(kāi)一個(gè)迭代計(jì)劃會(huì)(Sprint Planning)智亮,從產(chǎn)品需求列表中挑選出本次迭代期要實(shí)現(xiàn)的功能,得到一個(gè)沖刺列表(Sprint Backlog)点待。接下來(lái)阔蛉,團(tuán)隊(duì)會(huì)進(jìn)入一個(gè)2-4周的迭代期,在迭代期內(nèi)癞埠,團(tuán)隊(duì)會(huì)進(jìn)行項(xiàng)目的開(kāi)發(fā)状原、測(cè)試、文檔編寫等工作苗踪,需要召開(kāi)每日站會(huì)(Standup Meeting)颠区,了解團(tuán)隊(duì)成員的工作進(jìn)展及遇到的困難,在迭代期的最后通铲,會(huì)召開(kāi)項(xiàng)目評(píng)審會(huì)(Sprint Review)和回顧會(huì)(Sprint Retrospective)毕莱。每個(gè)迭代交付的都是可以工作的軟件。Scrum使用燃盡圖(Burn Down Chart)來(lái)跟蹤項(xiàng)目的進(jìn)展。
名詞解釋
PO:Product Owner朋截,產(chǎn)品負(fù)責(zé)任/產(chǎn)品經(jīng)理
User Story:用戶故事蛹稍,用以表達(dá)用戶需求
PBIs:Product Backlog Items,產(chǎn)品需求列表/需求池
Sprint:沖刺/快跑部服,簡(jiǎn)單理解為一個(gè)迭代
Sprint Planning:迭代計(jì)劃會(huì)
Sprint Backlog:迭代需求列表
Scrum Meeting/Standup Meeting/Daily Meeting:每日站會(huì)
Sprint Review:迭代評(píng)審會(huì)
Sprint Retrospective:迭代回顧會(huì)
SM:Scrum Master唆姐,敏捷教練,最重要的一個(gè)角色廓八,也是敏捷團(tuán)隊(duì)的核心成員
Burn Down Chart:燃盡圖厦酬,用于表示剩余工作量的工作圖表
Scrum Team:所有相關(guān)人員都是Scrum團(tuán)隊(duì)的成員
Stake Holder:項(xiàng)目干系人/利益相關(guān)方
Scrum角色
產(chǎn)品負(fù)責(zé)人(PO):負(fù)責(zé)確定項(xiàng)目需求,維護(hù)PBIs瘫想;
Scrum Team:整個(gè)開(kāi)發(fā)和測(cè)試團(tuán)隊(duì)、及其他相關(guān)干系人;
Scrum Master(SM):負(fù)責(zé)主持會(huì)議昌讲,排除團(tuán)隊(duì)遇到的困難以及外界的干擾国夜,具體職責(zé)如下:
- 確保Team按照Scrum的方式運(yùn)行;
- Team的教練(Coach)短绸,幫助team更好的工作车吹;
- Process的Owner,能夠在team和PO之間平衡醋闭;
- 考慮項(xiàng)目干系人的影響窄驹,移除項(xiàng)目障礙,保障項(xiàng)目進(jìn)度证逻。
產(chǎn)出物
- Product Backlog(產(chǎn)品功能列表)
- Sprint Backlog(Sprint沖刺列表)
- Burn Down Chart(燃盡圖)
Scrum會(huì)議
- 迭代計(jì)劃會(huì):Sprint Planning乐埠,確定本次Sprint需要完成的功能需求;
- 每日站會(huì):Standup Meeting囚企,每日站會(huì)時(shí)間不超過(guò)15分鐘丈咐,主要圍繞三個(gè)問(wèn)題展開(kāi),我昨天完成了什么龙宏?我今天要做什么棵逊?我遇到了什么困難?每日站會(huì)上不討論細(xì)節(jié)問(wèn)題银酗,每個(gè)人的發(fā)言控制在2分鐘以內(nèi)辆影;
- 迭代評(píng)審會(huì):Sprint Review,項(xiàng)目團(tuán)隊(duì)將已實(shí)現(xiàn)的項(xiàng)目結(jié)果進(jìn)行演示黍特,聽(tīng)取利益相關(guān)方的反饋蛙讥,以便在下一個(gè)Sprint進(jìn)行改進(jìn);
- 迭代回顧會(huì):Sprint Retrospective衅澈,對(duì)本次Sprint進(jìn)行回顧键菱,哪些是做的好的炬太,哪里需要改進(jìn)的捶障,并對(duì)這些改進(jìn)的點(diǎn),提出改進(jìn)措施,在下一個(gè)Sprint中進(jìn)行實(shí)現(xiàn)熊泵;
三、敏捷的價(jià)值
1赦肋、快速響應(yīng)變化:Scrum開(kāi)發(fā)完全適應(yīng)現(xiàn)在互聯(lián)網(wǎng)開(kāi)發(fā)提出的“小步快跑”第队,以輕量級(jí)的User Story作為需求進(jìn)行迭代式開(kāi)發(fā),保證最重要的功能優(yōu)先做纷闺;
2算凿、項(xiàng)目團(tuán)隊(duì)的透明性:敏捷團(tuán)隊(duì)所有成員都能了解當(dāng)前項(xiàng)目的進(jìn)展和問(wèn)題;
3犁功、項(xiàng)目團(tuán)隊(duì)的專注:項(xiàng)目團(tuán)隊(duì)可以確保把時(shí)間放在與沖刺目標(biāo)相關(guān)的事情上氓轰,不受外界干擾。
四浸卦、具體實(shí)施
? ? ? ?敏捷開(kāi)發(fā)需要借助以下工具來(lái)實(shí)現(xiàn)署鸡,同時(shí)結(jié)合團(tuán)隊(duì)和項(xiàng)目的現(xiàn)狀,制定具體的實(shí)施方案限嫌。
? ? ? ?1.組織結(jié)構(gòu)
? ? ? ?? ? ? ?Dev Team:開(kāi)發(fā)團(tuán)隊(duì)
? ? ? ?? ? ? ?Test Team:測(cè)試團(tuán)隊(duì)
? ? ? ?? ? ? ?Data Team:數(shù)據(jù)團(tuán)隊(duì)
? ? ? ?我們的項(xiàng)目比較特殊一些,相對(duì)于傳統(tǒng)的軟件項(xiàng)目怒医,增加了數(shù)據(jù)團(tuán)隊(duì)這個(gè)組織炉抒。數(shù)據(jù)團(tuán)隊(duì)需要與開(kāi)發(fā)團(tuán)隊(duì)、測(cè)試團(tuán)隊(duì)相配合共同完成項(xiàng)目稚叹。
? ? ? ?2. 工具使用
項(xiàng)目管理工具(看板):Trello - https://trello.com/焰薄, Trello可以創(chuàng)建私有項(xiàng)目,鑒于項(xiàng)目有些敏感的內(nèi)容不宜放在Trello上扒袖,建議使用Trello + NAS相結(jié)合的方式蛤奥,敏感的內(nèi)容放在NAS(群暉)上,在Trello上引用NAS上的內(nèi)容僚稿;
燃盡圖工具:Excel可以畫凡桥,有沒(méi)有更簡(jiǎn)單易用的單獨(dú)畫燃盡圖的工具?
? ? ? ?3.管理流程
? ? ? ?前期準(zhǔn)備工作:梳理全部需求蚀同,包括產(chǎn)品需求(外部)缅刽、優(yōu)化需求(內(nèi)部)等,形成產(chǎn)品需求列表(PBIs)蠢络。
? ? ? ?迭代周期:2周(10個(gè)working day衰猛,4個(gè)public day),如遇緊急情況4個(gè)非工作日可能安排加班刹孔,請(qǐng)大家理解啡省!
? ? ? ?工作流程:
? ? ? ?表1、迭代周期時(shí)間安排
Day | 工作安排 | 備注 |
---|---|---|
Day 1 | 9:30~10:30–迭代計(jì)劃會(huì);10:40~11:40–需求評(píng)審會(huì)卦睹;14:00~16:00–各組工作分解畦戒;16:30~17:30-項(xiàng)目計(jì)劃會(huì) | Working day |
Day 2–Day 5 | 每日站會(huì)(9:15) | Working day |
Day 6–Day 7 | 休息日 | Weekends |
Day 8–Day 11 | 每日站會(huì)(9:15) | Working day |
Day 12 | 14:00~15:30-迭代評(píng)審會(huì);16:00~17:30-迭代回顧會(huì) | Working day |
Day 13-Day 14 | 休息日 | Weekends |
? ? ? ?上表中的各種會(huì)議說(shuō)明如下:
? ? ? ?表2、會(huì)議說(shuō)明
會(huì)議 | 目的 | 參加人員 | 產(chǎn)出 |
---|---|---|---|
迭代計(jì)劃會(huì) | 從產(chǎn)品需求列表中挑選出本次迭代期要實(shí)現(xiàn)的功能 | PO/SM/Dev Lead/Test lead/Data Lead | 沖刺列表(Sprint Backlog) |
需求評(píng)審會(huì) | 對(duì)本次沖刺列表中的需求進(jìn)行詳細(xì)講解 | PO/SM/ALL | 需求問(wèn)題收集(PO負(fù)責(zé)) |
工作分解會(huì) | 各個(gè)功能團(tuán)隊(duì)對(duì)本次迭代需求做工作分解 | 各個(gè)功能團(tuán)隊(duì) | 各團(tuán)隊(duì)工作計(jì)劃(Lead負(fù)責(zé)) |
項(xiàng)目計(jì)劃會(huì) | SM協(xié)調(diào)各個(gè)團(tuán)隊(duì)的協(xié)同/配合計(jì)劃 | SM/Leads | 項(xiàng)目迭代總體計(jì)劃(SM負(fù)責(zé)) |
迭代評(píng)審會(huì) | 工作成果展示 | Leads/ALL | PO確認(rèn)成果 |
迭代回顧會(huì) | 本次迭代經(jīng)驗(yàn)總結(jié)结序,下次改進(jìn) | ALL | SM組織 |
每日站會(huì) | 當(dāng)天工作安排 | ALL(不含PO) | 不超過(guò)15分鐘 |
五障斋、原則與建議
? ? ? ?無(wú)規(guī)矩?zé)o以成方圓,我們的原則就是我們的規(guī)矩徐鹤。大家都守規(guī)矩垃环、重原則,慢慢養(yǎng)成良好的工作習(xí)慣返敬,并形成一種文化遂庄,這樣工作起來(lái)更加流暢、效率更高劲赠。
- 口說(shuō)無(wú)憑涧团,寫下來(lái)的東西才算數(shù),避免口口相傳经磅,信息失真;
- 始終堅(jiān)持公開(kāi)钮追、公平预厌、公正的原則;
- 守時(shí)元媚!守時(shí)轧叽!守時(shí)!絕大多數(shù)中國(guó)人都做不到刊棕,這是一種對(duì)他人的尊重炭晒、也是一種自身的教養(yǎng);
- 誠(chéng)信甥角!誠(chéng)信网严!誠(chéng)信!同樣是大多數(shù)中國(guó)人都做不到嗤无,說(shuō)到做到震束,承諾完成的任務(wù)一定保質(zhì)保量按時(shí)完成;
- 不提倡加班当犯,但是要求今日事今日畢垢村,絕不能因?yàn)樽约旱耐涎佣绊懻麄€(gè)團(tuán)隊(duì);
- 偶爾的加班在所難免嚎卫,經(jīng)常性的加班一定是項(xiàng)目管理出了問(wèn)題嘉栓;
- 打破一團(tuán)和氣,工作問(wèn)題可以爭(zhēng)吵,大膽地說(shuō)出工作中存在的問(wèn)題侵佃,幫助團(tuán)隊(duì)成長(zhǎng)麻昼,個(gè)人與團(tuán)隊(duì)共同成長(zhǎng);
- 實(shí)踐遠(yuǎn)比理論復(fù)雜的多趣钱,實(shí)踐出真知涌献,實(shí)踐中可能會(huì)遇到各種書本上找不到答案的問(wèn)題,需要團(tuán)隊(duì)一起不斷去克服首有;
- 允許抱怨燕垃,歡迎吐槽,經(jīng)常被抱怨和吐槽的問(wèn)題井联,往往就是項(xiàng)目/團(tuán)隊(duì)管理中存在的實(shí)際問(wèn)題卜壕;
- 張弛有度的原則,緊張的同時(shí)也要適當(dāng)放松烙常,經(jīng)常組織團(tuán)隊(duì)建設(shè)活動(dòng)轴捎;
- 打造一個(gè)良好的學(xué)習(xí)氛圍,在不影響項(xiàng)目交付的情況下蚕脏,經(jīng)常組織各種講座與交流侦副,讓團(tuán)隊(duì)每一個(gè)成員都有機(jī)會(huì)分享自己的技術(shù)、生活驼鞭、愛(ài)好等相關(guān)內(nèi)容秦驯,鼓勵(lì)團(tuán)隊(duì)成員進(jìn)行分享,也是對(duì)演講能力的一種培養(yǎng)方式挣棕;
- 溝通的重要性不言而喻译隘,但是要減少或避免無(wú)效的溝通;
- 每次會(huì)議的時(shí)間不超過(guò)一個(gè)小時(shí)洛心,一個(gè)人的注意力很難保持那么長(zhǎng)時(shí)間固耘;
- 其他好的建議,歡迎指教词身!
六厅目、一些技巧
- 關(guān)于開(kāi)會(huì):
- 每次會(huì)議都必須有記錄人,記錄會(huì)議內(nèi)容法严,由會(huì)議召集人(組織者)指定璧瞬;會(huì)后整理會(huì)議紀(jì)要,發(fā)送給所有與會(huì)者及相關(guān)干系人渐夸;
- 會(huì)議既要準(zhǔn)時(shí)開(kāi)始嗤锉,也要準(zhǔn)時(shí)結(jié)束,不能晚墓塌,不能拖瘟忱,因?yàn)槊總€(gè)人都有自己的時(shí)間安排奥额,不能打亂會(huì)議成員的工作安排。
- 會(huì)議時(shí)間不要超過(guò)一個(gè)小時(shí)访诱;
- 盡量開(kāi)短會(huì)垫挨、開(kāi)小會(huì),長(zhǎng)會(huì)触菜、大會(huì)盡量少九榔,要限制次數(shù);
- 關(guān)于守時(shí):
- 不管是會(huì)議也好涡相,其他活動(dòng)也罷哲泊,凡是遲到者都要受到一定的懲罰,或者給其他人買零食催蝗,或者折現(xiàn)(每次50元)作為團(tuán)隊(duì)活動(dòng)經(jīng)費(fèi)切威;
- 會(huì)議或者其他活動(dòng)那個(gè)開(kāi)始與結(jié)束都要守時(shí),按時(shí)開(kāi)始丙号,按時(shí)結(jié)束先朦;
- 對(duì)于開(kāi)會(huì)遲到者,除了物質(zhì)懲罰之外犬缨,可以考慮把會(huì)上討論的工作多給其安排一些(不算欺負(fù)人喳魏,只是對(duì)遲到者的另一種懲罰方式而已,??)怀薛;
- 關(guān)于放松:
- 建議在兩個(gè)緊張的迭代之后進(jìn)行一次輕松一點(diǎn)的迭代刺彩,以這種2+1的方式進(jìn)行,以便緩解團(tuán)隊(duì)成員壓力乾戏;
- 有條件的情況下,每個(gè)月組織一次聚餐三热,讓團(tuán)隊(duì)成員增進(jìn)了解鼓择、加深感情、緩解壓力就漾;每個(gè)季度組織一次戶外活動(dòng)呐能,放松身心、鍛煉身體抑堡;可由團(tuán)隊(duì)成員輪流組織摆出,同時(shí)也可培養(yǎng)個(gè)人的組織能力;
? ? ? ?2020年6月23日 星期二 成稿于青島市
? ? ? ?2020年6月26日 星期五 補(bǔ)充第六部分于北京家中