選擇了IT行業(yè),就選擇了一個(gè)充滿于挑戰(zhàn)的行業(yè)。對(duì)于軟件工程師而言,項(xiàng)目的成功和失敗對(duì)他們很重要。因?yàn)橐恍行械拇a他們不知道熬了多少個(gè)通宵,腦細(xì)胞死了多少而寫出來的。如果項(xiàng)目失敗了,就意味著辛辛苦苦的一切付諸東流。這不得不令人沮喪。本文就給大家介紹一下是什么原因會(huì)讓一個(gè)項(xiàng)目在不知不覺中慢慢地且不聲不響地走上失敗之路。
1、成員流動(dòng)
每家公司都會(huì)經(jīng)歷員工或承包商的流動(dòng),但關(guān)鍵人物太過于經(jīng)常變動(dòng),可能是一個(gè)項(xiàng)目注定失敗的領(lǐng)先指標(biāo)。有很多原因可以說明為什么人員流動(dòng)對(duì)項(xiàng)目會(huì)有不利的影響。第一,它會(huì)造成其他團(tuán)隊(duì)成員心理上的影響,而降低生產(chǎn)力。其次,失去關(guān)鍵人物可能會(huì)導(dǎo)致歷史性和重要的信息會(huì)永遠(yuǎn)遺失,這會(huì)放緩發(fā)展的腳步。最后,替換隊(duì)員需要對(duì)新的成員進(jìn)行訓(xùn)練,并跟上團(tuán)隊(duì)的腳步。這是一個(gè)會(huì)使人分心的工作,會(huì)讓其他成員放下手邊的開發(fā)工作來教導(dǎo)新的成員,結(jié)果會(huì)導(dǎo)致開發(fā)成本的增加和延長(zhǎng)交付時(shí)間。
2、走走停停癥候群
孩子被教導(dǎo)說,“不要喊狼來了。”這話是一個(gè)警告,不要誤發(fā)假警報(bào)。這種警告有一種“進(jìn)行!停止!進(jìn)行!”的周期,在項(xiàng)目中很容易被忽略。一位經(jīng)理、客戶,或其他一些單位猛烈地催促他的團(tuán)隊(duì),聲稱該項(xiàng)目要在某一日之前完成。開發(fā)人員因此周末加班,投注更多的心力。然后,就像這股來得很快的催促之力,突然之間卻又嘎然而止。幾個(gè)月后,它又再次告急。 “快點(diǎn),我們必須在X之前出貨!” 然后同樣的事情又再次發(fā)生。
項(xiàng)目這種走走停停一再重復(fù)的緊迫性將會(huì)對(duì)開發(fā)團(tuán)隊(duì)造成心理層面的影響。開發(fā)人員不再相信任何的迫切性。事實(shí)上,他們會(huì)有一種心態(tài),開始覺得這個(gè)項(xiàng)目并不是一個(gè)需要認(rèn)真對(duì)待的項(xiàng)目,它很快將再次停止,那么為什么還要投入任何的努力?
所以,不要對(duì)項(xiàng)目喊狼來了!
3、完美主義者的態(tài)度
許多工程師都有一種完美主義者的態(tài)度。這種態(tài)度所帶來的問題是,不可能開發(fā)出完美的系統(tǒng),撰寫出完美的代碼,或者在最適當(dāng)?shù)臅r(shí)間推出產(chǎn)品。完美主義是鏡花水月,如果完美主義是公司文化的一部分,它將會(huì)是產(chǎn)品可能會(huì)不斷修正,直到公司破產(chǎn)倒閉的標(biāo)志。
正確的心態(tài)不是完美,而是成功。為了可以成功地推出產(chǎn)品,什么是最低的成功標(biāo)準(zhǔn)?設(shè)下成功的標(biāo)準(zhǔn),并在一旦達(dá)成后,立即推出產(chǎn)品。之后可以用啟動(dòng)加載器(boot-loader)來添加功能并解決那些小錯(cuò)誤。
4、加速的時(shí)間表
要迅速地開發(fā)出一個(gè)嵌入式系統(tǒng),事實(shí)上,設(shè)計(jì)團(tuán)隊(duì)要放慢腳步,這似乎違反直覺。但依據(jù)加速的時(shí)間表(accelerated TImetable)工作會(huì)產(chǎn)生壓力,更重要的是,有比較高的可能性會(huì)產(chǎn)生錯(cuò)誤,而使得效率降低。錯(cuò)誤將直接影響小缺陷的數(shù)量,而這些小缺陷隨后又會(huì)增加測(cè)試時(shí)間和返工的時(shí)間。
另一個(gè)問題是,當(dāng)開發(fā)人員都搶著和努力滿足加速的時(shí)間表時(shí),他們會(huì)圖省事而走快捷方式。比如,代碼沒有批注及說明。像是架構(gòu)圖和流程圖等設(shè)計(jì)文件也付之闕如。相反地,設(shè)計(jì)只留存在程序設(shè)計(jì)人員的心中。放慢腳步,把事情做正確,會(huì)更快地得到最終的解決方案。
5、 不良的結(jié)構(gòu)化軟件
嵌入式軟件是嵌入式系統(tǒng)的血液;沒有了它,產(chǎn)品就無法運(yùn)作。不良的結(jié)構(gòu)化軟件是一個(gè)很明確的失敗征兆。嵌入式系統(tǒng)的系統(tǒng)結(jié)構(gòu)需要具有靈活性,以便未來成長(zhǎng)之用。它要有用于測(cè)試、除錯(cuò)和進(jìn)行日志記錄的空間。一個(gè)架構(gòu)不佳的系統(tǒng)將會(huì)使得施作不良,而導(dǎo)致該軟件錯(cuò)誤百出而難以管理,從而注定要將它的歲月花在除錯(cuò)上,直至項(xiàng)目最終死亡為止。
6、 本末倒置
開發(fā)一個(gè)新產(chǎn)品是令人興奮的奮斗過程。其中有很多事情要做,而公司通常是急著想把產(chǎn)品從概念化成可以生產(chǎn)的產(chǎn)品。這種匆促的舉動(dòng)是極其危險(xiǎn)的,尤其是當(dāng)生產(chǎn)決定浮現(xiàn)時(shí)。
當(dāng)產(chǎn)品的機(jī)械設(shè)計(jì)或外觀和感覺被拿來推動(dòng)其電氣需求時(shí),這就是一個(gè)很好的例子。在工作的電氣和軟件原型被驗(yàn)證之前,生產(chǎn)工具就準(zhǔn)備好要生產(chǎn)了。在這種情況下,似乎總是有電路板沒有檢查,需要進(jìn)行調(diào)整的問題。對(duì)那些匆匆忙忙、且太快就試著要把所有的事情同時(shí)拉在一起的項(xiàng)目,最終結(jié)果總是由于修改而落入花更長(zhǎng)時(shí)間和更多成本的結(jié)果。
7、 范圍潛變
每個(gè)項(xiàng)目都有范圍潛變(scope creep),但范圍潛變的程度可以是該項(xiàng)目是否會(huì)成功或失敗的決定性因素。范圍潛變最危險(xiǎn)的一個(gè)領(lǐng)域是,它是暗中為害的。某天在電路板上增加了一個(gè)簡(jiǎn)單的傳感器,幾個(gè)月后再加一些上去,這些看起來完全無害,但他們可能是致命的。
范圍潛變的最大問題是,變化通常是微小的。乍看之下,改變看起來只是短短幾天的工作。但是,每次加一點(diǎn)點(diǎn),系統(tǒng)的復(fù)雜性也隨之增加了。復(fù)雜的系統(tǒng)需要更多的測(cè)試,可能也需要更多的除錯(cuò)。隨著時(shí)間的發(fā)展,范圍潛變可以將系統(tǒng)改變到使原來的軟件體系結(jié)構(gòu)和設(shè)計(jì)變得過時(shí),或甚至變成是不正確的解決方案!最終的結(jié)果是使一個(gè)項(xiàng)目變得遠(yuǎn)遠(yuǎn)地超出其預(yù)算范圍,實(shí)際進(jìn)度落在交貨日期之后,此一項(xiàng)目很少或幾乎沒有結(jié)束的跡象。
結(jié)論
不管是什么樣的嵌入式工程師,在開發(fā)新的嵌入式系統(tǒng)時(shí),沒有人確保這個(gè)項(xiàng)目百分之百會(huì)成功。影響項(xiàng)目的成功有許多因素,而我們工程師們需要做的就是把失敗率降到最低。你可以從以上總結(jié)中吸取經(jīng)驗(yàn)。判斷自己的項(xiàng)目是否在走著一條緩慢且邁向失敗的路。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3551瀏覽量
129106 -
IT
+關(guān)注
關(guān)注
2文章
845瀏覽量
63448
原文標(biāo)題:淺談嵌入式系統(tǒng)失敗7大的原因!
文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論