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