很榮幸地,作為一名產(chǎn)品人,我在人生的第一個項目上就被灌輸了“敏捷開發(fā)”的概念。那是一個外企客戶的App開發(fā)項目,我作為BA(雖然化妝品公司常用BA,不過這里是business analyst)角色,而PM是一名經(jīng)驗豐富且老道的資深顧問。我至今仍很清晰地記得,PM在和客戶大吹特吹我們敏捷開發(fā)的效益,然后在kick off的ppt上貼了一張很漂亮的甘特圖。這直接導致了我在很長一段時間里將敏捷開發(fā)的概念等同于迭代開發(fā),而確實“敏捷”一詞相當于這個行業(yè)的通行證一般,這種感覺就像你在寫ppt的時候可以貼上幾個特別復雜但沒有實際意義的英文單詞,就瞬間使得整個文檔高大上且國際化起來。
再到后來,公司為推廣這種方法組織了幾場價格昂貴的敏捷培訓,由敏捷教練帶著做看板(kanban),且舉出若干實例來證明這種理念的行之有效。如果有興趣的話,還可以額外付費參加考試來獲取證書。
所以截至目前,沒有人告訴過我,敏捷是否適用于所有項目?漂亮的甘特圖是否完全落伍了?敏捷的歷史由來與未來啟發(fā)是什么?帶著諸多疑問去讀這本Scrum之父杰夫·薩瑟蘭所著的<敏捷革命>使我頗受啟發(fā),下面我所認為的答案摘自原著不做修飾也不饞個人見解。
-Scrum是不是方法論?
“敏捷方法論”這個詞語的運用顯示出總檢察長對Scrum的了解很少。“敏捷”這個詞語可以追溯到2001年的一場秘密會議,在那次會議上,我與另外16位軟件開發(fā)領域內(nèi)的領軍人物共同擬定了眾所周知的<敏捷軟件開發(fā)宣言>,宣布了以下價值:人勝過流程,可以使用的軟件勝過面面俱到的文件,客戶合作勝過合同談判,應對變化勝過遵循計劃。Scrum只是我用來實現(xiàn)這些價值的一個架構,算不上“方法論”。
-Scrum與迭代的關系?
Scrum是一種迭代式增量軟件開發(fā)過程。所謂迭代,是指把一個復雜且開發(fā)周期很長的開發(fā)任務分解為很多短期可完成的任務,這樣的一個周期就是一次迭代的過程;同時,每一次迭代都可以生產(chǎn)或開發(fā)出一款可以交付的產(chǎn)品。
-什么是“豬”與“雞”的職責?
在Scrum領域,有一個老笑話。一天,一頭豬和一只雞在路上散步。豬對雞說:“嗨,我們合伙開一家餐館怎么樣?”豬回頭看了一下雞說:“好主意,那你準備給餐館起什么名字呢?”雞想了想說:“叫‘火腿和雞蛋’怎么樣?”“那可不行,”豬說,“我把自己全搭進去了,而你只是參與而已?!边@則故事應用在敏捷開發(fā)上,用來說明不同角色的職責。在Scrum過程中,“豬”在Scrum過程中全身投入項目,對結果負責?!半u”需要了解項目進程,是利益相關方。
究其本質(zhì)而言,Scrum方法很簡單:無論你什么時候啟動一個項目,為什么不經(jīng)常檢驗一下自己正在做的事情,看看是否朝著正確的方向前進?結果是不是大家真正希望看到的?是否有什么辦法能改善目前正在做的事情?如何才能做得更快更好?存在哪些潛在的障礙?