肯·施瓦伯,Scrum之父:敏捷是物競天擇的演進(Turing 對談)
我偶然看到一場對 肯·施瓦伯,(Scrum之父)在中國由Turing舉辦的訪談。我認為這對大多數與中國(或亞洲國家)相關的亞洲人來說也具有參考價值,即Scrum是否適合在中國(或亞洲國家)實施。以下是英文翻譯:
肯·施瓦伯是敏捷軟體開發運動的領袖之一。他同時也是一名開發者、產品經理與產業顧問。肯與傑夫·薩瑟蘭(Scrum Boston 首席执行官)共同建立了Scrum開發方法的最初版本,並在1995年OOPSLA年度會議上首次正式提交了Scrum方法。施瓦伯與薩瑟蘭是敏捷宣言的最初簽署人之一,也是權威《Scrum指南》的作者。如今,施瓦伯負責Scrum.org,該機構為「Scrum大師」、「Scrum開發者」、「Scrum產品負責人」以及使用Scrum的組織提供Scrum資源、培訓、評估與認證。
Turing社群: 您最初建立Scrum的動機是什麼? Scrum?
施瓦伯: 因為Scrum有效。當時我的公司正忙於交付一款高階產品,該產品市場熱烈,需要不斷變更。如果我們採用長週期開發,公司將會破產。因此我們設計了Scrum,讓我們實現涅槃重生。
Turing社群: 您認為在中國推廣Scrum會有文化上的障礙嗎?
施瓦伯: 並不會比其他文化更困難。文化能否接受並運用Scrum的關鍵,在於對可預測性的信心程度。
那些在文化中理解並接受可預測性的人會相信自己能夠預測未來。他們工作的目的,是透過人力與資源,將未來變為真實的現實。
使用Scrum的人持有這種觀點,而軟體開發的複雜性與創造性是不可預測的。結果是災難性的:劣質軟體、無法跟上進度、浪費金錢,以及士氣低落的員工。因此他們明白,最重要的事是預測真正的需求,讓員工認知到這一點,然後盡一切努力幫助人們達成這個目標。Scrum之路的核心是「有事可做」,善用機會、避開障礙,並實現敏捷。
Turing社群:人們 經常抱怨放棄瀑布模型的困難。您認為有必要將敏捷與瀑布模型結合嗎?為什麼?如果可能的話,該如何操作?
施瓦伯: 這兩種模型適用於兩種極端不同的情境。
對於瀑布模型,我們預測要建構什麼、如何建構,制定計畫,然後追蹤進度。一切的關鍵在於明確界定所需的準確度,以及有效溝通的準確度,直到產品最終完成。如果溝通環節完美無缺且無需變更,這樣的作法是可行的。
Scrum的假設是溝通存在缺陷,且變更是永恆不變的。在最多30天的短時間內,人們會建構出他們認為最終想要的東西。這將在週期結束時進行檢驗。根據結果與需求之間的契合程度,我們必須為下一個週期制定計畫。這是一個持續的反饋循環,根據檢驗結果與需求變動不斷調整。
有些人試圖將兩種方法結合,但結果令人失望且毫無意義。分開來做會更好。
Turing社群: 公司如何判斷Scrum是否適合他們的業務與產品?
施瓦伯: Scrum幾乎永遠無法融入一些因不當的瀑布模型而承受壓力的軟體公司企業文化,這些公司過去三十年一直使用缺乏創意的技術。
Scrum確實適合某些企業文化,模仿年度預測的銷售週期,將年度預測轉為月度預測,再檢視結果並做出適當調整。
大多數公司對為其開發軟體的部門並不滿意,因為浪費、失敗和低品質並不少見。那些極度焦慮或具備洞察力的人會試圖轉向Scrum,這是一種更能反映公司其他部門運作方式的更合適方法。
圖靈社區:在現實開發中,有些公司對僵化的方法著迷,且不會將這些方法適應到自身的環境中。你對這些公司有何看法?你有什麼建議嗎?
施瓦伯:軟體的快速發展已成為公司生存能力的關鍵,不僅在於公司本身的運作方式,也包括嵌入其產品中的軟體。那些不進化、在軟體與產品開發中不採用敏捷方法的公司,將無法競爭與生存。
我的建議是,敏捷是一種適者生存的演進。
圖靈社區:產品負責人承擔著巨大的責任。有時,他們會成為整個團隊的瓶頸。該如何解決這個問題?
施瓦伯:這個問題確實存在。因此我們必須解決它。解決這個問題的方法有很多,包括為團隊增加更多的領域知識。如果團隊缺乏領域知識,那麼產品負責人也就無從談起,我猜整個開發過程將會放慢,直到問題解決為止。否則,你只能等到發布一個劣質產品。
圖靈社區:番茄工作法是一種提升個人效率的方法。你可以在Scrum中使用番茄工作法嗎?
施瓦伯:如果你願意,Scrum是一種可以嵌入番茄工作法的框架。然而,不加調整地盲目應用任何技術都是有害的。
圖靈社區:如何控制和管理技術負債?
施瓦伯:在撰寫每個功能時,假設你將終身維護和增強這個功能。即使你想要從一個爛到骨頭裡的舊程式開始,也請這麼做。否則,用於維護和支援舊產品的開發預算將吞噬所有新工作的成本。
圖靈社區:你認為敏捷方法過度強調YAGNI(你不會需要它)嗎?這會導致忽視長期目標嗎?
施瓦伯:敏捷方法並未包含YAGNI。但敏捷確實需要清理不需要的事物。例如,當已有記錄文件時,為什麼還要與他人溝通,而不是直接與他們對話?無論如何,維護產品所需的文件應在每個週期中不斷演進。做有用且必要的事,剔除所有其他內容。
圖靈社區:有些人認為敏捷方法正在走下坡路。你認為為什麼會有這樣的聲音?你的看法是什麼?
施瓦伯:我曾聽人問,敏捷是一種潮流嗎?我認為敏捷是一套價值觀與原則。雖然Scrum建立在敏捷之上,但Scrum建立在專注、勇氣、開放、承諾以及對這些價值觀之上。
價值觀並非潮流。在我看來,那些遵循這些價值觀與原則的人將成為潮流,他們的方法遠遠超越其他方法或潮流。
圖靈社區:你如何看待敏捷派?你認為他們之間存在衝突和矛盾嗎?這些差異來自哪裡?
施瓦伯:敏捷和Scrum是非常非常簡單的方法。差異和衝突來自那些想要透過製造工具、方法,以及基於敏捷理念創造新方法來賺錢的機構。一旦金錢進入這個方程式的一端,衝突就會產生。這些衝突並非不可避免。用你的眼睛選擇對你有用的辦法,試驗並持續改進。