編程開發中最浪費時間和資源的7個錯誤

jopen 10年前發布 | 6K 次閱讀 編程

英文原文: The worst 7 mistakes that cost money and resources on software development projects

        我在當地幾家公司擔任過項目經理,項目主要關于一些用 PHP 制作的中小型網頁。在那段歷程中,我見識了很多公司常常會犯這樣或那樣的錯誤,既浪費時間又浪費資源。下面我具體談談在這些錯誤中最不可饒恕的 7 個:

編程開發中最浪費時間和資源的7個錯誤

        1、不問客戶究竟想要什么

        一般而言,在簽署合同階段都會有一份關于原始需求的標準性文件。而我們常常會犯的最大的錯誤之一就是想當然地認為,這就是客戶的想法。我的建議是,和客戶那邊所有的核心員工開個咨詢會議,確保客戶所有的需求都能成竹在胸。

        后期如果想要添加關鍵功能到幾乎已經完成的產品中將需要支付大量額外成本,而這原本是可以避免的。

        我記得有一次,只是因為在初期階段沒有考慮一項功能而已,我們的團隊就不得不重新設計數據庫模型。往事不堪回首啊。

        2、沒有全局性的章程

        早前我在一家小公司工作的時候,因為資源有限,我們的老板總是催我們盡早寫代碼。通常我們不得不一簽好合同就立馬開工(有時候甚至更早)。我們 常常對客戶需求懵懵懂懂一知半解,不過即使我們知道客戶究竟想要什么,我們的老板也不會讓我們騰出時間為程序員和設計師寫需求說明。正因如此,重寫代碼成 了家常便飯。因為沒有全局性的章程,所以項目經理給出的解決方案往往沒有包括所有的需求功能。

        3、不寫文檔

        我還在讀大學的時候,就常常聽別人說“寫文檔很重要”。事實也是如此,這一點不言而喻,我就不多說了。但是,假設你突然分配到一個時間緊迫、人 員和成本有限,甚至管理層還不同意額外支付加班費用的項目,不寫文檔這個錯誤絕對會給你當頭一棒:如果在項目進行過程中發生人員更迭或者后期添加人員跟進 項目,這都將會耗費公司大量的成本。

        從另一個人手里接手源代碼而沒有任何文檔,再也沒有比這個更讓人吐血的了。

        這種情況不僅僅是發生在開發人員身上。我曾經做過一個項目,客戶的需求總是變來變去以致于最后的需求說明和原始版本大相徑庭,除了都是 Web 應用,我找不出其他相同之處。雖然我們的討論一絲不漏地保存于郵件之中,并且也有了最后的產品也照著客戶要求做出來了,但是要是我想知道具體什么時候我們 做了什么這樣的細節,就無從著手了,這變成了一個不可能的任務。所以,在文檔中跟蹤項目的流程和變化這一點也很重要,它將防止混亂和計費錯誤。

        4、團隊中的溝通問題

        小公司經常會聘請一些兼職程序員來做項目。此時如果還包括遠程工作人員,那么一個合適的溝通渠道就顯得更為重要。我曾經不止一遍地向員工強調, 溝通是成功合作的關鍵。有的程序員落后于原定進度時,不告知其他人,從而導致團隊相關人員只能坐等他出結果,方可繼續工作,這中間浪費的資源可想可知了。

        5、工作流程不起作用或者就不設置工作流程

        如果你曾經參與過有很多開發人員攜手合作的項目,那么對于制定一個良好的工作流程是成功的關鍵這一說法的重要性就不會質疑。但是在很多小項目 中,管理層往往會認為設置工作流程是沒有必要的,然后團隊效率的低下會讓這些家伙自釀苦果:耗費大量的資金和資源。此外,設置以下的規章流程也很重要:內 部的溝通、職責和任務的歸屬、緊急情況響應等等。

        舉個例子,有一個非常實用的任務管理工具,Trello。它不但能跟蹤任務,還可以定義處理程序(如根據說明準備應用軟件貫穿于整個編碼和測試 產品過程)。如果需要使用聊天工具(Hipchat、Slack 等),Trello 還提供相關整合工具。如此一來,只需要一個交流渠道,就能傳遞所有信息,這將大大減少浪費在團隊溝通中的成本。

        6、不做源代碼管理

        有一種大錯特錯的觀點是源代碼管理是沒有必要的。事實上,即便我們只有一兩個開發人員,如果不使用源代碼控制系統,我們很可能會深陷麻煩之中。

        還是我的親身經歷,在一個項目中,我們開發的一個版本既能用于開發新功能也能修正補丁,但是我們沒有運用版本控制。所以,當某一個開發人員需要 更新產品時,他得先做一個手動備份的還原點。這是一個非常重要的應用,每天的訪問量成千上萬。所以有一次在發現 bug、發布修正補丁之后,卻發現這個補丁中竟然有未完成的工作,這是一場悲劇,這導致了數據災難, 嚴重影響了公司聲譽。

        沒有適宜的源代碼管理就像是在玩火——從字面上看就是:你在燒錢!

        7、權力過于集中、無替代人員

        談談我曾經的一份工作,那個老板人非常和善、活力十足、喜歡親力親為。他深信,所有郵件都必須由他親自批復。不得不坦言,就因為權力過于集中,所有流程都需要從他那邊走,使之成為了企業最薄弱的環節。而且,一旦有緊急情況發生,甚至沒有臨時替代人員。

        很明顯,這位“可敬又可笑“的老板成為了項目的瓶頸。我們總是在等待他處理消息。的確,這對于掌控下屬,督促他們好好工作很有好處,但是作為一個領導者,也應該學會信任下屬、權力下放。

        可以分而治之。掌控所有事是不可能的,特別是在像開發軟件項目這類大工程中。

        上述這些錯誤亦有其共同之處:就是犯錯誤的人缺乏高瞻遠矚的戰略性眼光。如果我們不能將時間投入到正確的事情上去,雖然能立馬看到削減開支的效 果,并對此沾沾自喜,但是不可忽略的是,最后我們所能創造的利潤也減少了。做任何事情都應該都大局出發。正確的處事原則有助于建立良好的習慣,而良好的習 慣則能讓我們圓滿地完成任務。這才是一個公司和它的員工真正發展成長之道。否則,一家企業終將只會落得曇花一現的結局。

        譯文鏈接:http://www.codeceo.com/article/7-mistakes-cost-money-and-time.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!