產(chǎn)品敏捷開發(fā):千金難買早失敗
我們不應(yīng)該忘記任何經(jīng)驗,即使是最痛苦的經(jīng)歷。– Dag Hammarldskj?
一、前車之鑒
我們從項目管理的一個經(jīng)典案例談起。
這個項目是美國的A-12 Avenger II隱形攻擊機。此款機型是冷戰(zhàn)時期由美國海軍主導(dǎo)開發(fā)的攻擊機,它可以躲避雷達的偵測,一旦研發(fā)成功,不但海軍會用,空軍也會采用。
但是隨著項目的開展和時間的推移,A-12的研發(fā)遇到了很多的問題,其中一個最大的障礙是隱形技術(shù)的問題。
對軍事有所研究的同學知道,飛機要對雷達波隱形,有兩種方式:
- 第一種,利用飛機外形設(shè)計,在不同的方向散射電磁波,使得接收到的電磁波信號大幅度減弱,無法偵測飛機的位置;
- 第二種,利用特殊的涂料,透波材料和鍍膜來減弱機體結(jié)構(gòu)對雷達的散射。各國的隱形飛機,例如殲-20, F-25, F30都是利用這兩種技術(shù)手段來達到隱形的目的。
事實上,給A-12的開發(fā)帶來致命一擊的是冷戰(zhàn)的結(jié)束。1991 年 1 月 7 日,該項目在成本嚴重超支,時間嚴重拖后的情況下,國防部長Cheney下決心全面終止項目,并否決了美國海軍提出的修改戰(zhàn)技要求繼續(xù)研制的方案。
A-12研發(fā)項目終止時,美國已經(jīng)投入了2億美金的成本,而此項目唯一的產(chǎn)出物是一個用木頭做的模型。
二、軟件開發(fā)是一場充滿挑戰(zhàn)的叢林探險
很多人曾問安娜:我們?yōu)槭裁匆雒艚蓍_發(fā)?
安娜想說的是,采用敏捷開發(fā)法不僅僅是為了快,如果A-12采用敏捷開發(fā)方法不斷的驗證克服技術(shù)上的困境和方案的話,DOD就不會遭遇2億美金換來復(fù)仇者之死的局面;如果在項目監(jiān)控過程中進行滲透式溝通和周期性回顧總結(jié),項目的重大問題和風險就不會在歷時2年之后才暴露出來。以更快的速度,更少的成本消耗應(yīng)對現(xiàn)實世界需求的快速變化是敏捷管理法的優(yōu)勢,為了保障產(chǎn)品的成功(注意,不是項目的成功),敏捷式方法又離不開個體之間的互動和高效溝通。
信任和溝通使產(chǎn)品經(jīng)理和團隊成員都朝著同一個方向前進,這是許多敏捷基礎(chǔ)實踐諸如集中辦公,需求交底,立會,迭代計劃,共同估算,和反思的基礎(chǔ),同時也意味著更少的錯誤,更少的浪費,風險和成本。迭代過程是一個逐步求精的過程,而用戶故事是互動和溝通的另一種體現(xiàn)形式,它鼓勵團隊推遲事無巨細得考慮細節(jié),它又提示我們以隨機應(yīng)變的方式開發(fā)軟件,使團隊能夠在高層需求及底層設(shè)計思考間來回切換,并以討論為主不斷精煉和挖掘客戶的需求來回應(yīng)市場的反饋。
做敏捷要從改變固有的思維習慣開始,走出自我思維的舒適區(qū)。
何謂Agile mindset?我認為它由如下幾個方面構(gòu)成:
- 積極的態(tài)度,對產(chǎn)品的成功有很高的期待
- 以實用為出發(fā)點
- 個人的成功不是成功,團隊的成功才是真正的成功
- 對未知世界和領(lǐng)域知識的渴求
- 勇敢嘗試新的方法,坦然接受失敗
我個人的理解:敏捷就是把一切作為經(jīng)驗教訓(xùn)總結(jié),基于反饋及時的調(diào)整我們的下一步行動,并向著我們期待得到的結(jié)果出發(fā),這才是促使團隊持續(xù)改進的源動力。
我曾有幸和許多有才之士一起工作,他們經(jīng)常從“這樣做我們的產(chǎn)品/企業(yè)能獲得什么”的角度考慮需求和問題,他們經(jīng)常提出自己已經(jīng)試驗過的創(chuàng)新解決方案來克服項目中遇到的障礙,同時他們又是一群非?,F(xiàn)實的實戰(zhàn)主義者,從不吝嗇幫助別人使團隊獲得成功。這些人,正是我在組建敏捷團隊的時候想要找尋的最強助力。
三、天下難事,必作于易;天下大事,必做于細
白蟻巢穴是世界上最奇妙的建筑,地面上有十幾米,地下還深達二十幾米,產(chǎn)卵室,育嬰室,通風道等無一不缺,井然有序??茖W家還發(fā)現(xiàn)白蟻開始建造一座蟻巢時像沒頭的蒼蠅,沒有秩序,一會兒把一粒小小的土塊搬到這,一會兒又可能挪走。這么折騰一陣子之后,白蟻們就會建設(shè)起初級的形狀,然后開始按著這個形狀相對有秩序地添磚加瓦,變無序為有序,修修補補,日積月累就形成了形狀各異,功能相似的蟻巢。蟻巢的建造過程顛覆了我們頭腦的認知。
——《我們不要假裝有遠見,微小前進勝過完美規(guī)劃》
白蟻不是依靠詳盡的規(guī)劃,而是像我們中國人所說的“摸著石頭過河”來做建筑。敏捷式項目管理何嘗不是這樣?我曾好多次以我黨的長征為例,來向大家闡述“摸著石頭過河”的敏捷項目是怎樣一步一步實現(xiàn)了最終的目標,屢試不爽。
敏捷式是一整套生態(tài)系統(tǒng)的搭建和維護。
敏捷的成功實施既要依靠各級管理層對敏捷的完善和較為一致的認識,又要保證基層員工在日常的敏捷實踐中踏實認真地執(zhí)行每一個工作要素。
敏捷的實踐,遠遠不只是每天站在白板前面“匯報”昨天今天做了什么,和time-boxing的迭代那么簡單。團隊要反思,拿什么反思?在建造“可用的軟件”過程中,有歷史數(shù)據(jù)沒有?定性的反思容易流于形式,并且反思的內(nèi)容都是大同小異,久而久之我們就會忽略‘反思’這項敏捷式方法中激勵團隊持續(xù)改進的精華實踐。在用戶故事,迭代計劃會議等類似非技術(shù)實踐中,團隊還要結(jié)合TDD(測試驅(qū)動的開發(fā)),continuous integration(持續(xù)集成),refactor(代碼重構(gòu))等技術(shù)實踐,否則想要生產(chǎn)出高質(zhì)量的軟件產(chǎn)品就是紙上談兵。
戊戌變法和明治維新是中國和日本在差不多同一時期進行的富國強兵的改革,但是一個失敗了,另一個卻成功了,為什么?因為日本不僅引進西方技術(shù),更引進了西方的生產(chǎn)關(guān)系和政治制度,人家要學就學一整套的;中國人聰明,僅僅是引進了技術(shù),我們習慣挑著學習我們?nèi)菀捉邮艿臇|西。
回頭看團隊實踐敏捷的方法做項目,在起步過程中有很多同事問安娜,我為什么一定要每天更新一次JIRA的Scrumban?能不能兩天更新一次,我都記得?。?/p>
安娜在這里冒昧的引用一句備受崇拜的改變了互聯(lián)網(wǎng)時代的偶像的一句話來回答你:Stay Hungry Stay Foolish.
四、大成若缺
缺陷是任何事物的組成部分,只要我們是從不同的角度去觀察他的。產(chǎn)品如此,人亦如此。
互聯(lián)網(wǎng)產(chǎn)品軟件開發(fā)的路徑,是一條充滿了荊棘,陷阱和無奈的開發(fā)者之路。在營造團隊敏捷價值觀的同時,我們更應(yīng)該關(guān)注團隊自身的發(fā)展,讓團隊成長為一個“自我組織”的team,他們才會具備一顆真正強大的內(nèi)心來抵御和坦然接受任何風險,哪怕是失敗。
在倫敦旅游的時候我曾發(fā)現(xiàn)好多紀念品上都印有“Keep Calm and Carry On”的字樣,我饒有興致的Google一番,原來這句話是有歷史故事的:二戰(zhàn)時期納粹轟炸英國的時候,英國皇家印了幾萬張“Keep Calm and Carry On”的海報準備發(fā)放給老百姓,體現(xiàn)了他們冷靜而紳士的英國文化。
在互聯(lián)網(wǎng)軟件開發(fā)崎嶇之路上,我們則可以將這句話改造為“Keep Calm and Refactor”.
作者:安娜(點融黑幫),理財產(chǎn)品部,資深項目經(jīng)理。
本文由@點融黑幫(公眾號:DianrongMafia)原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
強調(diào)敏捷開發(fā)實施的重要性么,其實可能因為我對這方面認知太淺,一目十行,看得不是很明白
整個文章,作者沉浸在自己的思維里,既然是產(chǎn)品經(jīng)理,你有沒有考慮過:我寫這些的目的是什么,我為什么要寫?
可能我太low,大部分是看不懂的,呵呵,那這個文章對我沒有意義