我們先來看看軟件開發過程中的兩個典型場景、這些場景在每個項目中都有可能會遇到,它們比較客觀的反映了國內很多軟件公司項目開發過程的實際情況。
場景一:一個項目組剛剛接了一個比較大的項目,項目的需求很明確,客戶對功能的細節也不是很挑剔,只是對性能要求比較高,整個系統要能承受非常大的用戶量,對系統的響應速度要求也很高,項目經理感覺這個項目沒有什么大問題,一切都按照計劃進行,可是最終部署到用戶的服務器上時,整個程序的效率很低,由于公司在這方面沒有什么技術積累,雖然以后修改了多次,性能仍然達不到要求。
場景二:某個大型電子政務系統年底需要生成大量的報表,可是報表系統突然出現了故障無法使用,這個報表系統是由一個老程序員編寫的,可是此時他已經離開了這家公司,也沒留下什么文檔,別的開發人員根本無法維護這個報表系統,由于時間緊迫項目經理只好決定讓開發人員手工編寫了所有報表,浪費了大量的人力物力。
軟件開發面臨的主要問題
前面的場景顯示了國內一些軟件公司存在著規模小、技術力量薄弱、管理薄弱、設計人員缺乏等問題,除此以外,我們認為還有以下一些問題嚴重的制約著管理軟件的進一步發展:
產品開發技術路線的選擇比較隨意,很難適應未來產品的發展的需要,軟件不能進行無縫的升級。產品和項目界限不分明,通用性、定制性比較差。產品缺乏良好的結構設計,代碼難以維護。 產品的質量很難保證,很多軟件產品是從一個項目過渡來的,品對安全性、性能、部署環境往往考慮不夠。 產品開發對開發人員的要求比較高、人員的流動對開發的進度影響很大。在很多公司中開發人員沒有獨立的分工,每個人都負擔著一個模塊的需求、設計、實現,很多開發人員甚至需要負擔一定的美工工作,產品的測試也不是很細致,開發人員負擔角色過多的后果就是每部分的工作都很難做得十分到位。 設計能力不足,很多項目經理和開發人員對設計重視不夠,為了趕工期,很多項目的設計過程過于簡單,有的甚至根本沒有設計過程。 項目經理的管理能力不足,沒有及時把握進度項目經理自己也不知道項目的狀態,下屬人員報喜不報憂,害怕報告問題后給自己添麻煩。進度管理必須隨時收集有關項目管理的數據,開發人員總是擔心管理工作會增加自己的工作量,不愿配合。管理人員甚至不知道應該收集哪些數據。6、開發計劃不充分,沒有良好的開發計劃和開發目標,項目的成功就無從談起。
7、找不到軟件工程或者項目管理的方法能夠大幅度提高應用軟件的開發效率,開發周期長、開發費用高,實施費用超支和工期延長,已經司空見慣。更加可怕的是,隨著企業的環境和需求的不斷變化,“建成即成閑置”,形成軟件工程的災難。
業務基礎軟件平臺
軟件開發的問題是由多方面原因造成的,有市場的原因、有公司管理水平的原因,也有技術的原因。目前基于業務基礎軟件平臺的開發方式是解決這些問題的一個比較好的解決辦法。業務基礎軟件平臺是一種技術創新,它使軟件平臺又多了一個層次,并將應用軟件的業務邏輯和開發技術分開,使得應用軟件的開發者可以僅僅關注應用軟件的業務過程,而不必關注其技術的實現。這使管理與業務人員參與應用軟件的開發成為可能。
業務基礎軟件平臺包括集成應用平臺、開發體系兩個部分。從技術角度分析,業務基礎軟件平臺為復雜應用軟件系統的開發提供了一個基本框架,并有與之相應的、方便易用的開發與維護管理工具。這個框架給出了一些復雜應用軟件的基本組成部分和實現方法,并且預置了很多供參考的軟件模塊。有了這樣的準備,在業務基礎軟件平臺之上開發管理軟件就可以降低復雜性,省去很多基礎性的研發工作,從而大大縮短研發周期,提高研發效率。
原文轉自:http://www.anti-gravitydesign.com