譯者注:本文中是關於 Jeffrey Ventrella 一篇文章的讀後感,剛好 oschina.net 今天推出了那篇文章的譯文。而本文,則是 JAX Editorial Team 釋出的讀後感。先讀 oschina.net 的,再讀本文,更有助於連貫思路。
無論你在編織東西還是在程式設計,快速進行只會讓你慢下來。至少這是 Jeffrey Ventrella 的觀點。在《讓程式設計慢下來》(原文,譯文)一文中,這名技術作者主張,如果軟體開發者想要快速的結果,他們就需要慢下來。
“慢一些,孩子。這樣你就能更快速地完成工作。” —Jeffrey Ventrella 的父親
Ventrella 說,年輕的開發者經常認為,程式設計師是專案中可替換的部件。他們信奉,開發組沒有(也沒有必要)就角色進行清晰定位,有能力的人可以改動任何地方。背後的想法,不是太多的廚師會破壞肉湯,而是從眾效應【注1】在起著作用,像 GitHub 之類的有魔力的工具將支援我們合併任意規模程式碼裡的任意數量的修改。
Ventrella 極度不認同這種想法。精心規劃的設計過程,是軟體專案成功的一個基礎組成部分。像大教堂或票房大片之類的大專案,只能通過真正的協作性團隊合作才能成功完成。
軟體的不和諧
Ventrella 說,快節奏團隊裡的、慢程式設計師就像心律紊亂。他回憶起,同事的機關槍式迭代節奏,擾亂了他自己的慢節奏。
Ventrella 說,軟體專案中的工作流程是有機結合在一起的,每個單獨的任務都有自己的規模和時間表。但是所有的任務都有一個共通的地方。每個任務都是從反覆試錯、測試和臨時的解決方案開始的,只是緩慢開始形成。如果每個程式設計師都想來摻和,比如,在程式設計生態系統裡沒有平衡的責任,那麼 Ventrella 認為不可能成功地完成專案。
“慢程式設計”運動
起源於上世紀 80 年代快餐的反應。花時間慢慢烹飪,你將對結果更加滿意。數十年過去了,慢的方式已經傳播到了日常生活和工作的各個環節——它們中間就有 IT 行業。慢程式設計哲學崇尚有質量的程式碼和軟體測試、精心設計和較長的開發週期。
同時,慢的創業公司可調整目標為,致力於“把事情搞定”的技術氛圍,對於引起倦怠的因素要提高警覺。名為“International Institute of Not Doing Much”的網站呼籲工人“慢下來,少做事”,慢程式設計不同於前者提出來的主張,因為慢程式設計信奉 IT 行業在慢下來時可以做更多事情。
Ventrella 說,矽谷的主要問題在於,那裡的公司不關心這種東西。反對開發工作的‘自然’過程,現代程式設計團隊的動力受到了金錢的支配。最重要的是,新技術、工具的神化,因受到祖克伯世界的驅使,而產生了宗教性的強迫思維。
位於舊金山灣區的風險投資所支援的軟體開發,是狂熱的、快速的。金錢的動力把不合理的需求施加到了流程上,而流程本應最好符合自然的、設計演化所需的生物鐘節奏。快速不總是更好的。實際上,慢有時候意味著快——記住這一點非常重要【注2】。 ——JJ Ventrella
解決方案?IT 需要反向運動,一種來自於 IT 內部的、在開發組內心恢復自然節奏的推動力。因為程式設計師不僅僅是敲出程式碼。工程軟體的行為不只是像砌磚頭那樣、把一排排軟體錘進電腦。它常常需要創新過程,而這發生在開發者的思維裡——它同樣只能出現在失眠的夜晚或修剪草坪的時候。
可持續發展是 21 世紀的重要觀念,軟體行業也不例外。IT 公司需要認真思考它們的結局、以及他們想怎樣贏得比賽。快速冒進,還是穩紮穩打?
- 注1:從眾效應或樂隊花車效應(Bandwagon effect)是指人們受到多數人一致性思想或行動的影響,而跟從大眾的思想或行為,常被稱為“羊群效應”。從眾效應是訴諸群眾謬誤的基礎。http://zh.wikipedia.org/wiki/%E5%BE%9E%E7%9C%BE%E6%95%88%E6%87%89
- 注2:這裡原文是“when all is said and done”:said when you are about to tell someone the most important fact they should remember in a situation。例句:When all is said and done, you can only do your best. 參考地址:http://dictionary.cambridge.org/dictionary/british/when-all-is-said-and-done
英文原文:Do slower programmers get there faster?
相關閱讀
評論(1)