爲企業軟件開發團隊插上隱形的翅膀

爲企業軟件開發團隊插上隱形的翅膀

     當今社會發展的狀況是企業對軟件系統的依賴是越來越強,十多年前我們企業中使用的軟件大部分只是財務系統、倉庫管理系統,而今進銷存、ERPOACRM、物流調度、客戶服務、IT服務、SPS。。。。通過軟件系統支撐的企業活動幾乎已經涉及到了企業活動的每個細節。這樣的情況下企業軟件開發團隊必然面臨了巨大的壓力,CIO們深深困惑的是IT需要怎樣的預算、如何保證各種系統的穩定運行、如何在需求越來越複雜的情況下提高開發效率、業務人員人事變動時如何做好系統培訓、企業經營策略發生變化時如何讓軟件系統快速適應新的經營策略。。。。。。

    傳統的軟件開發管理方法中需求分析、系統分析、系統設計、系統開發、系統測試、系統交付等按部就班的做法爲我們提供了穩定、可靠的開發管理策略,但實際情況下,這種模式更多時候像是隻駱駝,慢慢的行走、遲鈍的響應很難適應企業面臨的社會競爭需求及市場環境的變化,畢竟軟件是必須去支撐業務的,而不是讓業務等待軟件系統的。如何做到多、快、好、省這必然成爲CIO們必須思考並解決的一個問題。

    爲企業軟件開發團隊插上隱形的翅膀,一是管理創新營造高效率的團隊文化;二是技術創新設計企業應用水平解決方案快速響應企業應用需求的開發、維護;

一、管理創新營造高效率的團隊文化

1具有明確且有挑戰性的共同目標   一個具有明確的而且有挑戰性目標的團隊比目標不明確或不具有很大的挑戰性目標的團隊效率高得多,通常技術人員往往會因爲完成了某個明確的任務,而且這個任務的完成具有挑戰性的意義而感到自豪,反過來團隊成員爲了獲取這種自豪的感覺而更加積極的工作從而帶來團隊開發的高效率,如作爲系統設計人員很清楚的知道在什麼時候要做到什麼,什麼時候開始做,什麼時候必須完成,爲了完成工作必須面臨哪些挑戰,怎麼解決這些困難等爲設計出一個高質量的軟件項目提供了重要保證,而模模糊糊的去設計一個系統或模模糊糊的就去編寫代碼是非常危險的,而且會爲此付出高昂代價,因此高效的軟件開發團隊具有挑戰性的共同目標。

2團隊具有很強的凝聚力   在一個高效的軟件開發團隊中,成員們凝聚爲一個整體共同進行工作,他們是相互支持、互相交流、互相尊重的,而不是相互推卸責任、保守、相互指責的,在一些散亂的開發團隊中往往存在這樣的問題,一些程序員是比較保守的,明明知道另外的模塊中需要用到一段與自己已經編寫完成但有些難度的程序代碼,他也不願拿出來給其它程序員共享,不願與系統設計人員交流,這樣給項目的進度造成了些不可度量的因素。

3具有融洽的交流環境   在一個開發團隊中,每個人行使自己的職責,如需求分析人員制定需求規格說明、系統設計人員做系統概要設計和詳細設計、項目經理配置項目開發環境並且制定項目計劃等,但每個人的工作不可能做到完美的,如系統概要設計的文檔可能有個別地方詞不達意,做詳細設計的時候就可能會造成誤解,項目經理制定計劃時可能忽略了某種風險的存在而造成執行者過於緊張的壓力等等情況都需要大家通過交流、反饋的手段然後協商解決的,因此高效的軟件開發團隊是具有融洽的交流環境的,而不是那種簡單的命令執行式的。

4具有共同的工作規範和框架   高效軟件開發團隊具有規範性及共同框架的工作,對於項目管理具有規範的項目開發計劃,對於分析設計具有規範和統一框架的文檔及審評標準,對於代碼具有程序規範條例,對於測試有規範且可推理的測試計劃及測試報告等等。並且所有成員都明白自己的職責,知道必須完成什麼計劃?由誰來完成?什麼時候開始?什麼時候結束?按什麼順序?等,總之一個高效的開發團隊無論是工作內容還是工作流程都具有不同程度的規範性和標準風格的框架。

