時間:2023-05-22 10:07:14
緒論:在尋找寫作靈感嗎?愛發表網為您精選了8篇軟件開發與定制,愿這些內容能夠啟迪您的思維,激發您的創作熱情,歡迎您的閱讀與分享!
1.引言
外壓容器失穩教學實驗是將容器在外壓作用下造成失穩變形的一種典型實驗,具有操作簡單、結果直觀等特點,故長期被作為過程裝備與控制工程專業開設專業實驗課的必選實驗。由于早期實驗測試程序是基于VB6.0開發的,一直以來存在兩個顯著的缺點:一是功能拓展性較差,測試數據和參量有限;二是兼容性不好,目前無法應用于Win7,Win8及64位系統。為此,筆者針對傳統驗證型外壓容器失穩實驗的不足,采用大型工程軟件MATLAB開發外壓容器穩定性實驗測試程序和控制系統,便于監控外壓容器穩定性,確保實驗過程的安全性。
2.外壓容器失穩理論及外壓容器實驗測試系統介紹
2.1外壓容器及其穩定性說明
在外壓作用下,筒體突然失去原有形狀的現象稱為彈性失穩。容器發生彈性失穩將使容器不能維持正常操作,造成容器失效。外壓圓筒在失穩以前,筒壁內只有單純的壓縮應力。在失穩時,由于突然的變形,在筒壁內生了以彎曲應力為主的附加應力,而且這種變形和附加應力一直迅速發展到筒體被壓癟或發生褶縐為止。所以外壓容器的失穩,實際上是容器筒壁內的應力狀態由單純的壓應力平衡躍變為主要受彎曲應力的新平衡。
容器的失穩形式有整體失穩和局部失穩兩種。本實驗測試系統研究的是實驗試件整體失穩的情況,整體失穩根據失穩方向分為側向失穩和軸向失穩兩種[1]。
容器由于均勻側向外壓引起的失穩叫做側向失穩。側向失穩時殼體橫斷面由原來的圓形被壓癟而呈現波形,其波形數可以等于兩個、三個、四個。軸向外壓則引起容器軸向失穩,變形為徑線由直線變為曲線。
2.2外壓容器實驗及測試系統說明
外壓容器失穩實驗是將容器在外壓作用下造成失穩變形的一種教學實驗,也是壓力容器失效破壞的一個典型教學演示實例,它具有操作簡單、結果直觀等特點,被作為過程裝備與控制工程專業開設專業實驗課的首選實驗。國內高校如浙江大學、南京工業大學等一直致力于穩定性測試裝置的研究和開發。
3.基于MATLAB軟件開發外壓容器穩定性實驗控制系統
3.1MATLAB軟件簡介
MATLAB是美國MathWorks公司出品的商業數學軟件,用于算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境,它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在易于使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統非交互式程序設計語言的編輯模式,代表了當今國際科學計算軟件的先進水平。
3.2基于MATLAB軟件開發實驗系統
以下為初始界面的源代碼
functionvarargout = untitled1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @untitled1_OpeningFcn, ...
'gui_OutputFcn', @untitled1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
ifnargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function untitled1_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
functionvarargout = untitled1_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
4.總結
應用先進工程計算軟件MATLAB實現外壓容器穩定性實驗測試程序的開發,為外壓容器失穩實驗提供了更加良好的測試環境,也為相關教學提供了一個更加便捷的工具。同時本研究克服外壓容器穩定性傳統實驗測試系統兼容性和功能拓展性不好等問題,使得系統控制方面更為完善。由于筆者水平和時間有限,因此開發的實驗系統仍有不足之處,希望在今后的研究中逐步克服,以期為過程裝備與控制工程專業教學盡綿薄之力。
“軟件危機”問題日益嚴重,主要表現在:軟件開發效率低,開發周期長,開發成本高,可維護性和適應性差,不能很好地滿足用戶個性化和頻繁的業務變化的需求.而日益激烈的市場競爭和經濟全球化,賦予軟件工程以新的特征:有效率有效用地滿足用戶個性化需求的定制化,快速響應和適應市場及業務的變化,以及低成本高收益等.
在軟件行業,大多數開發單位還處于手工勞動階段,軟件開發活動是針對單一用戶的具體需求,面向單個產品來組織的.近年來,產業界將“軟件作坊”轉變為“軟件工廠”的呼聲越來越高,試圖將軟件開發作為一種生產制造過程,像在生產線上生產物質產品一樣,大規模生產軟件產品.但目前的現狀并沒有達到期望的目標,當軟件開發項目比較大時,軟件危機依然存在,其中一個主要的原因是,認識一個系統的過程和方法同用于分析、設計和實現一個系統的過程和方法不一致,對軟件開發過程的認識不夠明確,同時,也缺乏合理和實用的軟件過程模型.為了解決軟件開發過程中的瓶頸問題,提高軟件業的競爭力,人們提出一些旨在促進軟件工程化的開發思想和方法,如軟件復用、過程重組面向對象的軟件工程基于構件的軟件工程和領域工程等.本文在這些軟件工程方法的基礎上,提出面向大規模定制的軟件開發模式(softwaredevelop?mentformasscustomization,SDMC),將大規模標準化軟件開發與面向單個用戶定制開發有機結合起來,既滿足用戶的個性化需求,又達到規模經濟的效益.
2面向大規模定制的軟件開發模式
1970年,托夫勒在其《FutureShock)(未來的沖擊)一書中提出了一種以類似于標準化或大規模生產的成本和時間,提供滿足用戶特定需求的產品和服務的生產方式的設想.1987年,StanDavis在《FuturePerfec)(未來的理想生產方式)一書中首次將這種生產方式稱為“masscustomization”,即大規模定制生產,簡稱mc.這種能滿足用戶的真正需求而又不犧牲效益和成本的新的生產方式目前在制造業得到了較快的發展,并作為一種有效的競爭手段逐漸被企業所采納.簡單地說,大規模定制是以大規模的生產成本和時間滿足用戶的個性化需求,其基本思想是:將個性化定制產品的生產問題通過產品重組和過程重組轉化為或部分轉化為批量生產問題.
與物質產品相比較,軟件產品的生命周期更短,受市場和客戶需求變化的影響更大,特別是領域應用軟件,每個企業的產品結構、規模大小和管理方式都不一樣,業務流程也各不相同,而且隨著市場的變化,企業重組和持續業務過程改善,都造成業務過程的動態不穩定.這要求軟件產品不僅在開發過程中要滿足多樣化的業務需要,而且在企業應用過程中,要能動態適應不斷變化的業務過程.因此,軟件產品應比物質產品更具有柔性和可定制性.根據不同軟件產品的特點,存在兩種軟件開發形式,如圖1所示.
①標準成品軟件(off~the~shelf)開發.面向較大規模的客戶群,開發和銷售成本低,相對價格便宜,交貨迅速,但滿足用戶特殊需求的集成和修改費用高.
②單個軟件定向開發(one^ff).完全按用戶需求組織開發,能貼近用戶需求,但開發費用高,周期長,而且可維護、可升級性差.面向大規模定制的軟件開發模式是以上兩種開發方式優點的結合,既可以快速響應個性化客戶需求,又可以實現標準軟件開發的效率和成本.
如圖2所示,SDMC除繼承領域工程和基于構件的軟件工程方法的特點外,還將并行工程的思想融于產品開發過程中.SDMC改變了傳統的面向單個軟件的開發方法,是對某一領域現在和未來市場、整體和細分市場以及相應的用戶群體進行分析,開發出對該領域現存和潛在用戶均有良好適應性和定制性的系列產品,即面向產品族開發,以實現范圍經濟與規模經濟的結合.可重用構件是實現SDMC的基石.采用基于構件的開發方法,可以將一個復雜的軟件產品分成多個構件的集合,相當于將復雜的單一問題簡單化,因此更便于軟件的管理、維護和升級.理論上,構件是與具體產品無關的相互獨立的單元,可以在廣泛范圍內共享和重用,是解決大規模軟件工程問題的有效方法.構件可以外購,還可以外協構造,這樣可以充分利用外部資源,縮短開發周期.
SDMC運用并行工程的思想,集成地、并行地開發軟件產品和過程,從軟件開發的開始就充分考慮軟件生命周期中所有因素,包括時間、成本、質量和用戶需求等.
綜上所述,SDMC繼承和發揚了領域工程、基于構件的軟件工程和并行工程的思想和方法,在系統方法指導下,用全局優化的觀念,充分利用內外部資源,以大規模生產軟件的效益,開發滿足用戶個性化需求的軟件產品.其目標是:
①縮短產品開發周期,以實現快速響應;
②提高開發規模,降低開發成本,以實現規模經濟;
③滿足用戶個性化需求,以實現范圍經濟.
3面向大規模定制的軟件開發過程
傳統的軟件開發過程模型是針對單個產品開發而提出的,將軟件開發過程分成需求分析、設計、編碼、測試和交付等串行的幾個階段.文獻分別給出了面向重用的過程模型.文獻[7]將制造業的產品生產過程分為新產品形成過程和訂單產品制造過程.本文根據SDMC的目標和特點,給出如圖3所示的面向大規模定制的軟件開發過程模型.與制造業一樣,將軟件開發過程分為面向市場的新產品開發和面向用戶的定制兩個循環.
圖3面向大規模定制的軟件開發過程模型
面向市場的新產品開發是根據市場的現在和未來需求收集信息,運用相關知識構造某一應用領域問題的解決方案,開發新的產品.新產品開發不是面向單個產品,而是面向產品族,建立面向產品族的領域框架和可重用構件,并在過程設計環節,設計以領域框架和構件為基型的軟件定制過程,為定制具體應用系統打下基礎.這一循環,所需時間相對較長,稱之為慢循環.面向用戶的定制過程是根據用戶的具體需求,在新產品開發過程中形成的面向產品族的領域框架和定制過程的基礎上,利用已有構件,進行配置設計和定制開發,形成滿足客戶個性化需求的軟件產品.這一過程在客觀上必須是一個快循環,以快速響應用戶需求,稱之為快循環.
SDMC主張軟件開發單位通過業務過程重組,將軟件開發的兩個循環相互分離:新產品開發部門負責面向市場的新產品開發,同時為軟件定制準備基型;定制部門利用可變型的基型,按訂單定制,快速滿足用戶的個性化需求.兩個循環相輔相成,能否完善結合的關鍵是可定制的領域框架和可重用的構件.每個循環均強調并行,并適時將演化模型[1]融入并行開發和定制過程中.
一般說來,軟件開發單位對兩個循環都應重視.新產品開發循環具有創新性,將給開發單位帶來創新的產品,增強競爭優勢.定制循環雖然不會有重大創新,但其優勢是在“快”上,能快速響應用戶的個性化需求.
4面向大規模定制的軟件產品族
可定制的產品族模型是實現SDMC的關鍵.因此,SDMC重點在于研究建立合理的產品族結構的軟件設計方法,不再每次只設計一個產品,而是同時完成一組產品的設計,即對整個產品族進行綜合設計,從而可以挖掘出產品族中的相似性信息,設計出面向產品族的可定制的領域框架和可重用構件.并利用并行工程的觀點,以時間、成本用戶滿意度為目標,集成地并行地設計產品族及定制過程,同時盡可能考慮到影響軟件定制過程的約束條件和條件約束下的軟件配置機制.
軟件產品族是利用共享資源構造的某一具體領域軟件產品的集合,是一系列相似產品的統一表達.軟件產品族對具體領域的相似問題進行歸類,用相似的解決方案來解決,并試圖覆蓋同一業務領域的所有現實或潛在需求.面向大規模定制的軟件產品族體系結構如圖4所示.
軟件產品族由領域框架、構件、定制過程和定制機制等部分組成.按照從用戶需求到軟件產品形成,在業務定義、技術方案和物理實現3個層面上建立領域框架模型和構件模型,層與層之間存在映射關系,右邊層次的模型是左邊層次的模型的變換,這樣從左到右,形成一種生成、推導和約束關系.
(1)業務模型.是根據用戶和市場需求,對業務對象、業務過程、業務服務和業務規則進行形式化描義莫型.在軟件產品族體系結構中,業務層面上描述的領域框架和構件,分別稱為領域框架業務模型和構件業務模型.
(2) 技術模型.是對適應業務模型的應用系統技術解決方案的一致性描述.在軟件產品族體系結構中,技術層面上描述的領域框架和構件,分別稱為領域框架技術模型和構件技術模型.
(3) 實現模型.是對實現技術模型的物理系統的一致性描述.在軟件產品族體系結構中,技術層面上描述的領域框架和構件,分別稱為領域框架技術模型和構件技術模型.
(4) 領域框架.是針對某一具體領域,包括構件及構件之間相互關系和約束規則,可定制、可擴展領域通用的軟件產品族架構.
(5) 構件.是在定義好的體系結構相關環境中具有明確功能的獨立的、可替代、可重用的系統組成部分.
(6) 定制過程.針對具體的開發環境所制定的,個性化定制具體應用系統的規程,包括與應用系統實現過程相關的規范、工具及相關文檔.
(7) 定制機制.包括約束條件^配置機制以及業務模型技術模型和實現模型之間的映射關系.約束條件是約束應用系統定制的環境因素和對定制過程的考慮,配置機制是條件約束下的對領域框架實例化和對構件進行配置的規則和推理機制.
基于產品族的軟件開發目標是提高產品族中的構件的通用性,從總體上降低開發成本,縮短交貨期.對現有客戶需求的理解和對未來需求的預測,及對客戶群需求的系統分析,是產品族規劃的關鍵,而產品族規劃又是面向產品族軟件開發的重要環節.
5面向大規模定制軟件開發的產品集成過程模型
傳統的軟件開發方法強調軟件實現技術,而忽略了對軟件開發過程的規范和管理.近年來,軟件開發過程越來越受到產業界和學術界的重視,如CMM(能力成熟度模型)就旨在顯著提高軟件開發過程管理能力[8].本文在制造業面向大規模定制的集成產品和過程模型基礎上,結合軟件產品的特點,給出了如圖5所示的面向大規模定制軟件開發的產品集成過程模型.
如圖5所示,面向大規模定制軟件開發的產品集成過程模型呈二維結構.時間維描述的是從客戶訂單到產品交付的過程,即軟件開發過程(包括新產空間維描述的是將不同產品的相似部分進行歸類處理,以增加軟件開發規模,可采用產品模型(包括領域框架模型構件模型和應用系統模型)來描述.
SDMC在時間維優化的關鍵是有效地將定制分離點(customizationdecouplingpoint,CDP)后移.CDP是軟件開發過程中由與訂單無關的、面向市場的預測型大規模開發轉向面向用戶的定制的轉換點.推遲CDP可以減少由于用戶訂單特殊需求而進行定制在時間和資源上的開銷.最理想的作法是在交貨點定制,即接到用戶訂單后,及時在用戶現場根據用戶需求完成產品開發和交付.實現CDP后移,需要準確預測市場需求,構建好可定制的領域框架,預制足夠的可重用構件,為產品定制做好充分的準備.時間維優化可以顯著提高開發效率.
SDMC在空間維優化的關鍵在于如何通過相似性原理和標準化技術有效擴大構件和框架的優化范圍并提高它們的可重用性.在軟件行業,大約65%的開發成本花費在重復系統開發上.對不同應用系統進行分解,可以發現存在大量相似性,可以對這些相似性內容進行歸類,形成領域內或領域間共享的
6面向大規模定制的敏捷軟件開發組織
根據SDMC的二維優化模型,顯然在一個地區或行業推廣實施大規模定制軟件要比僅在一個開發單位實施可以取得更好的效果.大規模定制軟件的最佳的模式應是在全球范圍進行推廣實施.事實上,軟件行業的全球化和專業化分工也正在促使大規模定制軟件開發擴展到全球范圍.如何組織廣泛范圍內的軟件大規模定制?本文主張將敏捷制造思想應用到軟件開發中,建立面向大規模定制的敏捷軟件開發組織.
敏捷制造是為實現企業生產制造的敏捷性,采用現代通信手段,通過快速配置各種資源,以有效和協同的方式響應用戶需求的一種企業發展戰略.虛擬組織是實現敏捷制造的重要組織手段.虛擬組織是一些相互獨立的開發單位通過信息技術(例如互連網)連接的暫時性的開發單位網絡,這些開發單位在軟件開發過程中貢獻出自己的核心能力,以實現技能利潤共享和成本風險共擔,迎合和把握快速變化的市場機遇.
充的動態組織.根據產品族設計中規劃好的領域框架和構件,進行工作任務分解(分解為不同類型的構件),按照各個公司或公司內某些部門的核心業務能力,動態組合資源、技術和人員最佳配置的虛擬組織.虛擬組織成員接受工作任務后,按照各種合作形式(如供應鏈式、策略聯盟式、合資經營式轉包加工式和虛擬合作式等[13])進行合作,在基于Internet的敏捷開發環境下,共享資源和技術,完成各自的工作任務(完成構件開發).根據客戶訂單要求,將領域框架實例化形成滿足訂單要求的應用系統框架,并如圖6所示,虛擬組織是可重構、可重用和可擴對虛擬組織成員提供的構件進行裝配,最終形成滿足用戶需求的應用系統.
7結論
【關鍵詞】大規模 定制軟件 敏捷開發 研究
如今應當說是一個高科技時代,人們的生活似乎被各種各樣的高新科技所包圍,無論是我們習以為常的網購還是離我們看似遙遠的全自動化生產線無不顯露著科技的風尚。人類已經進入了一個智能化的時代,因而各種專業化的軟件需求量也就越來越大,每個不同的企業或者部門對于軟件的需求也是不同的,定制軟件看似容易實際上其操作起來難度是極大的,而針對定制軟件開發最好的開發手段就應當說敏捷開發,這是一種將一個定制軟件拆分成數個乃是數十個甚至成百上千個小項目進行軟件開發的方式,其尤其適用于大規模定制軟件的開發。
1 大規模定制軟件的必要性
首先我們要對大規模定制的定義進行明確,大規模定制指的是大規模定制是指對定制的產品和服務進行個別的大規模生產,這種生產模式是把大規模生產與定制生產的優勢有機地結合起來,這種生產方式一方面不會由于個性化定制而讓企業的利益受到影響,另一方面也不會由于大規模的生產而忽視了軟件定制的個性化,應當說這一種雙贏的生產方式。對于企業而言其采用大規模定制能夠在最大程度上降低生產成本而保證產品質量,對于客戶而言其能夠以較低的價格而獲得質量優良且具有個性化定制色彩的產品,因此這是雙方都樂見其成的。從大趨勢來看大規模定制已經是大勢所趨,同樣也是工業3.0-的重要組成部分,因此我們必須對其給予一定的重視。
2 敏捷開發
大規模定制的_是一種極為有效的生產方式,不過這種大規模軟件定制想要真正的實現是需要一定前提的,這個前提就是采用更加有效的產方式從而完全實現產品大規模生產與個性化定制并存。這個方式就是敏捷開發,敏捷開發將一個軟件的開發轉化為了數個乃至數十個不同的小項目,每一個項目都負責了軟件的一部分,有的負責的可能是軟件的界面,有的則負責開發軟件的菜單,有的則負責軟件的核心運算公式,在這數十個項目全部完成后再將其整合起來就成為一個大型的成品軟件。例如同樣是財務軟件,可能企業需要側重的是利潤、庫存等方面,而機關事業單位所需要的更多的是收入與支出的合理性,兩者的需求不同因此不可能使用同一種軟件,但是除了側重之外其他的部分缺失完全相同的,因此如果采用傳統的軟件開發方式則必然需要反復開發兩套軟件來滿足不同客戶的需求,而敏捷開發只需要開發一套軟件,而對于二者不同的需求只需要在開發其個性化部分就能夠在降低開發成本的同時滿足用戶的個性化定制需求應當說這是解決大規模定制軟件開發的最好方式。
3 敏捷開發的各個階段
敏捷開發雖然對于大規模定制軟件十分有利但是其真正操作起來卻需要諸多方面的配合才能夠真正實現敏捷開發,因此我們應當對敏捷開發的各個關鍵環節進行了解。
3.1 敏捷開發的起始階段
敏捷開發與傳統的軟件開發不同,傳統的軟件開發幾乎只需要開發部門一個部門在了解客戶需求后進行軟件的開發,而敏捷開發則不然其在軟件開發的前期就需要企業當中不同部門的人員進行配合其中包括了軟件設計師、程序編寫員、營銷人員、財務人員,而在企業外部其還需要客戶的配合,這樣做能夠使得其各方面的問題能夠在開發初期就被提出從而被解決,使得軟件的基本框架被完全確定只有這樣才能在軟件開發過程中采用模塊化的方式進行開發。
3.2 敏捷開發的開發階段
在對客戶意圖以及軟件設計師進行了充分溝通并確定了軟件方案之后,就需要將軟件拆分成數個乃至數十個小型開發項目,這些開發項目有些是軟件的基礎有些則是客戶個性化定制部分,首先來說基礎開發部分,其必須注重這部分程序的通用性,即其不能單純地只能應用在一款軟件上而是應當能夠被未來多種不同的軟件進行利用,這些通用程序一般包括了軟件的數據輸出、輸入、導入導出程序以及各類軟件的菜單和工具欄等等,只有確保了基礎程序的通用性才能夠成為大規模定制軟件的開發基礎。另一部分則是個性化定制部分,在這一部分最為注重的應當是充分滿足客戶對于軟件的個性化需求。
3.3 敏捷開發的完成階段
敏捷開發其本身實際上就是講程序分為了多個不同的模塊,在最終的完成階段則是需要編程人員將開發完成的各類模塊化程序進行匯總和有效地連接和融合從而使得其成為一個個不同的軟件,這種模式與傳統一氣呵成的開發模式不同,其開發方式更加靈活便捷,許多軟件模塊都是通用的只需要在通用模塊的基礎上將個性化模塊進行開發并且融入到整個軟件當中就能夠徹底完成個性化定制的軟件。
4 結束語
大規模軟件定制是時展的需要,其在軟件開發領域的應用能夠在最大程度上降低軟件開發的成本并且提高軟件開發的效率應當說這是極為可喜的事情,不過我們必須清楚地意識到大規模軟件定制其本身必須是一敏捷開發為前提的,因此我們必須對敏捷開發這種軟件開發模式進行深入的研究從而使得我們能夠更好的掌握這種開發方式來支持大規模軟件定制。
參考文獻
[1]羅昱.淺談大規模定制的軟件開發模式[J].電子制作,2013(14):72-72.
[2]田清.軟件敏捷開發過程Scrum中的缺陷管理方法研究及應用[D].重慶大學,2010.
關鍵詞:產品化;定制化;軟件;優劣勢
1 產品化與定制化軟件綜述
產品化軟件和定制化軟件在流程電子化方面,尤其是管理支撐類流程方面存在一定程度的重疊,但兩者的定位不管是從產品的體系架構,或者是在實施方法論等方面還是存在很大的差異。從更好地滿足客戶的核心業務需求的角度出發,相較于傳統的產品化軟件,定制化軟件在滿足企業核心業務流程管理方面是具有明顯優勢的。但是隨著產品化軟件的不斷發展和完善,對于數據處理要求不是很高,業務邏輯相對簡單的系統來說,產品化軟件已經逐漸體現出它的優勢。目前,主流的產品化平臺軟件中的一個核心功能應用在于流程管理,從專業角度來看,產品化平臺軟件已經含有流程管理的功能模型,并已經完全含有項目化平臺軟件的核心功能,例如表單建模、流程引擎、權限模型等核心功能點。
2 產品化軟件與定制化軟件優劣勢分析對比
2.1 用戶體驗和頁面友好性方面的對比
定制化開發軟件隨著使用年限的不斷增加,軟件開發技術的不斷發展,導致系統兼容性、UI可用性和易用性不斷下降,隨著計算機操作系統、瀏覽器軟件和OFFICE等辦公軟件的更新換代,經常發生按鈕功能不正常,系統頁面顯示不正常等問題。大多數企業員工信息技術水平有限,很難自行對瀏覽器和操作系統進行兼容性調整和設置,從而降低了日常的工作效率,也加大了信息化部門的工作量。而產品化軟件方面則不存在以上問題,由于產品版本迭代速度較快,能夠做到持續改進,所以能很好的適應其周邊軟件的不斷升級更新,系統頁面友好美觀,與日常辦公軟件能夠良好銜接,基本上不會發生由于系統兼容性而導致系統功能不正常的問題。
2.2 系統功能、開發周期與開發成本方面
產品化軟件其優點在于能夠滿足客戶絕大部分通用的需求,且建設費用相對較低。由于事前已經有較為成熟的產品化功能模塊,從而能夠在需求分析階段結束后直接進入系統的搭建與測試階段,省略了傳統軟件開發生命周期中基本設計、詳細設計、代碼編寫這幾個最為耗時費力的工程段,能夠做到快速搭建、快速部署、快速上線,大大加快了項目實施進度。由于有產品化功能模塊和可視化系統搭建平臺的存在,整個項目實施過程中不需要程序代碼的編寫,所以幾乎不需要有很強技術功底的開發人員的參與其中,從而也降低了整個項目建設的人力成本。相對于業務簡單通用,變化小,成熟性的公司,這種產品化軟件的性能價格比還是很有吸引力的。
定制化軟件方面,軟件自身完全可以按照客戶的需求來定制,能夠做到量身定制,在客戶一些細節需求的對應上較為靈活。但定制化軟件的建設實施工作由于是從零開始,從無到有,所以需要經歷完整的軟件開發生命周期,相對于產品化軟件來說開發周期長,對系統建設人員的技術水平要求較高。另外定制化軟件實施的成功必須建立在兩個前提條件下,一是客戶有一套清晰成熟的管理方法,能夠非常明確系統的提出自身的業務需求;二是供應商擁有一批既熟悉業務,又熟悉軟件開發技術,而且要具有豐富的開發經驗的業務技術專家。這兩個條件缺一不可,項目實施的成功與否,周期長短,所實現功能與顧客需求的差異性,都取決于這兩個方面。而作為在市場上被廣泛接受的成熟的產品化軟件來說,在一定程度上是為企業提供了一套管理的思路、管理方法的模板與建議,企業可以去主動地適應產品,把產品的設計理念、管理流程應用到企業自身的日常管理中。所以對于管理思路不是很清晰企業,購買產品化軟件不僅是購買了一套軟件更是購買了一套較為成熟的管理方法論,也是對成熟先進管理方法的一次學習和浸潤。
3 系統維護方面的對比
3.1 新增、變更需求對應方面
對于定制化軟件來說只要發生新增需求或者變更需求都必然需要通過修改代碼的方式去應對,代碼的修改和增加即會產生相應的開發工作量,則需按工作量付給供應商相應的開發費用。
而產品化軟件由于采用可視化、配置化的系統搭建平臺實現業務需求的理念,在流程的調整變更與新增、表單內容的調整變更、頁面布局的調整變更等方面,全都可以通過系統管理員在可視化管理平臺上自行調整,不需要通過修改增加代碼的方式去實現,所以節省了很大一部分由需求變更所產生的開發費用。只有通過后臺配置不能實現的新增、變更需求,才需要與供應商溝通進行定制化開發并產生相應的費用。另外,進入維護階段后只需支付供應商一定數量的電話服務費用,不需要供應商提供專員在客戶現場進行維護工作。
綜上所述,產品化軟件后期可以根據業務流程變化靈活調整,經過培訓的企業信息化人員可自主完成,無需依賴廠商,基本不產生系統升級開發費用,與定制化軟件相比大大節省了系統維護成本。
3.2 系統維護方式與服務響應時間方面
定制化軟件維護方式的優勢在于由于開發人員在長期客戶的現場服務,且對系統架構和源代碼以及公司業務相關業務較為熟悉所以響應速度較為迅速。但隨著定制化軟件使用年限的增加,維護人員的流動不可避免,所以會造成代碼的健壯性與可讀性不斷下降,導致只有專門的對系統極為熟悉的供應商開發人員才能對系統進行維護工作。通常的項目化軟件維護周期中,隨著系統上線時間的增加,系統運行越發穩定,項目團隊從維護成本上考慮通常會逐年遞減系統維護人員,甚至最后整個系統的維護工作只有一個維護人員擔當完成,如果維護人員較為單一,倘若此時人員發生變動,新的維護人員很難在短時間內理解系統實現方式以及所有源代碼,很難在短期內開展相關維護工作,從而使系統維護工作出現空窗期,這對系統的穩定運行可能造成較大的影響。
產品化軟件的維護方式通常采用由單位系統管理員結合供應商客呼叫中心的維護方式,由于產品化軟件通過可視化配置平臺實現系統功能的程度很高,所以單位系統管理員作為維護工作中的主要角色,承擔了90%左右的維護工作。只有在發生系統BUG和通過系統管理員配置不能實現,需要定制化開發的時候才需要供應商相關團隊的配合。但由于供應商團隊在現場沒有開發維護人員,且產品化軟件在定制化開發方面受到諸多限制,所以在響應時間上的表現明顯不如定制化開發軟件。此外,產品化軟件背后有專業、穩定、龐大的團隊在對各模塊的代碼進行維護,所以在代碼維護方面較為穩定,代碼版本管理方面也較為規范,人員的流動基本不會對代碼的維護造成影響,從而能夠有效降低由源代碼管理問題以及人員流動問題引發的系統運維風險。
云計算、大數據、移動化和社交化趨勢的發展給軟件開發企業帶來的最大挑戰是什么?ThoughtWorks中國區總經理張松表示:“我們不提供公有云平臺,而是專注于讓傳統企業更好地使用云計算。”傳統企業通常擁有龐大的IT系統,而且存在了幾十年。在面對新的業務需求時,如何繼續發揮原有IT系統的優勢,面對不同類型的應用,更充分地利用云計算,實現更快、更安全的應用部署是用戶和軟件開發企業都必須面對的嚴峻挑戰。
“我們要幫助企業設計一套新的架構,讓它更適合云的環境。”張松舉例說,“我們通過Microservice可以將傳統企業的業務分割成不同的服務模塊,這些模塊可以獨立開發,并部署和運行在云平臺上。這是我們推薦的一種新的架構模式。”
在澳大利亞和美國,ThoughtWorks是亞馬遜AWS的重要合作伙伴,并且通過了亞馬遜AWS的金牌認證。如果有用戶想將應用遷移到亞馬遜AWS的云平臺上,ThoughtWorks可以提供相應的遷移服務。
作為高端軟件定制開發企業,ThoughtWorks一直根據用戶的實際需求提供定制化的軟件開發服務。經過多年的積累,ThoughtWorks不僅在金融、零售等諸多領域擁有了大量客戶和實踐經驗,而且對這些行業客戶的需求也有了深入了解。ThoughtWorks完全可以對以往的產品開發經驗進行總結,推出自有品牌的針對某些行業或特定應用場景的解決方案。
張松表示,ThoughtWorks已經開始進行這方面的嘗試。“我們已經推出了一個云計算的平臺ScaleWorks,它可以運行在第三方的公有云平臺之上,能夠幫助客戶在企業環境中更好地使用云計算和其他企業級虛擬化平臺,比如VMware或微軟的云計算平臺。”ScaleWorks的好處是可以隱藏企業應用開發中的復雜性,讓用戶更容易使用,同時可以實現企業軟件在、部署和開發測試等環節的管理自動化,減少開發和測試的工作量。
雖然ThoughtWorks已經推出了像ScaleWorks 這樣的可以大規模商用的產品,但是ThoughtWorks并沒有像其他IT公司那樣急于進行大規模的商業推廣。
張松表示:“我們現在的做法是選擇一些我們認為具有創新精神的客戶來試用這個產品,在得到反饋并對產品進一步優化之后,再對產品進行大規模的商業推廣。目前,已經有兩三家客戶在試用ScaleWorks。我們公司內部也在全面使用這套系統。”
一、軟件外包發展現狀
在轉換培養模式之前,我們做了大量前期調查,分析了全球軟件外包未來發展的態勢和中國軟件外包的發展趨勢,并通過大量企業調研仔細研究了軟件外包人才數量和技能的需求情況。
(1)軟件外包發展狀況
圖1展示了未來幾年全球軟件外包市場的發展情況,可以很清楚地看出,在未來幾年中軟件外包將持續穩定增長。圖2顯示了我國軟件外包市場占全球市場的比例,可以看出我國軟件外包市場規模在逐步擴大,占全球市場的比例不斷增長。未來我國的軟件外包將發展良好。
(2)軟件外包人才需求情況
軟件外包規模擴大帶來的直接問題就是人員緊缺。針對這一點我們也作了認真分析。首先是人才數量分析,圖3顯示了未來幾年內該領域對人才數量的需求情況。
其次是人才結構分析,圖4顯示了軟件外包人才需求結構。
目前中國從事軟件外包的人員50000余人,未來幾年內,人員需求量將會快速增長,到2009年,需要近25萬人,其中初級人才的需求量巨大,近17萬人;中高端人才需求也在急劇上升。
當前軟件外包人才的主要來源有以下四個方面:普通高校的軟件及相關專業培養;35所示范性軟件學院;中國計算機等級考試;中國IT培訓與教育。但多數學生畢業后并不能立即勝任外包軟件的開發工作。企業對外包人才除了最基本的技能要求外,還要求此類人才能充滿激情,勇于面對壓力;認真敬業,有責任感;有細致入微、精益求精的工作態度;具有扎實的理論功底和良好的外語溝通能力;具有快速學習能力與團隊合作能力。這些能力培養在傳統教育中是很難完成的。
鑒于當前軟件外包人才培養過程中存在的這些問題,我校提出了一套全新的問題解決方案――軟件外包人才定制培養。
二、軟件外包人才定制培養模式
綜合以上分析,我校將軟件外包人才培養定位在初級人才這個巨大人才缺口上。我校提出的完整外包人才定制培養模式是:首先,由軟件外包企業向我校發出培養需求,包括人才素質需求和人才數量需求;其次,我校從各系選拔出適合該職業的學生組成定制班,選拔方式為筆試和面試;第三,按照企業需求制定相應教學計劃展開定制人才培養工作;第四,在學生畢業前再次根據企業當前需要進行檢驗和選拔,選取優秀者和符合要求者進入軟件外包企業工作。
該模式提出之初,我校一直和東軟合作,為其提供定制人才,具體培養過程見圖5。
我校在該流程的控制上嚴格把關,由企業出題、面試學生,選拔出符合企業需求的人員組成定制班;企業參與制定教學計劃的全過程,校企雙方經過討論制定出符合軟件外包企業需求的教學計劃;在教學過程中我校嚴格遵照該教學計劃完成教學任務,保證人才培養的質量;在學生畢業前,企業還要進行一輪測試和選拔,從中選擇切實符合企業需求的人才。
三、人才定制培養模式效果
我校從2004年開始運營這套軟件外包企業人才定制培養模式,共培養該類人才579人。這些人才除進入定制企業外,也受到了其他軟件企業的歡迎,就業率達到了100%。以東軟集團為例,定制培養的新員工占整體招聘的8%,但定制培養的優秀新員工占整體優秀新員工的15%。這些學生的企業導師認為定制培養的效果很好,對企業幫助很大。
定制培養出的學生技術能力強、實踐能力強,與傳統培養模式下的學生相比,在各方面都具有很大優勢,在就業過程中是企業優先選擇的對象。
那如何改進這種情況?
無論是大型還是小型軟件開發商都要融入軟件開發的全球競爭,那么就需要引進先進的國際標準規范(如ISO 9000、CMMI),通過評估認證來規范軟件開發過程管理。而同時在軟件開發這個充滿創意的領域,運用系統組織的思維、先進靈動的工具服務于過程管理,提高開發效率,也是企業發展過程中不可小瞧的力量。
案例:
高級電子表格軟件的開發商RxLaser公司運用TechExcel的跟蹤工具DevTrack,通過自動操作和控制軟件開發及客戶自定義過程,實現持續成長,提高產品質量,贏得客戶的滿意,是個具體而有借鑒意義的嘗試。
開發規模增大帶來的混亂
位于美國加利福尼亞州布瑞亞市的RxLaser公司作為高級電子表格軟件的開發商,其軟件產品通過一個服務器平臺與客戶使用的軟件集成,支持打印、傳真、收發電子郵件、EDI和數據存檔,并可以按照每個用戶的需要進行全方位定制。
過去的十年,眾多公司用傳真或電子郵件替代了點陣打印表格,不必再花費56美分郵寄一個發票的復印件,節約了大量成本。RxLaser公司將這種進步移植到電子表格上,成為業界領先者。
但成功和快速增長也帶來了許多新的挑戰,他們必須解決這些問題以保持其領先地位。他們曾使用過一個內部開發系統來跟蹤所有的開發和定制化項目。隨著業務量的快速增長,系統不堪重負。他們的客戶數量在三年間從700多家增長到6000多家,如果沒有一個可靠的跟蹤解決方案,公司業務將處于危險之中。
“我們不能應對日常事務。”公司總裁羅伯特說:“形勢已經不在控制中了。當我們拿到一份文件的時候,我們不知道這份單子已經擱置了多久,我們原本打算如何實施。我們的業務增長得太快了,而越來越多的客戶感到不滿意。我們只有兩種選擇:要么尋找合適的跟蹤系統,要么被淘汰出局。”
精準問題跟蹤避免重復作業
RxLaser公司的開發團隊迅速評估和比較了市場上的許多跟蹤工具。大約兩周后,羅伯特發現他的所有員工都選用DevTrack。“每個人都很喜歡它,因為它快速輕松地滿足了所有人的需求。”羅伯特說:“我的員工要求我購買它,他們甚至告訴我,如果我不這么做,他們就不能工作。”
現在,公司將其用于兩個業務領域:開發團隊和定制化編程,提高了軟件開發的效率。開發團隊負責運行、維護和管理電子表格軟件系統,定制化團隊則針對客戶的具體細節要求編寫對應的表格。
羅伯特認為,在任何軟件開發項目中提高效率的關鍵,都是通過精確跟蹤項目的每一部份來避免重復性工作。當把一個完整軟件分解成許多程序片段,并把這些片段分配給不同的開發人員時,每個人的工作會有與其他人工作重疊的傾向。
而DevTrack就能使每個開發人員在任何時間都能清楚知道其他人在做些什么。當一些人完成一子項目,他們可以輕松地看到這個子項目和其它子項目如何連接,然后把這些片段無重疊地連接起來,避免了許多重復性工作。此外,管理者還可以看到每一個程序員在開發什么功能,這使得他們可以輕松地管理和跟蹤整個項目。
“編寫代碼時,重復性的工作使公司既費時又費錢,并且不能按時交付。”羅伯特說:“重復是研發工作的最大破壞者。我們的產品需要多人參與,并要在規定日期前完成,如果我們不能按時完成,將損失數目可觀的收入和機會,這是時間管理的問題,而DevTrack為我們很好地解決了這個問題。”
多人合作開發,項目很容易失去控制。每個人都在處理項目中相同部分的不同片段,這很容易讓人產生混淆,很快他們就會發現不知道對方在做些什么。DevTrack協調團隊工作,在任何時候都可以把一項編程工作轉交他人。
延伸應用于內部溝通和客戶服務
現在,RxLaser公司用DevTrack來制定工作進度,協調服務器產品的功能添加、缺陷修復以及功能增強工作。羅伯特介紹,DevTrack使整個修改工作的管理和協調非常容易,比如有一個開發人員負責項目中很大一塊工作,利用DevTrack,他的上級就能準確地知道他當前的工作內容和時間限制,而其他人也都可以看到他每天的工作進程。
最初,RxLaser公司用它做問題跟蹤,由于簡單易用,后來被用來做工序跟蹤。客戶安裝電子表格軟件過程相當緊張,一旦有新客戶登錄,他們就會為客戶發出標準表格,以基于客戶獨特的需要進行調整。經過相關人員設計調整和客戶授權確認,該調整就發送給定制化編程部門,程序員采用修訂過的標準,并將變化集成到用戶自定義的表格,最后的產品再次發送給客戶,等待最終的認可和安裝。整個客戶安裝過程利用DevTrack管理和跟蹤工作流和狀態,程序員能準確地知道過去3-4個月里的工作,并能在停止的地方準確地重新啟動。
羅伯特說:“使用DevTrack的最大收益,就是RxLaser的行業領先地位得以保持。除了幫助我們跟蹤客戶的優先級和需求,我們還可以使用它來管理設計員、程序員和客戶之間的日常內部活動,管理并記錄設計人員、編程人員以及客戶間的日常交流,這樣每個人都可以在任何時候知道問題的進展,并將其繼續推進。生病的或是其他部門的員工也可以通過其中的記錄,清楚地知道他下一步要為客戶做什么,以及客戶什么時候需要這些服務。”
研究視點一:跟蹤工具的行業應用
工欲善其事,必先利其器。軟件開發廠商也是一樣,要做到高效的軟件開發和過程管理,必須選擇運用靈活先進的開發管理工具。早在30年前大師弗雷德里克?布魯克斯就曾形象地論述說系統開發工作就像一個焦油坑,無論是大型、小型,龐雜、精干的開發團隊都在其中掙扎,沒有誰能掙脫束縛。這種情況到現在也還是如此――很少有軟件項目滿足目標、進度和預算的要求。做軟件開發項目delay是正常的,這已是圈內人士的共識。
眾所周知,對于傳統制造企業,其流程和現場管理提高生產效率至關重要,在此基礎上產生的JIT生產管理方式堪稱一代經典。同樣道理,對于人們看不見的產品――軟件的設計開發過程來說,也是一樣需要有方法、有工具來幫助實現提高其對應的生產效率。
作為問題跟蹤功能實現的產品,目前市場上已經有幾家或單獨成品,或鑲嵌在平臺之內實現該功能(如TechExcel的DevTrack和IBM Rational的Clear Quest等)。TechExcel的DevTrack贏得RxLaser信賴的關鍵,是它通過對項目中的每一個任務或細節的精確跟蹤,并借助可輕松配置的智能化工作流,使項目參與者能夠清楚地知道并執行自己的工作,避免了重復勞動,增強了團隊溝通,提高了開發效率。
在國外,整體信息化水平相對比較高,所以IT以外的行業的軟件開發和項目管理也是很愿意用工具管理實現的。圖一是DevTrack全球用戶行業分布圖,可以看得出軟件廠商是其主要客戶,但同時政府機關也在用其做流程管理,教育機構也可以買它做實驗室的項目管理。
研究視點二:工具的集成
單打獨斗的工具成不了氣候,平臺化的系列工具軟件是其作用最大化的有效途徑。DevTrack是TechExcel DevSuite產品系列中的一部分,該系列圍繞知識核心,無縫集成了從設計規劃到產品所需的所有ALM軟件,幫助數以千計像RxLaser一樣行業領先的企業實現了科學、愉悅、成熟的開發管理。廠商選擇、運用適合自己的集成工具實現開發過程管理。根據發展歷史和客戶需求以及市場環境的不同,軟件開發商的運用工具管理的模式也不同,下面以測試驅動的缺陷跟蹤管理、規劃驅動的項目管理、需求驅動的產品開發管理三種模式為例來闡述。
測試驅動缺陷跟蹤管理模式:某全球領先的軟件企業有超過3000多個程序員和測試員在使用DevSuite中的DevTrack和DevTest模塊來分別跟蹤編程缺陷和管理測試過程。測試團隊可以建立各種測試模版并為各個和構建制訂測試計劃和項目,測試過程中所發現的缺陷能直接建立新的缺陷任務,開發團隊解決的缺陷將進行新一輪的測試,如此往復直至完成。這種模式改善了大型開發團隊和測試團隊間的配合和溝通,確保每個缺陷得到有效的處理。但是項目管理層和設計人員卻不能通過這樣的模式來主動監控和指導項目的進展,只能根據測試結果做出被動的反應。
規劃驅動項目管理模式:某大型的美國游戲企業通過使用DevSuite中的DevPlan和DevTrack模塊組合來改善管理監控。這個模式中的DevTrack包括一個管理層工作項目和多個下屬的開發組工作項目。項目經理用DevPlan來細分和規劃項目,并與DevTrack中的管理層工作項目相連。而管理層工作項目中的每個功能或缺陷任務又與開發組工作項目中的多個工作任務相聯系。這樣,一個項目經理的每個工作任務都被細分并分派給多個程序員或小組,從而使他能有效確保按計劃實施項目。這種模式能有效管理控制開發過程、周期、預算和人員,但是子任務的變化和新功能的增加給整個過程的效率帶來挑戰。
需求驅動產品開發管理模式:有些企業進一步要求把需求管理也納入DevSuite系統,以提高整個應用生命周期的管理效率。DevSpec就是管理需求制訂并整合項目規劃和實施的模塊。使用它,產品經理能夠規劃各個產品版本的功能要求并管理設計文檔,以確保實施團隊充分理解設計團隊的概念產品,減少不必要的重復和廢工,最終產生理想的實際產品。
這些模式其實難分優劣,實際運用效果取決于企業自身的開發環境和實施力度,是否選擇了適合自己的模式和工具并恰當地運用。同類企業在不同階段可以運用不同模式,而不同企業也可以統一模式,運用得當能幫助企業提高30%左右的開發效率。
研究視點三:本土軟件廠商如何做
目前國內軟件開發整體來講應該說還處于初級階段,總體來看規模小、數量多、專業化程度低是目前國內軟件開發商的特點。
關鍵詞:信息化 軟件項目管理
中圖分類號:TP391 文獻標識碼:A 文章編號:1007-9416(2012)05-0250-01
1、引言
在國家提倡“兩化融合”的大環境下,眾多生產制造企業為提升自身競爭能力、擴展發展空間,不斷加強信息化方面人力和資金的投入,利用現代信息技術對自身信息資源進行深化開發。生產制造企業的軟件項目是具有針對性的定制需求軟件項目,不論是合作開發還是整體外包,往往存在著技術、人才等方面的不足,特別是軟件項目管理的不足使企業無法完全有效利用軟件系統的功能和消化吸收軟件在設計和應用上的知識體系,容易出現需求無法控制、功能重復開發、應用效率低、運維和移植成本高等實際困難。
2、企業軟件項目技術管理中遇到的問題
2.1 軟件需求定義模糊
軟件需求是整個軟件項目最關鍵的一個輸入,軟件需求具有模糊性、不確定性、變化性和主觀性的特點。軟件需求的提供人員普遍缺少軟件需求的必要知識,提出的需求定義不充分、不全面、不準確,導致在系統測試和運行階段會出現大量的需求變更,影響系統設計結構,造成補丁摞補丁的軟件程序。
2.2 項目參與者溝通強度不足
溝通不足常常是企業軟件項目成功的最大的威脅。軟件需求提出者在項目建設初期對信息化理念了解不深,表達不夠深入,提出的功能需求浮于日常工作表面。而企業軟件開發人員或外包商因為對業務了解不夠深刻,沒有有效的項目溝通計劃,無法充分考慮業務需求,不能對軟件系統給出規劃建議或細節,造成項目需求的余量規劃準備空間不足。
2.3 定制帶來的軟件自身內在的高復雜度
對于企業定制軟件的開發,由于生產業務自身的復雜度,導致了定制軟件的復雜度,特別是業務的組合,造成系統間和模塊之間耦合度較高。
2.4 文檔資料缺失,知識無法有效繼承
在軟件項目中,相對于項目進度和軟件開發,項目成員不太注重知識的收集和積累,僅能提供項目主要文檔資料,而這些資料往往沒有跟隨軟件變更進行及時更新。導致系統的使用、維護知識僅為少數開發和參與者掌握,無法將個人的隱形知識轉化為共享的顯性知識,給系統的后續升級、維護造成很大困難。
3、在企業軟件項目管理過程中的經驗
企業的定制軟件項目是用有限的資源、有限的時間根據特定的業務部門需求,優選各種技術和產品進行設計開發,將各個分離的“信息孤島”連接成為一個完整、可靠和有效的整體,并使之能彼此協調工作達到整體優化目的的工作。一個良好的企業項目軟件,成熟優秀的軟件項目管理是必不可少的。在軟件項目建設和全生命周期中,如要減少上述問題的發生,企業可以做好以下幾個方面:
3.1 強化軟件項目需求控制
在軟件項目管理范圍內,需求控制和管理是其中重要的一環,特別是對于針對企業自身生產經營流程所定制的軟件系統,需求貫穿了項目的整個生命周期。從企業走上ERP信息化道路之后,隨著員工對系統了解不斷加深和企業自身管理水平提升,很多因素都可能使軟件系統的需求不斷變化。如果不能有效處理需求變更,勢必會很大程度上增加開發和運維的壓力。
3.2 加強需求相關方參與項目的深度
不僅是在軟件項目初期需求收集和概要設計中,在整個軟件項目的生命周期內都必須強調項目需求相關方即業務部門的參與。由于軟件系統實施將改變企業員工的工作方式,因此,業務部門的管理者和將來的使用者必須在項目策劃階段就能了解系統應用對其工作方式帶來的影響,他們必須制定相應的政策、流程等以準備應對這個即將到來的變動。目前部分ERP項目之所以失敗,重要的一個原因是人們誤認為ERP項目僅是一個信息系統項目,該項目帶來的僅僅是一個信息產品。其實,ERP項目帶來的是一新的運營方式,如果企業在沒有做相應調整的情況下強行引入ERP,業務流程重組不到位,將會使企業運行的混亂速度加快。事實表明,促使軟件項目成功的最重要的要素莫過于需求相關方的全過程參與。
3.3 培養企業內復合型人才,擴展項目管理知識領域
企業定制軟件項目需要掌握項目管理技術、熟悉企業流程并對了解軟件開發關鍵技術的人員作為項目的管理者,首先要擴展企業內部軟件項目管理人員的知識面,一個高效的項目管理者來說至少要能理解和使用五方面的知識領域:
(1)項目管理知識體系;(2)應用領域的知識和標準;(3)項目環境知識;(4)通用管理知識技能(采購、合同、后勤、人事管理、安全等);(5)管理軟技能(處理人際關系技能)。
3.4 將項目溝通上升到技術和管理層次
由于企業內軟件從業人員較年輕,缺乏一些溝通、社交等方面的軟技能,習慣使用專業術語,更擅長跟機器打交道,所以在項目建設中會出現溝通不充分的情況。軟件項目溝通管理是軟件項目管理中的一個重要組成部分,可以使軟件人員和業務人員有效的建立彼此相互了解的關系,并且能通過溝通的行為和過程達成共識,可確保及時、正確的產生、收集、分發、存儲和最終處理項目信息。
軟件項目溝通管理包含三個主要內容:(1)編制溝通計劃,確定哪些人是項目干系人(項目干系人是指積極參與項目,或利益會受項目執行結果正面或負面影響的個體),分析他們對實施項目的影響程度。根據干系人信息需求的匯總進行溝通需求分析,對不同層次的項目干系人制定不同的溝通計劃。(2)以合適的方式向項目人員分發信息,一個企業的各個項目應該采取統一格式模板記錄信息以及進行傳遞,有助于信息格式標準化,降低溝通成本。(3)對項目溝通過程進行管理,改善軟件人員溝通的軟技巧,努力做到溝通內外有別,對外一致,一個團隊要一種聲音說話,采用對方能夠接受的溝通風格,注重非正式環境下溝通所獲得的信息,建立高效的會議方案,明確團隊內部思考方式等工作。
4、結語
軟件項目管理的發展像任何其他學科的發展一樣,其成長和發展需要有一個相對漫長的過程,而且是永無止盡的。只有不斷提升軟件項目管理成熟度,使企業軟件項目管理向多元化、專業化發展,才能取得項目的成功,最大的滿足企業自身向整體信息化轉型的需求。
參考文獻