軟件開發(fā)基本原則(二)—— 典型錯(cuò)誤
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
大多數(shù)典型錯(cuò)誤其表面都具有誘惑性,給人們一種誘人的前景,但通常卻不能產(chǎn)生期望的結(jié)果。 “想挽救進(jìn)度已經(jīng)落后的項(xiàng)目嗎?---- 給項(xiàng)目補(bǔ)充更多人員!” 下面分別按照人員、過程、產(chǎn)品和技術(shù)四個(gè)維度列出36個(gè)典型錯(cuò)誤。 人 員
對(duì)人員不夠關(guān)心和重視;過度的進(jìn)度壓力;缺乏激勵(lì);過分夸張的激勵(lì)等。
人員能力欠佳,工作效率低,甚至做多錯(cuò)多。
不對(duì)有問題的人員采取措施是項(xiàng)目組成員對(duì)領(lǐng)導(dǎo)最常見的抱怨。
強(qiáng)調(diào)個(gè)人英雄主義會(huì)導(dǎo)致發(fā)生額外的風(fēng)險(xiǎn),也會(huì)削弱在軟件開發(fā)過程中多個(gè)角色的合作。
盲目地在項(xiàng)目后期加入人手等于火上澆油。
擁有安靜、隱蔽辦公環(huán)境的人員比工作在嘈雜、擁擠環(huán)境中的人員往往會(huì)有更好的工作業(yè)績(jī)表現(xiàn)。
主要原因是缺乏溝通。這種摩擦耗費(fèi)時(shí)間,它會(huì)轉(zhuǎn)移客戶和開發(fā)人員雙方對(duì)項(xiàng)目工作的注意力。
過高的期望值和主觀的不切實(shí)際的設(shè)想。是導(dǎo)致開發(fā)人員和客戶或項(xiàng)目經(jīng)理之間的摩擦常見原因之一。
軟件開發(fā)項(xiàng)目的許都方面都需要高層的支持,包括實(shí)際的計(jì)劃、變更控制以及新型開發(fā)方法的采用等。缺乏有效的高層支持事實(shí)上注定了項(xiàng)目的失敗。
軟件開發(fā)中所有主要人員必須齊心協(xié)力專注于項(xiàng)目,包括高層支持者、項(xiàng)目領(lǐng)導(dǎo)、項(xiàng)目成員、市場(chǎng)人員、最終用戶、客戶和任何項(xiàng)目介入者。
沒有用戶早期介入的項(xiàng)目充滿需求誤解的風(fēng)險(xiǎn),易受項(xiàng)目后期功能蔓延的威脅。
“政治家”型項(xiàng)目強(qiáng)調(diào)“管理至上”,主要精力集中在他們與經(jīng)理的關(guān)系上。將政治凌駕于結(jié)果之上對(duì)軟件項(xiàng)目會(huì)造成極大傷害。
閉上眼睛毫無理由地希望某事將像想象那樣運(yùn)作。很多軟件開發(fā)問題都是由于充滿想象造成的。 想象示例:
過 程
定制過于樂觀的項(xiàng)目計(jì)劃相當(dāng)于自己為項(xiàng)目失敗畫出了底線,導(dǎo)致縮短分析、設(shè)計(jì)等關(guān)鍵性前期開發(fā)活動(dòng);同時(shí)也向開發(fā)人員施加了額外壓力,會(huì)長(zhǎng)期對(duì)開發(fā)人員的自信心和生產(chǎn)率造成巨大傷害。
如果你不主動(dòng)管理風(fēng)險(xiǎn),風(fēng)險(xiǎn)隨時(shí)會(huì)來找你,打亂你的開發(fā)計(jì)劃。
如果不對(duì)承包商加以認(rèn)真管理,交付可能延期,并且質(zhì)量難以保證。
沒有計(jì)劃的項(xiàng)目就像飄蕩在海洋中的小船,沒人知道會(huì)飄到哪里。
很多項(xiàng)目組定制了計(jì)劃,但遇到了麻煩時(shí)就放棄計(jì)劃。項(xiàng)目失敗的原因不是在于放棄計(jì)劃本身,而是不能及時(shí)修訂計(jì)劃制定替代計(jì)劃,并一頭栽進(jìn)編碼和問題處理中。
由于花在審批、預(yù)算等前期工作的時(shí)間過長(zhǎng),或需求無限循環(huán)等原因,導(dǎo)致壓縮開發(fā)計(jì)劃。項(xiàng)目前期節(jié)省幾周或幾個(gè)月時(shí)間比將開發(fā)計(jì)劃壓縮同樣時(shí)間來得更容易、更廉價(jià),風(fēng)險(xiǎn)也更少。
研究數(shù)據(jù): 前期被跳過的活動(dòng)或工作通常在后期會(huì)以10倍到100倍的代價(jià)來完成。如果一項(xiàng)工作在項(xiàng)目初期需要5小時(shí)完成,那么在項(xiàng)目后期你至少需要50小時(shí)才能完成它?! 。‵agan 1976,Boehm and Papaccio 1988)
前期活動(dòng)不符合要求的一個(gè)特殊情況就是設(shè)計(jì)低劣。高壓環(huán)境導(dǎo)致設(shè)計(jì)缺乏周密思考往往導(dǎo)致設(shè)計(jì)低劣。
研究數(shù)據(jù): 項(xiàng)目前期砍掉1天的質(zhì)量保證活動(dòng),到項(xiàng)目后期就需要3到10天的處理代價(jià)。(Jones 1994)
缺少管理控制點(diǎn)就難以對(duì)項(xiàng)目的階段和狀態(tài)進(jìn)行跟蹤,因此不能知道項(xiàng)目是否按正常軌道前進(jìn)。
在構(gòu)建未完全鎖定時(shí),進(jìn)行過早的集成或額外的集成不利于產(chǎn)品,它僅僅是在浪費(fèi)時(shí)間,延長(zhǎng)進(jìn)度。
訓(xùn)、公司和部門會(huì)議,技術(shù)評(píng)審會(huì)議等活動(dòng)在項(xiàng)目估算時(shí)通常被遺漏。
當(dāng)進(jìn)度落后時(shí)不重新檢查任務(wù)和調(diào)整計(jì)劃,而是簡(jiǎn)單地決定把進(jìn)度趕上來。 另一種情況是,當(dāng)產(chǎn)品出現(xiàn)變更卻沒有做相應(yīng)的計(jì)劃調(diào)整。
沒有足夠的需求基礎(chǔ)和清晰的架構(gòu)設(shè)計(jì)而進(jìn)行“邊編碼邊修改”造成太多重復(fù)工作和返工,這樣的做法使項(xiàng)目大多以失敗告終。
產(chǎn) 品
項(xiàng)目的產(chǎn)品要求要求比實(shí)際需求多得多的產(chǎn)品特性或復(fù)雜功能,卻又不給進(jìn)度計(jì)劃分配足夠的時(shí)間。
在整個(gè)開發(fā)過程中,項(xiàng)目平均會(huì)有25%的需求變更,對(duì)軟件計(jì)劃至少有25%的影響。如果任由客戶不斷提出新需求,項(xiàng)目就會(huì)一直都做不完。
開發(fā)人員著迷于新技術(shù),有時(shí)渴望在自己的產(chǎn)品中使用這些技術(shù),而不管那些技術(shù)是否適合或是否會(huì)對(duì)系統(tǒng)整體造成破壞。
管理者批準(zhǔn)進(jìn)度落后的項(xiàng)目順延,但同時(shí)又給這個(gè)項(xiàng)目加入新任務(wù)。
軟件開發(fā)進(jìn)度是完全有理由可以預(yù)測(cè)的,而軟件研究進(jìn)度甚至理論上都是不可預(yù)知的,不能采用像軟件研究一樣的工作方式引導(dǎo)項(xiàng)目開發(fā)。
技 術(shù)
過于相信某些技術(shù)宣傳(某種開發(fā)過程、某種程序設(shè)計(jì)方法、某種開發(fā)語(yǔ)言),缺少在特定環(huán)境下使用這些工具的必要信息。當(dāng)團(tuán)隊(duì)寄望利用他們來解決進(jìn)度問題時(shí),不可避免會(huì)失敗的。
無論采用多少新工具或方法,以及這些工具或方法有多好,他們很少能夠大幅度提高生產(chǎn)率。軟件開發(fā)由多個(gè)任務(wù)組成,特定的工具或方法只會(huì)可能提高特定任務(wù)的生產(chǎn)效率。同時(shí),它們所帶來的效率常常被學(xué)習(xí)它們所花費(fèi)的時(shí)間抵消了。
在項(xiàng)目中間更換工具時(shí),伴隨使用新工具而帶來的人員學(xué)習(xí)和掌握的過程、重復(fù)的工作、不可避免的錯(cuò)誤等會(huì)徹底抵消它所帶來的益處。
缺乏自動(dòng)的源代碼控制容易造成版本沖突、歷時(shí)版本丟失、更新丟失等一系列問題,并浪費(fèi)大量的時(shí)間處理這些問題。 該文章在 2012/4/9 10:31:56 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |