20年起義,敏捷已死,敏捷萬歲

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"開發者,你們真的享受到敏捷開發的好處了嗎?"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"敏捷宣言(Agile Manifesto,敏捷軟件開發),今年剛剛 20 年,有兩個事實似乎不言自明。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"numberedlist","attrs":{"start":1,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"作爲一個標籤,敏捷是勝利者;沒有人希望被稱爲“非敏捷”。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"但敏捷在實踐上和創始人的革命性思想是相去甚遠的。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們是怎麼走到這一步的?"},{"type":"text","marks":[{"type":"strong"}],"text":"大家都說自己是敏捷的,但是很少有人是敏捷的。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"宣言從何而來"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2001 年 2 月,由 17 名軟件專家組成的小組在數天的的討論和辯論後,他們共同撰寫了《敏捷軟件開發宣言》(Agile Software Development Manifesto)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"首先要強調的是,這些人是實踐者,並非項目經理、首席技術官或工程副總裁。他們是開發者、程序員、科學家和工程師。他們仍然在編寫代碼,並與他們的利益相關者合作,共同解決問題。這個非常重要。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"筆者注:我並不瞭解每一個簽署人的個人歷史,但是在我認識的人當中,他們要麼還在編寫代碼,要麼已經寫了很久了。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"還有一點是,《敏捷宣言》並不是憑空產生的。很多人已經有了他們自己創造的方法論,並且正在宣傳。也許我的記憶有些偏離,但是我想所有這些方法在“敏捷”之前就已經存在了。極限編程(Extreme Programming,XP)、Scrum、DSDM、自適應軟件開發、Crystal、特徵驅動開發(Feature-Driven Development,FDD)、實用主義編程。Schwaber 和 Sutherland 曾在 1995 年公開討論過 Scrum;我認爲 Beck 和 Jeffries 是在 1996 年開始談論極限編程的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個小組中的每個人都有編寫軟件的豐富經驗,他們都在尋求一種替代方法來代替重量級的文檔驅動開發過程。宣言的核心有四項價值陳述:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們身體力行同時幫助他人來探索開發軟件的更佳方式,進而認可下列價值:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"個體和互動高於過程和工具。(Individuals and interactions over processes and tools.)"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"可工作的軟件高於詳盡的文檔。(Working software over comprehensive documentation.)"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"客戶合作高於合同談判。(Customer collaboration over contract negotiation.)"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"響應變化高於遵循計劃。(Responding to change over following a plan.)"}]}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"曙光乍現"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從 2021 年的優勢來看,我們可以輕易地認爲現代軟件開發的許多實踐是理所當然的,但是在 2001 年,這些想法都是"},{"type":"text","marks":[{"type":"strong"}],"text":"非常激進"},{"type":"text","text":"的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你想說的是,你在收集所有需求並評估每一個特徵之前就開始開發軟件嗎?真是太瘋狂了!"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"被遺忘的重要部分是,敏捷從一開始就公開地和激進地反對管理。舉例來說,Ken Schwaber 就直言不諱地表示,他的目標是解僱所有的項目經理——不只是讓這些人離開他的項目,而是要將這個職業從我們的行業中剷除。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"敏捷性與 PMI"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們發現,在複雜的、創造性的工作中,項目經理的角色會起反作用。作爲項目計劃的代表,項目經理的思維會將項目中其他人的創造力和智慧限制在計劃的範圍內,而不是調動每個人的智慧去最好地解決這些問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"——Ken Schwaber,宣言簽署人和 Scrum 共同創始人"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Scrum Master 在這個問題上沒有什麼權威,也沒有投票權。他們是僕人型的領導者,幫助保護和疏通團隊,但不能管理團隊。極限編程也是如此。假如我沒記錯的話,極限編程最初有跟蹤者和教練,它們有着相似的促進、支持氣氛。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Alistair Cockburn(宣言的簽署人和水晶方法論(Crystal methodology)和 六邊形架構(Hexagonal architecture)的創始人)最近對這一問題有了 非凡而深刻的見解,包括這一觀點(轉述):"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Scrum 在充滿敵意的領域中達成了一樁偉大的交易:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1. 管理層每年有 12 次機會,在每次 sprint 結束後,以他們希望的方式改變方向。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2. 團隊有一整個月的安靜時間,沒有任何干擾或者方向的改變,可以進行大量的思考和工作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3. 在沒有管理層干預的情況下,團隊必須宣佈他們在本月能做什麼,不能做什麼。沒有哪位高管能得到比這更好的交易。沒有哪個開發團隊能得到更好的交易。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"作爲一名認證的 Scrum Master,我在敏捷團隊裏工作超過 15 年,我閱讀過該領域的許多流行書籍。在這方面,我從來沒有見過任何人能夠如此清楚、簡明扼要地闡述這一觀點(再次引用 Cockburn):"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Scrum 的發明是爲了在惡劣的環境下工作。它是一個強硬的管理者與開發者之間的契約,需要時間思考和探索。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"反擊戰"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從某種意義上說,敏捷是一種基層的勞工運動。這肯定是從基層工作者開始,然後被推到管理層。怎麼會成功呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"部分原因是因爲開發者的數量以及他們對公司的價值不斷增加,從而獲得了影響力。我認爲最大的因素是,傳統的瀑布方法並不可行。由於軟件變得越來越複雜,業務的速度更快,用戶的複雜性更高,預先計劃每件事情都變得不可能。採用迭代式開發是合乎邏輯的,儘管對於習慣於計劃所有事務的管理者來說有些可怕。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我記得在 2000 年代中期的會議上,你能看到管理層並不買賬,但是他們已經沒有主意了。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接着,令他們喫驚的是,它開始奏效,斷斷續續。這個團隊需要奮鬥一段時間,然後慢慢成長,找出哪種模式可以應用於一個團隊,並獲得發展的動力。經過幾次 sprint 之後,你會發現在優先考慮工作軟件、協作、花時間檢查、適應以及其他所有方面的真正力量。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"用了 5 年左右的時間,敏捷已經從一種你聽說過但可能從未使用過的的方法變成了"},{"type":"text","marks":[{"type":"strong"}],"text":"每個人都在做"},{"type":"text","text":"的事情。在 2005 年,我換了工作,我還記得我對敏捷有所瞭解,而 TDD 纔是真正的不同。在 2010 年,人們認爲現代的軟件團隊正在進行某種形式的敏捷開發。最起碼,對於我在諮詢界的泡沫來說是這樣的;大公司的發展總是緩慢的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"我們做到了!我們贏了!恭喜各位!"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"故事到此結束。你可以繼續關閉瀏覽器的標籤頁。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"贏很輕鬆,年輕人,治國才更艱辛。(Winning was easy, young man. Governing’s harder.)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"——百老匯音樂劇《漢密爾頓》(Hamilton)中喬治·華盛頓的歌詞"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"遺憾的是,像許多革命一樣,敏捷並不像創始人預想的那樣發展。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"事實證明,優先考慮個體和互動是一個很難推廣的概念。銷售過程和工具要容易得多。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"事實證明,比起不切實際的計劃和堆積如山的文件,工作中的軟件更難生產。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"事實證明,與客戶合作需要信任和脆弱性,而這在業務環境中並不總是如此。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"事實證明,對於那些想要控制局面、同時又需要爲自己的業務制定長期計劃的高管來說,應對變化往往顯得不夠重要。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"事實證明,敏捷做得不好,就會讓人感覺很混亂。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但這並不意味着這四種價值觀都錯了。這隻意味着整個事情需要一些努力才能做好,也需要一些勇氣去接受軟件有時候本來就混亂無序的。你必須瞭解並相信,如果你一直在學習、適應、改進和提升,你最終將達到一個更好的境界,這是一個比你使用瀑布方法更誠實、更現實、更富有成效的地方。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"敏捷運動並不反對方法論,事實上,我們很多人都想要恢復方法論這一術語的可信度。我們想要恢復一種平衡。我們支持建模,但不是爲了將一些圖表存檔到塵封的公司倉庫中。我們支持文檔,而不是幾百頁從來沒有維護、很少使用的“大部頭”。我們制定計劃,但也承認在不穩定環境下計劃的侷限性。有些人把極限編程、SCRUM 或者任何其他敏捷方法的擁護者當做黑客來對待,他們根本不知道這些方法和“黑客”的最初定義。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"——《歷史:敏捷宣言》(History: The Agile Manifesto),Jim Highsmith"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這些都是很重要的一點。對於敏捷,我們仍然需要計劃和文檔,並且具有嚴謹性。"},{"type":"text","marks":[{"type":"strong"}],"text":"這涉及平衡"},{"type":"text","text":"。但是,如果你的組織在敏捷轉型中掙扎,陷入混亂之中,那麼當有人以認證、過程和工具的形式爲你提供“救生艇”時,你就可以一躍而上。管理層對於過程和工具的理解要比對自組織團隊更瞭解。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"起義失敗"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不幸的是,我沒有看到勇敢的反叛者在這一幕中捲土重來,至少在敏捷這個標籤下是如此。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"工具供應商、過程顧問和專家們所作的承諾永遠不能實現,這種情況已經氾濫成災。因此,這就是我們最終採用 SAFe 和 Scaled Scrum 以及所有其他企業敏捷風格的原因。這些框架並非出於惡意而創建,它們甚至在正確的情況下具有一定的價值。但是我不認爲它們是敏捷。嘗試拓展一種注重個體和互動的方法論,會不可避免地帶來問題,並侵蝕其方法論的原始價值。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們正是這樣結束了 Ron Jeffries 作爲宣言簽署人和極限編程的共同創始人在 2018 年發表的著名文章。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"開發者應該放棄敏捷"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果不恰當地運用“敏捷”的理念,它們往往會導致開發人員更容易被幹擾,縮短工作時間,增加壓力,並且要求“更快地開展工作”。這樣做不利於開發者,並最終影響到企業,因爲不能很好地應用敏捷,通常會導致更多的缺陷和進展緩慢。優秀的開發者經常會離開這樣的組織,導致企業的效率比安裝“敏捷”之前要低。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們正是這樣結束了 Dave Thomas 作爲宣言簽署人和實用主義編程的共同創始人在 2014 年發表的著名文章。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"敏捷已死(敏捷萬歲)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“敏捷” 這個詞已經被顛覆,實際上已經毫無意義了,而所謂的敏捷社區似乎主要是顧問和供應商兜售服務和產品的舞臺……一旦《宣言》流行起來,“敏捷”一詞就會吸引任何有觀點支持、有時間收費、有產品銷售的人。這已成爲一個行銷術語。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因此,我認爲是時候將術語“敏捷”退休了。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"反思"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"看着年輕的開發者們詆譭敏捷,把它看成是管理層壓榨不現實的承諾、迫使開發團隊瘋狂工作的一種方法,我真的很悲哀。好吧。他們唯一知道的敏捷是強加給他們的控制機制,而非一種他們樂於接受的自我授權工具。但是我希望,一些圍繞着歷史和最初設想的討論能夠幫助我們回憶事物本應如何演變。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這一切都有一個好消息,《敏捷宣言》的原則在今天和 20 年前一樣明智且有意義。甚至像 Jeffries 和 Thomas 這樣的所謂反叛者也仍然這樣認爲。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Jeffries 在上面提到文章中說,“然而,《敏捷軟件開發宣言》的價值觀和原則 "},{"type":"text","marks":[{"type":"strong"}],"text":"仍然是我所知道的構建軟件的最佳方式"},{"type":"text","text":",基於我長期的各種經驗,無論大型組織採用的是什麼方法,我都將遵循這些價值觀和原則。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我深以爲然。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如今討論敏捷既不時髦也不酷。敏捷很無聊。每個人都在做敏捷,對吧?現在是反思過去 20 年的最佳時機,問自己一些問題:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"哪些地方做對了?"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"哪些地方出錯了?"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"下次我們想做些什麼不同的事情?"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一些 Simple Thread 的員工正在經歷這場革命,他們計劃在未來幾個月裏重新思考最初的12 條敏捷原則中的每一條,對其原始含義進行背景分析,並考慮它們在當前軟件開發環境中的價值。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我的希望是,通過研究創始原則,我們可以從過去的經驗中學習,用 Dave Thomas 的話說,即使我們選擇放棄“敏捷”,我們也能保持敏捷。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"原文鏈接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.simplethread.com\/agile-at-20-the-failed-rebellion\/","title":"","type":null},"content":[{"type":"text","text":"https:\/\/www.simplethread.com\/agile-at-20-the-failed-rebellion\/"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章