為什麼像Google公司的一些開發人員認為敏捷開發是無稽之談? - Quora

banq發表於2019-08-04

前Google工程師總監David Jeske認為:敏捷對許多人來說意味著許多事情。我認為簡單的高階敏捷宣言與谷歌工程師對軟體開發的思考方式非常接近。
  • 個人和流程與工具之間的互動
  • 透過綜合文件記錄工作軟體
  • 合同談判中的客戶協作
  • 響應遵循計劃的變更

然而,一旦你將這些高層次的想法轉化為細節,協議就會逐漸消失。敏捷有一些好的想法,但它也存在一些問題因素,這些因素過於集中於短期思維,以致於在谷歌這樣的公司進行革命性的工程專案是不太適用。我們不會深入細節,讓我們看看敏捷宣言背後的原則主題。

讓我們從共享的想法開始吧。Google開發風格體現了原則中談到的個人授權型別。最符合矽谷並且可能受矽谷啟發的具體原則包括:
  • 圍繞有動力的個人建立專案。為他們提供所需的環境和支援,並相信他們能夠完成工作。
  • 最好的架構,要求和設計來自自組織團隊。
  • 團隊定期反思如何變得更有效,然後相應地調整和調整其行為。
  • 持續關注技術卓越和良好的設計可提高靈活性。
  • 簡單 - 最大化未完成工作量的藝術 - 至關重要。

這些原則對於智慧工程師來說幾乎是常識。我認為矽谷創造了賦權的文化,並信任那些以此為中心的個人。
但是,這些原則的其他部分並不是Google風格的開發文化的一部分。這些是導致短期集中的Scrum流程的部分。它們似乎適用於特定型別的開發,最明顯的是諮詢或合同程式設計,其中客戶是組織外部的,執行節目是因為他們為開發付費,並且可以隨時改變主意:
  • 我們的首要任務是透過儘早和持續交付有價值的軟體來滿足客戶。
  • 業務人員和開發人員必須在整個專案中每天一起工作。
  • 向開發團隊內部和內部傳達資訊的最有效和最有效的方法是面對面交談。
  • 歡迎不斷變化的要求,甚至是開發後期。敏捷流程利用變化來實現客戶的競爭優勢。
  • 經常提供可執行工作的軟體,從幾周到幾個月,優先考慮更短的時間尺度。

這種短期計劃不太適合具有非常簡單的介面和大量隱藏的內部複雜性的軟體

像谷歌這樣的公司編寫了以前從未編寫過的革命性軟體,例如Bigtable是一種廣泛複製的分散式資料庫設計,Borg是最早的超大規模叢集/雲管理器之一。這種創新需要大量的前期設計時間,並且可以在超過一週的迭代次數上處理元件。
由於專案具有如此簡單的外部介面以及如此多的內部複雜性,因此“客戶”甚至無法看到大部分可工作執行的功能,因此無法編寫客戶可見的故事。這種型別的軟體需要8-20個月才能將第一個工作版本交付給客戶。
Bigtable和Borg等專案都是反Scrum。它們代表了技術領導者的長期思考。他們不符合每週滿足一些小需求的工作,而是為叢集軟體開發方式的根本轉變奠定了基礎。這筆投資不僅獲得了谷歌的驚人回報,還影響了整個行業。
其他行業也有類似的類似物。從稅務會計軟體到電腦遊戲,某些軟體不適合在部分完成時提供給最終客戶。

 

相關文章