許多開發(fā)嵌入式軟件的團隊都在努力按時、按預(yù)算并以滿足客戶期望的質(zhì)量水平交付,成功的嵌入式軟件開發(fā)往往難以捉摸。然而,業(yè)內(nèi)有很多嵌入式開發(fā)團隊即使在最惡劣的條件下也屢屢成功。在這篇文章中,我們來探討一下嵌入式軟件開發(fā)的三個要素以及它們?nèi)绾斡绊戦_發(fā)。
嵌入式軟件開發(fā)
嵌入式軟件的三個要素:架構(gòu)、流程和實施。要想取得成功,嵌入式軟件團隊不僅要掌握這些要素,還要平衡它們。過分關(guān)注一個領(lǐng)域會擾亂開發(fā)周期并導(dǎo)致延遲交付、超出預(yù)算,甚至導(dǎo)致錯誤、低質(zhì)量的軟件。
1. 專注于架構(gòu)和實施
專注于架構(gòu)和實施的團隊更有可能交付質(zhì)量較低的軟件并且延遲。在這種情況下,軟件團隊忽略了導(dǎo)致交付不一致的開發(fā)過程。不一致的原因是缺乏遵循可重復(fù)性的明確定義的流程。如果沒有這些流程,這些團隊也可能會遇到可能導(dǎo)致項目延遲并超出預(yù)算的質(zhì)量問題。
2. 關(guān)注流程和實施
這些團隊傾向于理解流程的重要性,但他們忽略了軟件架構(gòu)的重要性。這些團隊在沒有任何路線圖或藍圖的情況下即時設(shè)計他們的系統(tǒng)。雖然團隊的軟件質(zhì)量和一致性可能很好,但他們通常仍會延遲交付,因為他們必須不斷地根據(jù)每個新功能和要求重新設(shè)計他們的系統(tǒng)。這些嵌入式開發(fā)團隊沒有顧全大局,他們編寫的軟件不能很好地擴展。
3. 關(guān)注架構(gòu)和流程
團隊專注于他們的軟件架構(gòu)和他們的流程,而很少考慮實施。這些團隊更多地關(guān)注嵌入式軟件開發(fā)的理論,而不是實際將產(chǎn)品推向市場。他們往往也是完美主義者的團隊。這些團隊永遠不會完成他們的軟件。他們要么缺乏實施技能,要么陷入如此多的流程,以至于在項目完成之前就用光了資金或客戶。
4. 平衡嵌入式三要素
成功的團隊和開發(fā)人員將平衡所有三個要素,他們將有一個軟件架構(gòu)來指導(dǎo)他們的實施工作。 他們將擁有正確數(shù)量的流程,以確保軟件質(zhì)量和一致性。他們將具備實施技能,使他們能夠?qū)嵤┘軜?gòu)并利用他們的流程來測試和驗證實施。
團隊可以通過多種方式平衡這些元素:
對每個區(qū)域進行季度和年度審查
培訓(xùn)和指導(dǎo)他們的員工
開發(fā)正確的流程來管理嵌入式軟件開發(fā)
利用外部資源幫助改進開發(fā)
無論采用何種解決方案,未能平衡這些元素都會導(dǎo)致交付延遲,在嵌入式開發(fā)上的花費遠遠超過必要的,以及不一致的開發(fā)周期。