在敏捷轉(zhuǎn)型的過程中,除了敏捷宣言中的四個價值觀和十二條原則以外募书,并沒有太多比較權(quán)威的理論實踐绪囱。
如圖一,敏捷宣言中的四個價值觀:
四條敏捷核心價值觀指出了敏捷的核心思想莹捡,但是并沒有仔細(xì)說明具體的實踐方法鬼吵。所以這四個價值觀看上去比較抽象,很難理解篮赢。下面我分享親身經(jīng)歷騰訊敏捷轉(zhuǎn)型所遇到的案例齿椅,足以說明敏捷宣言中工作的軟件高于詳盡的文檔這條價值觀(其余的價值觀我會在另外文章里面解釋)。
“工作的軟件”高于“詳盡的文檔”启泣。舉個例子:“如果買一個嶄新的洗衣機回家后涣脚,有多少人會看完使用說明書再使用洗衣機洗衣服呢?”對于這個問題寥茫,我想涩澡,不管男女老少,答案都是一致的:根本不會坠敷。因為洗衣機的使用大家都比較熟悉妙同,而且家電行業(yè)發(fā)展很成熟,所以很多人即使不看說明書膝迎,一樣懂得如何去操作洗衣機粥帚。
而“工作的軟件”高于“詳盡的文檔”也就是這個意思。這里的軟件就等同洗衣機限次,詳盡的文檔等同于使用說明書芒涡,軟件的可用性是第一位的,詳盡的文檔是其次的卖漫。同樣费尽,在軟件開發(fā)中,開發(fā)團隊的重心應(yīng)該是放在如何保證軟件的可用性羊始,而不是思考如何寫一個完美的文檔旱幼。例如:增加軟件異常行為監(jiān)控,增加crash的上報突委,不斷分析用戶的行為等柏卤。
2007年冬三,騰訊公司在內(nèi)部推行敏捷,團隊不可能僅僅以四條敏捷價值觀就開展工作缘缚,團隊就面臨著怎么實施具體可行的工程實踐的問題勾笆。經(jīng)過一段時間的對比和考察,最終大家選中了Scrum+XP的混合體(如圖二)桥滨,做出了以下這套方案窝爪。
Scrum
√迭代規(guī)劃會議
√產(chǎn)品Backlog
√每日站立晨會
√故事墻
√迭代回顧
×焚燒圖
XP
√重構(gòu)
√持續(xù)集成
√自動測試
√代碼規(guī)范
×結(jié)對編程
×集體所有權(quán)
騰訊獨有實踐
√灰度放量
√showcase
如上列表,帶√的是最終采納的齐媒,帶×是最終放棄的實踐蒲每。
團隊實踐敏捷的采用Scrum+XP方法中,Scrum整體采納的比較多里初,個人認(rèn)為主要原因是:第一啃勉,Scrum的一些措施更偏團隊管理和溝通管理,對于早期的敏捷實踐双妨,這兩個層面的實踐容易實行淮阐,而且見效比較快。第二刁品,XP實施的措施都是偏代碼實踐的泣特,對技術(shù)要求比較高,實施成本也比較高挑随。當(dāng)然状您,結(jié)合騰訊的海量運營業(yè)務(wù),成功實踐敏捷肯定需要一些獨門秘笈兜挨。
說說我對Scrum的理解膏孟,Sprint是組成Scrum的關(guān)鍵因素,翻譯的意思是迭代拌汇,也就是研發(fā)周期為一周柒桑、二周、三周或者四周的時長噪舀,就必須有一個交付的版本魁淳,而且發(fā)布版本最長周期不允許超過四周。迭代引入一個Timebox的概念与倡,可以類比集裝箱的概念界逛。集裝箱這個發(fā)明出現(xiàn)在航運后,徹底改變了世界航運的版圖纺座,目前全球非散貨運輸?shù)?0%都是依賴集裝箱的息拜。集裝箱的使用有嚴(yán)格的規(guī)定,從而容易組合運輸,并且方便各種運輸工具匹配该溯。集裝箱廣泛的使用就是因為它能夠極大的減少了運輸期間的損耗岛抄,提升運輸時的效率别惦。類比咱們Sprint概念狈茉,也是通過引入固定的迭代周期可以減少軟件研發(fā)過程中團隊的內(nèi)耗,提升版本交付的效率掸掸。凡事有例外氯庆,曾經(jīng)有一個著名的故事:如果要運輸一頭大象,一個集裝箱容納不下怎么辦扰付?答案下一篇文章揭曉堤撵。
關(guān)于最終放棄的三個實踐。
焚燒圖——這個實踐方法在當(dāng)年也使用了一段時間羽莺,最終發(fā)現(xiàn)效果不好实昨。因為在團隊開發(fā)互聯(lián)網(wǎng)軟件產(chǎn)品的過程中,需求變更非常頻繁盐固,而焚燒圖是通過每個迭代后還剩下需求個數(shù)來展現(xiàn)的荒给,導(dǎo)致這個圖展現(xiàn)的數(shù)字沒有實際意義。因為多次迭代需求實在是太頻繁刁卜,效果很不精確志电,所以失去意義。需要用到焚燒圖的前提是要么需求沒有太大的變化蛔趴,或者用來做每天的bug焚燒圖挑辆。
結(jié)對編程——當(dāng)年有部分團隊使用這種方法之后,實在是太耗損內(nèi)耗孝情,最終放棄鱼蝉。如果都是用來編寫代碼的話,員工受不了箫荡,勞動強度很大魁亦。一直在思考,而且團隊成員互相監(jiān)督菲茬,導(dǎo)致大家都沒有喘氣的時間吉挣。而如果是用來編寫測試用例的話,老板又受不了婉弹,感覺浪費了一半的編程力睬魂。最終這個方法沒有大規(guī)模推廣起來。
集體所有權(quán)——這個所有權(quán)思想其實一直都在提倡镀赌,但是很難做到氯哮。畢竟團隊中每個人都想有一個自己全權(quán)負(fù)責(zé)的業(yè)務(wù),很多程序員對待自己的代碼就像對待自己的女朋友一樣商佛,不喜歡其它人動手動腳的喉钢,自己怎么看都喜歡姆打。然后對待別的程序員的代碼都像對待一坨shit一樣,看都不想看肠虽,喜歡按照自己的Style重新設(shè)計一遍幔戏。這是一個非常有效消減技術(shù)債的方式,但是卻很難實現(xiàn)税课。
就這樣闲延,騰訊敏捷轉(zhuǎn)型在不斷的探索和實踐中,找到了獨特的敏捷方法韩玩。
*本文由老布原創(chuàng)垒玲,轉(zhuǎn)載請聯(lián)系授權(quán)。
第一輯:我親歷的鵝廠敏捷轉(zhuǎn)型
(每周五揭曉)
NO.3 Scrum有什么好
NO.4 為什么敏捷團隊不要超過15人
NO.5 需求沒做完可以發(fā)布嘛
NO.6?如何打造稱手的武器
NO.7 QQ郵箱怎么成為行業(yè)第一的
NO.8 你愛上手機QQ么
NO.9 天天系列天天見喲
?END?
您可能錯過的精彩
根據(jù)手機殼顏色改變APP顏色合愈?微信團隊也曾遇到過
公眾號搜索【老布談敏捷】,每天一篇文章帶你邁向敏捷