敏捷之終結?by Andy Hunt
(本文譯自Pragmatic Magazine 2011年8月刊。謝謝作者Andy的許可。原文連結)
幾年前,我有一次在做Pragmatic Thinking & Learning的討論會,我們談到通識教育的價值,即不僅教授科學知識,也要培養藝術修養。有個人一針見血地指出非技術課程有多麼有用:
“我在大學裡做的戲劇方面的工作比多數工程課程對我的程式設計職業幫助都要大。”他是Grant Gainey,高階架構開發者。
戲劇工作的經驗能派上很多用場,至少在遇到棘手和意料之外的情形時,可以幫助你與他人很好地相處。但是還有比較特別的一點值得我們仔細琢磨。
喜劇演員Tina Fey在她的自傳Bossypants(Reagan Arthur出版社,2011年第1版)裡解釋了戲劇教育的一個重要內容——improv.,也就是即興表演。你和其他幾個演員在舞臺上卡殼了,沒有指令碼可看,失去了目標,也根本沒有預先演練過。這時所謂的“情節”和對話只能隨著你和其他演員的互動立即展開。Fey提到即興表演有以下兩條規則:
規則一:認同。
規則二:新增。
首先,你必須承認現實。假如另一個劇中人物已經設定了你的環境,無論這個環境是在月球上,還是在煤礦裡,擬或是在巴黎的地下墓穴中,你都得認命。千萬別說:“唉,等等,這不應該是月球,應該是空間站!”因此,第一條規則就是認同已經形成的事實。
然後,就需要為自己新增些什麼。如果只是簡單地認同說“是啊,這當然是月球無疑”,劇情就會定格在此,無法發展。這會讓對話立刻陷入僵局。
因此,你需要增加自己的一點兒東西,我們後面稱它為“是的,而且...”。在剛才舉的這個例子裡,你們身處月球,也許你可以這麼接話說:“是的,而且我好像看到有什麼東西在那座環形山的邊緣飄過。”這樣其他演員就可以繼續發揮,加入他們自己的對話,使情節得以向前發展。
而這一點很重要:向前發展。
是的,而且...
在我看來,“是的,而且...”的思想正是敏捷專案中所缺失的。我在上一個專欄裡提到,我們所說的“敏捷”,其實應該是不斷變化、不斷適應的過程。讓事物向前發展的一個辦法就是,遵循即興表演的規則。
規則一,認同。不要拒絕現有的敏捷實踐,但也不要把它們當作一成不變的鐵則。構成你今日的敏捷現狀的內容並沒有“完成”:它沒有結束,沒有成為雷打不動的準則,而且一直都不會成為。
規則二,新增你的東西。你和你的團隊完全可以決定如何改進自己的敏捷實踐,讓它生龍活虎地開展下去。
這正是我們稱之為“敏捷”的初衷。它從來就沒有被設想為是靜態的、固定的東西。還記得我們10年前寫的“敏捷宣言”的開篇語嗎?
“我們在揭示更好的軟體開發方法...”
如今我們仍然在繼續揭示,繼續發現。你也一樣。對我適用的方法未必對你適用;這次對你適用的方法未必下次也對你適用。
“是的”,作為一個行業,我們已經總結了一些寶貴的東西,我們在採用較好的實踐,而不像以前那樣只使用通用方法。
“而且”,這世界變化快。
Windows和桌面PC正在消亡。最近3年來,微軟在網際網路連線裝置上的佔用率已經從95%跌到不足50%(根據Roger McNamee, Elevation Partners公司的資料)。HTML5也跟你以往熟悉的HTML大不相同。社互動動已經不再是個尋找失散多年的同學的無趣應用,它現在成為了一項必備的特性。出現了許多新功能、新的互動模式、各種開發風格,它們都需要更快地投入市場。
時間進入2011年,構成“敏捷”的原則編撰成功已經10年了。你認為它還會原封不動地再生存10年嗎?是否敏捷已經走到了終點?
終結?
也許這就是你理解的敏捷的終結,這不失為一件好事。因為敏捷方法其實沒有終結,有的只是“是的,而且”。
不妨仔細想想。
(加入你下週去鹽湖城參加2011年敏捷技術大會,請來找我,告訴我你的想法,關於敏捷,關於你們實踐的方向。)
相關文章
- 敏捷之終結?敏捷
- 敏捷史話(七):從程式設計師、作家到搖滾樂手——Andy Hunt的多面人生敏捷程式設計師
- 建立快速響應軟體開發的四個關鍵 - Andy Hunt
- 解讀敏捷3 - 解讀敏捷實踐之結對Review敏捷View
- Andy Hunt:音樂和程式設計,都是想象力在現實世界的宣言(圖靈訪談)程式設計圖靈
- [英]Andy Hunt:音樂和程式設計,都是想象力在現實世界的宣言(圖靈訪談)程式設計圖靈
- 死磕 java集合之終結篇Java
- vc 學習點滴之終結篇
- 『高階篇』docker之CICD(終結篇)(44)Docker
- [TEAP早期試讀]敏捷武士之敏捷簡介敏捷
- 敏捷估算:點之殤敏捷
- 死磕 java原子類之終結篇(面試題)Java面試題
- 華為、蘋果、三星的手機終結之戰蘋果
- SaaS之於傳統軟體:拯救者or終結者?
- Leetcode CandyLeetCode
- Leetcode CandyLeetCode
- Dataguard Physical Standy Switchover
- 敏捷開發之10問薦敏捷
- 安全系列之四:遠端桌面使用之終結版
- 好書短評之《敏捷武士:看敏捷高手交付卓越軟體》敏捷
- 真北敏捷八月小結:入精益敏捷的廳堂敏捷
- 【敏捷開發】結對程式設計敏捷程式設計
- 敏捷開發的26個總結敏捷
- 華山論劍之淺談iOS網路請求終結者 網路狀況監控終結者 AFNetworkingiOS
- 敏捷史話(十四):敏捷之峰的攀登者 —— Jim Highsmith敏捷MIT
- IT部門的終結
- 個人最終總結
- Leetcode-CandyLeetCode
- Candy leetcode javaLeetCodeJava
- 敏捷無敵之Gitlab CI實戰敏捷Gitlab
- 敏捷和 Scrum 之間的區別敏捷Scrum
- scrum|敏捷開發之任務看板Scrum敏捷
- 敏捷開發之Scrum掃盲篇敏捷Scrum
- Spring Cloud 終結篇之訊息驅動--stream 大集合SpringCloud
- ANDY 分享的集個語句
- HandyControl發現bug
- 學歷證書的終結
- 敏捷開發與jira之燃燒圖敏捷