更慢的程序員效率更高嗎?
無論你在編織東西還是在編程,快速進(jìn)行只會讓你慢下來。至少這是Jeffrey Ventrella的觀點。在《讓編程慢下來》(原文,譯文)一文中,這名技術(shù)作者主張,如果軟件開發(fā)者想要快速的結(jié)果,他們就需要慢下來。
“慢一些,孩子。這樣你就能更快速地完成工作。” —Jeffrey Ventrella的父親
Ventrella說,年輕的開發(fā)者經(jīng)常認(rèn)為,程序員是項目中可替換的部件。他們信奉,開發(fā)組沒有(也沒有必要)就角色進(jìn)行清晰定位,有能力的人可以改動任何地方。背后的想法,不是太多的廚師會破壞肉湯,而是從眾效應(yīng)【注1】在起著作用,像GitHub之類的有魔力的工具將支持我們合并任意規(guī)模代碼里的任意數(shù)量的修改。
Ventrella極度不認(rèn)同這種想法。精心規(guī)劃的設(shè)計過程,是軟件項目成功的一個基礎(chǔ)組成部分。像大教堂或票房大片之類的大項目,只能通過真正的協(xié)作性團隊合作才能成功完成。
軟件的不和諧
Ventrella說,快節(jié)奏團隊里的、慢程序員就像心律紊亂。他回憶起,同事的機關(guān)槍式迭代節(jié)奏,擾亂了他自己的慢節(jié)奏。
Ventrella說,軟件項目中的工作流程是有機結(jié)合在一起的,每個單獨的任務(wù)都有自己的規(guī)模和時間表。但是所有的任務(wù)都有一個共通的地方。每個任務(wù)都是從反復(fù)試錯、測試和臨時的解決方案開始的,只是緩慢開始形成。如果每個程序員都想來摻和,比如,在編程生態(tài)系統(tǒng)里沒有平衡的責(zé)任,那么Ventrella認(rèn)為不可能成功地完成項目。
“慢編程”運動
起源于上世紀(jì)80年代快餐的反應(yīng)?;〞r間慢慢烹飪,你將對結(jié)果更加滿意。數(shù)十年過去了,慢的方式已經(jīng)傳播到了日常生活和工作的各個環(huán)節(jié)——它們中間就有IT行業(yè)。慢編程哲學(xué)崇尚有質(zhì)量的代碼和軟件測試、精心設(shè)計和較長的開發(fā)周期。
同時,慢的創(chuàng)業(yè)公司可調(diào)整目標(biāo)為,致力于“把事情搞定”的技術(shù)氛圍,對于引起倦怠的因素要提高警覺。名為“International Institute of Not Doing Much”的網(wǎng)站呼吁工人“慢下來,少做事”,慢編程不同于前者提出來的主張,因為慢編程信奉 IT行業(yè)在慢下來時可以做更多事情。
Ventrella說,硅谷的主要問題在于,那里的公司不關(guān)心這種東西。反對開發(fā)工作的‘自然’過程,現(xiàn)代編程團隊的動力受到了金錢的支配。最重要的是,新技術(shù)、工具的神化,因受到扎克伯格世界的驅(qū)使,而產(chǎn)生了宗教性的強迫思維。
位于舊金山灣區(qū)的風(fēng)險投資所支持的軟件開發(fā),是狂熱的、快速的。金錢的動力把不合理的需求施加到了流程上,而流程本應(yīng)***符合自然的、設(shè)計演化所需的生物鐘節(jié)奏??焖俨豢偸歉玫?。實際上,慢有時候意味著快——記住這一點非常重要【注2】。 ——JJ Ventrella
解決方案?IT需要反向運動,一種來自于IT內(nèi)部的、在開發(fā)組內(nèi)心恢復(fù)自然節(jié)奏的推動力。因為程序員不僅僅是敲出代碼。工程軟件的行為不只是像砌磚頭那樣、把一排排軟件錘進(jìn)電腦。它常常需要創(chuàng)新過程,而這發(fā)生在開發(fā)者的思維里——它同樣只能出現(xiàn)在失眠的夜晚或修剪草坪的時候。
可持續(xù)發(fā)展是21世紀(jì)的重要觀念,軟件行業(yè)也不例外。IT公司需要認(rèn)真思考它們的結(jié)局、以及他們想怎樣贏得比賽??焖倜斑M(jìn),還是穩(wěn)扎穩(wěn)打?
- 注1:從眾效應(yīng)或樂隊花車效應(yīng)(Bandwagon effect)是指人們受到多數(shù)人一致性思想或行動的影響,而跟從大眾的思想或行為,常被稱為“羊群效應(yīng)”。從眾效應(yīng)是訴諸群眾謬誤的基礎(chǔ)。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