5採用合理的開發過程   軟件的開發不同於一般商品的研發和生產,開發過程中會面臨着各種難以預測的風險,比如需求的變化、人員的異動、技術的瓶頸、同行的競爭等,高效的軟件開發團隊往往是採用了合理的開發過程去控制開發過程中的風險、提高軟件的質量、降低開發費用,這樣的團隊會根據自身的必要程度決定要執行哪些工作?如配置管理、資源管理、版本控制、代碼控制等,團隊還合理的分劃並定義開發過程的里程碑,決定每項活動內容的底線和審評標準,決定各項活動的先後關係或迭代的關係等。總之高效的軟件開發團隊的開發過程的原則是高效率、高質量、低成本。

二、技術創新設計企業應用水平解決方案快速響應企業應用需求的開發、維護

1設計企業應用模型爲水平解決方案提供依據   技術人員往往容易一開始就容易陷入“先進”技術架構的陷阱,當掌握到某一個技術架構的時候才發現原來我們什麼也沒有做,其實軟件系統是爲企業應用服務的,因此採用或者設計一個解決方案之前必須分析企業應用模型,企業的目標是什麼、管理涉及的業務模塊有哪些、企業需要掌握哪些關鍵指標、企業的管理髮展模式是什麼等等,這些是一個企業產生到發展不是變化很快的部分、一般企業在組織結構、業務流程、權限管理方面變化比較快。因此分析和設計企業應用模型是爲企業提供水平解決方案的基礎。

2分析企業應用模型設計企業基礎軟件架構   當今環境下的高效軟件開發團隊已經不太有時間像以前設計一個系統一樣針對當個系統進行分析、設計、開發、維護了,因爲在企業用戶需要應用非常多的系統的時候,這種傳統的方式必定是會加大用戶的使用難度和維護難度的。軟件開發團隊必須分析企業應用模型去抽象、去設計企業的基礎軟件架構,比如建立統一的組織結構、權限管理模型爲各個系統進行統一的服務、統一的維護;設計客戶資料模塊爲各個系統提供數據服務;設計通知服務統一滿足企業各個應用系統郵件、短信、其它方式的通知功能。。。。。。設計一個系統的之前我們需要規劃好、用好這些基礎的公共模塊。

3選擇一個適應文化的工作流平臺去適應業務流程的變化

一個好的工作流引擎是把原來“已知”的需求當作“未知”、“可能”、“或許”的需求來設計的,對這些“非未知”的需求進行了“泛型”的歸納和抽象,從而利用OO編程思想中的一些設計模式設計出了合理、具擴展性又充分的業務處理接口,利用工作流平臺的功能或流程應用架構及開發這些接口的具體實現可以創造出各種與流程處理有關的應用系統,工作流引擎往往也是提供了流程控制檯,來設計具體的業務流程。當企業各種業務流程發生變化時不需要再次維護代碼,通過工具就可以調整,大大降低企業IT運維成本。

4建立一個企業應用軟件系統快速開發架構   從程序員的角度我們開發一個功能必定會用到非常多的基礎組件、這些組件跟具體業務無關、比如加密、編碼、日誌、郵件、字符串操作、SQL HELPER。。。。。。我們需要一個基礎的架構把這些模塊統一維護統一應用減少開發的工作量。

從開發維護的角度,我們的系統功能中會有很多功能點,比如選擇人員、選擇日期、樣式表等等,要做到易用性是需要做相當的代碼的,而且這些功能會在多個模塊中出現,需要快速開發架構統一管理和維護這些基礎控件,降低開發維護的工作量。

從應用軟件風格的角度,我們會開發很多的軟件系統,菜單、佈局、皮膚、事項、通知等如何實現個性化、同時又在開發新的系統中不再需要單獨開發、我們需要快速開發架構爲各個系統提供這些公共的功能。

從用戶應用習慣的角度,我們在使用各個系統的時候,統一的登錄、統一的待辦事項入口、統一的用戶配置是使用者最需要的,以往記住多套密碼,處理各項工作的時候要登陸多個系統已經讓軟件用戶感到了非常的難受,我們需要一個快速架構爲企業開發軟件系統提供這些基礎的功能。

5建立一個機制持續改善、積累重用的模式   通過開發管理的方法持續完善我們的基礎組件庫、控件庫、皮膚,爲快速開發架構提供更多可以重用的模塊,這樣可以讓我們的開發團隊開發和維護的效率更高。

爲企業軟件開發團隊插上這對隱形的翅膀,相信我們的團隊能做到多、快、好、省爲企業經營提供最好的服務,E8.Net工作流平臺爲企業應用開發提供了一個起點,幫助企業軟件開發團隊插上這對翅膀,歡迎訪問: http://www.feifanit.com.cn/productFlow.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章