一個項目是否能夠成功,對需求的準確把握在成功因素中要占上60%的比例。不管系統的架構設計、團隊管理有多么的成功,如果需求出現偏差,仍然是南轅北轍。由于EAS項目的特殊性,項目開發(fā)過程中能夠與客戶建立有效快速的溝通渠道,是項目成功的關鍵。需求必須獲得客戶的確認。通過需求調研與分析后獲得的用戶需求說明書,以及軟件需求規(guī)格說明書都必須得到客戶的簽字確認。確認的內容包括項目的目標、范圍以及項目需求功能點(用例)。EAS項目在前期對需求不夠重視,導致在需求理解上出現了一些偏差,從而影響了項目的進度。幸而得到了及時的糾正,在項目管理部的協助下,所有需求都得了客戶或客戶代表的簽字確認。從而使得項目在客戶驗收時,有了充分的保證。
項目應確立專門的需求分析師。公司沒有專門的需求分析師,不能不說是人員配備上的一大弊端。從EAS項目的開發(fā)過程中,我們就充分地認識到這一問題的嚴重性。需求的不斷更改,客戶遲遲未簽字確認,原因正是在于我們沒有專門的具有豐富經驗的需求分析師。普通開發(fā)人員在調研需求以及撰寫需求規(guī)格說明書時,總是會出現偏差或理解錯誤的地方。軟件需求分析是一項重要且負責的技術,沒有經過專門訓練的需求分析師,通常會給項目帶來隱患。
項目應指定各個模塊的需求接口人。只有這樣,才能有效地保證項目組與客戶的及時溝通,快速響應客戶的請求與反饋。EAS項目在開發(fā)早期及時地確立了需求接口人,在一定程度上規(guī)避了需求變更給項目帶來的風險。但是,確立的需求接口人未經過系統培訓,在需求調研以及與客戶溝通的過程中,工作表現只能說是差強人意。
注意維護需求調研記錄以及需求跟蹤表。這一工作做得不夠好。由于需求調研人不夠專業(yè),而項目經理以及需求分析負責人對這一過程還欠缺足夠的重視,同時沒有好的工具或流程來監(jiān)控這一過程,使得需求調研記錄沒有發(fā)揮更大的作用。此外,需求跟蹤也非常重要,畢竟,任何項目的需求都不是固定不變的,需求隨時會發(fā)生變更,而開發(fā)人員實現的需求也可能會與客戶的要求偏差。
注意維護需求矩陣。項目經理對這一內容缺乏足夠的重視與理解,項目開發(fā)過程體系中也缺乏好的需求矩陣文檔模板。但是在項目中后期,項目及時撰寫了EAS項目需求功能列表,并結合交付版本與客戶進行了溝通和協商,從而規(guī)避了需求偏差的風險。
控制需求變更。重視CCB的作用,同時應建立需求變更的響應機制。EAS項目組對于需求變更的響應還不夠及時,這一點項目經理與項目管理小組要擔負一定的責任。
1、設計
重視架構設計。EAS項目的成功,一定程度是源于我們有個優(yōu)秀的框架開發(fā)小組,我們在項目立項之初就基本確定了整個系統的架構。其中雖然發(fā)生了一些變化,但核心架構仍然沒有發(fā)生大的變化。由于,我們建立了穩(wěn)定、簡單的系統框架,可以極大地提高開發(fā)效率,規(guī)避了對框架的重復編碼。
善于對設計作出取舍。項目開發(fā)的三要素是成本、質量與進度。在保證質量的前提下,為了項目進度不出現大的偏差,EAS項目組并沒有過分強調技術,特別是在考慮進度的情況下,犧牲了系統的部分可擴展性。雖然這為系統的后期維護帶來一定隱患,但卻能夠有效地保證項目的進度。從EAS最初的架構設計來看,我們引入了AOP,試圖簡化ORM以及橫切關注點例如日志、異常、權限、事務等功能的實現。同時,希望采用WCF,利用SOA思想建立松散耦合的面向服務應用程序。但隨著客戶需求的變化,我們果斷地放棄了采用WCF的構想,同時又克服了技術困難,堅持了對AOP的使用,并為此成