導致嵌入式系統項目失敗的7個隱形殺手

對工程師而言,沒有什麼事情比投入大量心力、汗水和淚水到一個項目,但最終卻只得到一個失敗的結果這件事,來得令人沮喪。對那些參與項目開發的人來說,失敗確實可以增長其洞察力和經驗,但所時間和心力的損失卻也是毀滅性的一擊。有許多理由可以讓嵌入式系統的項目最終以失敗收場,但有7個隱形殺手會讓一個項目在不知不覺中慢慢地且不聲不響地走上失敗之路,任何項目的領導者或其中的成員對它們千萬不可等閒視之。

#7 – 成員流動(Team turnover)

每家公司都會經歷員工或承包商的流動,但關鍵人物太過於經常變動,可能是一個項目註定失敗的領先指標。有很多原因可以說明爲什麼人員流動對項目會有不利的影響。第一,它會造成其他團隊成員心理上的影響,而降低生產力。其次,失去關鍵人物可能會導致歷史性和重要的信息會永遠遺失,這會放緩發展的腳步。最後,替換隊員需要對新的成員進行訓練,並跟上團隊的腳步。這是一個會使人分心的工作,會讓其他成員放下手邊的開發工作來教導新的成員,結果會導致開發成本的增加和延長交付時間。

#6 – 走走停停症候羣

孩子被教導說,“不要喊狼來了。”這話是一個警告,不要誤發假警報。這種警告有一種“進行!停止!進行!”的週期,在項目中很容易被忽略。一位經理、客戶,或其他一些單位猛烈地催促他的團隊,聲稱該項目要在某一日之前完成。開發人員因此週末加班,投注更多的心力。然後,就像這股來得很快的催促之力,突然之間卻又嘎然而止。個月後,它又再次告急。 “快點,我們必須在X之前出貨!” 然後同樣的事情又再次發生。

項目這種走走停停一再重複的緊迫性將會對開發團隊造成心理層面的影響。開發人員不再相信任何的迫切性。事實上,他們會有一種心態,開始覺得這個項目並不是一個需要認真對待的項目,它很快將再次停止,那麼爲什麼還要投入任何的努力?

所以,不要對項目喊狼來了!

#5 - 完美主義者的態度

許多工程師都有一種完美主義者的態度。這種態度所帶來的問題是,不可能開發出完美的系統,撰寫出完美的代碼,或者在最適當的時間推出產品。完美主義是鏡花水月,如果完美主義是公司文化的一部分,它將會是產品可能會不斷修正,直到公司破產倒閉的標誌。

正確的心態不是完美,而是成功。爲了可以成功地推出產品,什麼是最低的成功標準?設下成功的標準,並在一旦達成後,立即推出產品。之後可以用啓動加載器(boot-loader)來添加功能並解決那些小錯誤。

#4 - 加速的時間表

要迅速地開發出一個嵌入式系統,事實上,設計團隊事實上要放慢腳步,這似乎違反直覺。但依據加速的時間表(accelerated timetable)工作,會因爲壓力和,更重要的是,有比較高的可能性會產生錯誤,而使得效率降低。錯誤將直接影響小缺陷的數量,而這些小缺陷隨後又會增加測試時間和返工的時間。

另一個問題是,當開發人員都搶着和努力滿足加速的時間表時,他們會圖省事而走快捷方式。比如,代碼沒有批註及說明。像是架構圖和流程圖等設計文件也付之闕如(本該有卻沒有)。相反地,設計只留存在程序設人員的心中。放慢腳步,把事情做正確,會更快地得到最終的解決方案。

#3 – 不良的結構化軟件

嵌入式軟件是嵌入式系統的血液;沒有了它,產品就無法運作。不良的結構化軟件是一個很明確的失敗徵兆。嵌入式系統的系統結構需要具有靈活性,以便未來成長之用。它要有用於測試、除錯和進行日誌記錄的空間。一個架構不佳的系統將會使得施作不良,而導致該軟件錯誤百出而難以管理,從而註定要將它的歲月花在除錯上,直至項目最終死亡爲止。

#2 - 本末倒置

開發一個新產品是一種會令人興奮的奮鬥過程。其中有很多事情要做,而公司通常是急着想把產品從概念化成可以生產的產品。這種匆促的舉動是極其危險的,尤其是當生產決定浮現時。

當產品的機械設計或外觀和感覺被拿來推動其電氣需求時,這就是一個很好的例子。在工作的電氣和軟件原型被驗證之前,生產工具就準備好要生產了。在這種情況下,似乎總是有電路板沒有檢查,需要進行調整的問題。對那些匆匆忙忙、且太快就試着要把所有的事情同時拉在一起的項目,最終結果總是由於修改而落入花更長時間和更多成本的結果。

#1 - 範圍潛變

每個項目都有範圍潛變(scope creep),但範圍潛變的程度可以是該項目是否會成功或失敗的決定性因素。範圍潛變最危險的一個領域是,它是暗中爲害的。某天在電路板上增加了一個簡單的傳感器,幾個月後再加一些上去,這些看起來完全無害。但他們可能是致命的。

範圍潛變的最大問題是,變化通常是微小的。乍看之下,改變看起來只是短短几天的工作。但是,每次加一點點,系統的複雜性也隨之增加了。複雜的系統需要更多的測試,可能也需要更多的除錯。隨着時間的發展,範圍潛變可以將系統改變到使原來的軟件體系結構和設計變得過時,或甚至變成是不正確的解決方案!最終的結果是使一個項目變得遠遠地超出其預算範圍,實際進度落在交貨日期之後,此一項目很少或幾乎沒有結束的跡象。

結論

在開發新的嵌入式系統,並沒有確保其一定成功的保證,有很多因素會影響到項目的成功或失敗。這是筆者所看到的7大項目隱形殺手。你可以從這些細微的線索判斷出你的項目是否正走在一條緩慢且邁向失敗的發展之路上。任何項目的領導者或其中的成員對它們千萬不可等閒視之。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章