原創(chuàng)|行業(yè)資訊|編輯:龔雪|2015-03-24 10:04:27.000|閱讀 264 次
概述:大多數(shù)程序員,據(jù)我所知,越是優(yōu)秀,越是討厭沒有價值的任務(wù)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
這些年來,我看到很多頗有成績的軟件開發(fā)人員轉(zhuǎn)行去了管理崗位,或者其他完全不同的職業(yè)。有的時候原因很簡單,只是想拿更高的薪水。不過也有因為是厭倦了總是需要不斷學習以跟上軟件開發(fā)步伐這樣一種疲于奔命的狀態(tài)。當然最常見的原因是感到無聊了,或者是對工作本身失去了興趣。這些人通常是因為工作對于他們而言已經(jīng)沒有了足夠的挑戰(zhàn),認為他們是在將自己的時間和精力投入到幾乎沒有價值的工作中。
我的軟件開發(fā)職業(yè)生涯也有低谷的時候:我花費了大量時間、精力和創(chuàng)造力的一個項目或者任務(wù)由于某些原因被終止或者被大大削減了其功能范圍。雖然我拿到的貨幣報酬相同,但是我工作之前的期望是交付一個成功的產(chǎn)品,于是,我的感受不是滿意而是非常沮喪。這讓我感覺我付出的時間和精力沒有了價值。
取消任務(wù)并非幻滅工作價值的唯一原因。一些沒有必要的任務(wù)或其他繁重的工作也會加劇軟件開發(fā)的難度。這些事情總是看上去好像很有用或者對任務(wù)很有幫助的樣子,卻幾乎沒有價值。
從眾多軟件開發(fā)人員的角度看的話,軟件開發(fā)生產(chǎn)力最大的敵人就是冗余的進程。在《Process Kills Developer Passion》一書中,James Turner這樣寫道,“對整個開發(fā)進程最佳實踐的盲目應(yīng)用讓我們從一種創(chuàng)造性的流程變成了一種禁錮。”Turner表示所有的開發(fā)人員能力并不相同,所以對待他們的方式也不能完全相同。“企業(yè)需要明白一點,開發(fā)人員之間有著本質(zhì)的區(qū)別,所以你得確保設(shè)置給每個人的權(quán)重,至少不能有損整體的士氣和團隊的效率。”
我想大多數(shù)淫浸這行多年的人都明白,一定程度的進程才是合理的,甚至是有益的。但是這個“程度”取決于項目、開發(fā)人員的經(jīng)驗以及團隊的大小。標準化和代碼約定是有很多優(yōu)點的。單元測試和其他質(zhì)量進程的益處更是眾所周知了。可以這么說,最好的開發(fā)人員能夠確定什么樣的進程適合怎么樣的情況,以及怎么樣的情況是不適合的。
只有那些時間短、運行良好的會議才能為我們提供巨大的收益,大多數(shù)的會議都只是在浪費時間,特別是如果會議還要晚點和加時的話。好的會議,應(yīng)該準時開始,只需要解決那些必須解決的問題即可。例如有的團隊成員不習慣于發(fā)表自己的意見,那么一些用于交流工作的簡短、非正式的會議就很有必要。而一些難度很高的設(shè)計決策和架構(gòu)權(quán)衡也可以放在會議上討論。可以這么說,運行良好的會議,產(chǎn)生的是積極的效果:能幫助開發(fā)人員確立更加明確的方向,提高團隊的整體效率。
我以前也發(fā)過一個關(guān)于如何有效開會的帖子。要點是應(yīng)該學會記筆記,記下什么時間有哪些人的參與,記錄下重大的決策以供將來參考,也可以作為材料借閱給那些沒有到會的人看。
不是每一個想法都有價值。開發(fā)人員在被迫去實施一些糟糕或者沒用的點子時,往往會產(chǎn)生不耐煩的情緒。話說,我們很難讓自己心甘情愿地去制作一些可能永遠不會被使用的東西,或者更糟糕的是,直接影響用戶體驗。
很多開發(fā)人員往往會另尋方法去解決特別繁瑣的腳本編寫任務(wù),而不是手動執(zhí)行,即使用于手動執(zhí)行的時間和編寫的時間相差無幾。這也是可以證明大多數(shù)開發(fā)人員討厭繁瑣任務(wù)的最好例子之一。對于開發(fā)人員的這種典型做法其實是有積極面的。首先,可能這個我們以為是一次性的任務(wù)又有了需要再次實施的情形。其次,編寫腳本的行為比僅僅只是完成一個任務(wù)所產(chǎn)生的價值要高得多:既可以提高腳本語言的熟悉度,又能為以后解決相關(guān)問題提供很好的思路或案例。
只有當配置信息和常規(guī)配置不同時,開發(fā)者才需要提供詳細地配置信息,否則只需要使用常規(guī)配置即可。這樣可以節(jié)省開發(fā)者的時間,減少許多枯燥的配置工作。
大多數(shù)的情況下,我們對于任務(wù)有無價值的判斷一般是正確的。但也有的任務(wù),一開始看上去是無用的,但是后來則發(fā)現(xiàn)它確實能提供實實在在的利益,的確是有價值的。這種情況也提醒我們需要對新點子的價值保持開放的心態(tài),不要一棍子打死,應(yīng)該仔細分析它的影響。所以軟件開發(fā)經(jīng)理要做的就是將有價值的任務(wù)分配給開發(fā)人員并確保他們能理解這些任務(wù)的價值。
即便是一種非常有潛在價值的想法如果沒有正確的實施,也會大大減少它的價值。同樣的,如果能正確使用代碼審查和代碼質(zhì)量工具則能創(chuàng)造巨大的價值,反之就是負面的影響。
當我們喜歡我們所做的工作的時候,當我們認為我們所做的有價值的時候,我們往往能將工作完成得很完美。而毫無價值或者低價值的任務(wù)則更容易被認為是冗余的任務(wù)從而不能很好地完成。總而言之,如果開發(fā)人員毋須被強迫于毫無價值的任務(wù),那么顯而易見的他們將更有動力更有開發(fā)的激情,也更開心。
翻譯作者: – John
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn