天天看點

靈活是一場關于适者生存的進化

Ken Schwaber作為Scrum的締造者之一,與Jeff Sutherland一起傾情撰寫的靈活圖書《30天軟體開發——告别瀑布擁抱靈活》,現已由ShineScrum成功翻譯圖靈出版,并在各大網站出售。近日,ShineScrum又邀請Ken Schwaber參加了圖靈社群的通路,下面請見詳細訪談内容及Ken Schwaber的精彩回答。

靈活是一場關于适者生存的進化

KenSchwaber

軟體開發專業人士,在過去40年的職業生涯中,曾擔任過程式員、分析師、咨詢師、産品經理,還做過企業家。過去20年裡,一直緻力于發展Scrum,并幫助世界各地的機構使用Scrum。他是“靈活宣言”最早的簽署人之一,也是靈活聯盟和Scrum聯盟的創始人,目前正努力通過Scrum.org來改善整個軟體行業。

圖靈社群:你建立Scrum的最初動機是什麼?

Schwaber:因為Srum管用。當時我的公司正在忙于傳遞一個進階産品,這個産品的市場正火,需要有經常性的改動。如果我們采用長開發周期,我的公司就會破産。是以我們設計了Scrum,它讓我們涅槃重生。

圖靈社群:你覺得在中國推廣Scrum有文化障礙嗎?

Schwaber:不會比其他文化更困難。一種文化是否能接納并利用Scrum的關鍵點在于對可預測性的相信程度。在文化中更了解和接納可預測性的人會相信他們可以預測未來。他們工作的目的就是通過利用人力和資源讓未來變成真正的現實。使用Scrum的人們都曾有這樣的看法,像軟體開發這樣充滿複雜性和創造性的工作是毫無預測性可言的。這樣的結果很可怕:糟糕的軟體,趕不上的進度,浪費的金錢,洩氣的工作者。是以他們知道最重要的就是預測什麼才是真正的需求,讓員工們都認識到這點,然後竭盡所能幫助人們實作這個目标。Scrum之道的核心在于“有可為”,利用機會,避開障礙,靈活起來。

圖靈社群:經常有人會抱怨舍棄瀑布模型的困難重重,你認為有必要把靈活和瀑布模型結合起來嗎?為什麼?如果可行的話,如何做到?

Schwaber:這兩個模型分别适合于兩種極端不同的情況。對于瀑布模型,我們預測我們要建的是什麼,怎麼制作,建立計劃,然後按照進度完成。所有事情的關鍵都在于界定想要什麼的準确性,以及直到産品最終成型前的有效溝通的準确性。如果溝通環節完美無缺,沒有改變的需要,這麼做是可行的。Scrum的假設是溝通是有缺陷的,而改變才是永遠不變的。在不超過30天的短周期中,人們建立起他們認為最終想要的東西。這在周期的最後會被檢查。根據結果與需求的和諧程度,要做出下一個周期的計劃。這是一個一直在改變的持續回報環,根據檢查結果和需求變化做出改變。有人曾嘗試結合兩種方法,結果讓人失望,毫無意義。還不如分開的好。

圖靈社群:一家公司如何知道Scrum是否适合他們的企業以及他們産品?

Schwaber:Scrum幾乎從來不會和某些軟體公司的企業文化契合,這些公司因為不适當的瀑布模型而壓力山大,他們在過去30年中一直都使用毫無新意的技術。Scrum确實适合某些企業文化,為了年度預測而模仿銷售周期,然後年度預測變成了月度預測,然後檢查結果,并作出合适的變化。多數公司對給他們開發軟體的部門都不甚滿意,因為浪費、失敗、糟糕的品質屢見不鮮。那些極度絕望或者有真知灼見的人們會努力轉移到Scrum上,這是一種更加适宜的方法,它可以反映出這家公司其餘部門運作的方式。

圖靈社群:在現實開發中,有些公司執着于死闆的方法,而不會調整這些方法以适用于他們自身的環境,你對這些公司怎麼看?你對他們有什麼建議嗎?

Schwaber:軟體發展之迅速,已經成為了公司是否能存活的關鍵,這不僅關乎公司運轉的方式,也關乎已經被嵌入到他們産品中的軟體。那些不進化的企業,不在軟體和産品開發中應用靈活方法的企業,就無法有效競争并存活下來。我的建議就是,靈活是一場關于适者生存的進化。

圖靈社群: Productowner有很大的責任,有時候,他們會成為整個團隊的瓶頸,如何解決這個問題?

Schwaber:這個問題确實存在。是以我們要解決它。要解決這個問題有很多方法,包括為團隊增加更多的領域知識。如果團隊沒有領域知識的話,product owner就不存在,那麼我猜測整個開發就會慢下來,直到問題解決。否則就要等釋出糟糕産品,丢人現眼之後再解決了。

圖靈社群:番茄工作法是提高個體效率的方法,可以在Scrum中使用番茄工作法嗎?

Schwaber:如果你願意的話,Scrum是一種可以内嵌番茄工作法的架構。但是,不加調整地盲目應用任何技術都是有害的。

圖靈社群:如何控制和管理技術負債?

Schwaber:在你寫每條功能的時候,都要假設你後半輩子要一直維護和提升這個功能。就算你要上手一條爛到骨子裡的老程式的時候,也要這麼做。否則,那部分用來維護和支援老産品的開發預算就會吞噬所有要花在新工作上的費用。

圖靈社群:你認為靈活方法過分強調YAGNI(你不會需要它)嗎?這樣會造成忽視遠期目标嗎?

Schwaber:靈活方法并不包含 YAGNI。但是靈活确實需要清理不需要的東西。比如,為什麼要在有記錄文檔的情況下和别人溝通,而不是直接和他們交談?無論如何,維護一個産品所需要的文檔應該在每個周期都有發展。做有用且需要的事,剔除所有其他。

圖靈社群:有人認為靈活方法現在在走下坡路,你認為為什麼會有這樣的聲音?你的看法呢?

Schwaber:我曾聽見有人問,靈活是一種潮流嗎?我認為靈活是一系列的價值觀和原則。而Scrum建立在靈活之上,Scrum也建立在聚焦,勇氣,開放,承諾,和尊重這些價值觀之上。價值觀不是潮流。在我的想法中,在這些價值觀和原則下工作的人們會成為潮流,他們的方法遠遠超過其他的方法,或潮流。

圖靈社群:你怎麼看靈活的派别之争?你認為他們之間有沖突和沖突嗎?他們的不同來自哪裡?

Schwaber:靈活和Scrum是非常非常簡單的方法。不同和沖突來自想通過制造工具、方法,以及創造基于靈活理念的新方法而賺錢的機構。一旦金錢進入了等式的一端,沖突就會發生。這些沖突并不是非發生不可的。用你的眼睛選擇對你來說有用的方法。試驗,并持續改進。

                                                                                                            ——轉載征得圖靈社群許可

繼續閱讀