蔡霞
摘要:目前,中小型軟件公司是國內軟件公司的主力軍,人員、經費、技術等不足是其痛點所在。本文闡述了現在中小型軟件公司的現狀以及基于SDLC的中小型軟件公司項目團隊管理模式。
關鍵詞:軟件公司;軟件項目;管理模式
中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2018)28-0232-02
對于當今國內大多數中小型軟件公司而言,由于公司創辦的時間短、規模不大、投資者分散且業務量不足,這些公司的管理模式使這些中小型軟件公司的管理水平處于相對較低的水平。特別是在軟件項目開發管理中,項目團隊的人員配置與制度管理、崗位職責與分工、溝通協調與決策流程都存在這樣那樣的實際問題。中小型軟件公司需要根據自身特點和項目條件進行人員配置與分工,科學規范制度管理,扮演好項目經理、系統分析員、系統架構師、軟件設計師、程序員、軟件審閱者和實施者之間的角色,并協調內外部的關系。為了確保軟件項目在開發過程中的可靠性、連續性和一致性,優良的項目團隊管理不僅可以按時、保質保量完成項目開發的既定任務,還可以滿足基于過程控制的客戶質量要求,有助于建立長期合作伙伴關系。
1 中小型軟件公司現狀與項目管理概述
軟件開發實踐表明,國內的IT行業有著強烈的自營職業欲望和獨創驅動力,正是這一行業背景和實際情況,促生了一系列中小型軟件公司參與市場競爭、服務與IT行業的方方面面,在不同領域產生了應有的價值貢獻和獲得了一定的生存空間。但是,經過多年的行業發展與市場演變,大量中小軟件公司的存在,造成了國內IT產業高度分散、整體效率低下等實際問題。此外,在全球一體化面前,大量跨國IT公司逐漸涌入國內,無論以哪種方式參與國內市場競爭獲得收益,都有助于我國IT產業的創新發展,更有助于推動國內IT工程師不斷積累大型IT項目經驗和提高高端IT產品的開發能力。當然,這對國內中小軟件企業生存的影響也是巨大的,讓中小軟件企業不得不思考自身的運作模式和項目管理的最優化。
在競爭日益激烈的形勢下,國內和國外中小型軟件公司,具有一些新的功能和特征。比如:1)中小型軟件公司的產品和技術是具有行業性和獨特性的,能夠深入了解行業或領域并提供解決方案,且報價優勢明顯,成本控制容易。但是,中小型軟件企業的技術是短期的、非核心的,不能快速產生市場規模和經濟效益。無論公司規模或產品規模如何,中小型軟件公司與國內外大型IT公司存在巨大差距。2)中小型軟件企業的項目管理范圍廣泛性、隨機性強。IT行業有許多標準,包括ISO2000質量規范,CMM開發規范和ITIL等IT服務規范。對于具有廣泛管理和隨機性的中小型軟件公司,會對軟件開發業務、項目開發管理、技術支持、維護和服務產生一定的影響,因為不嚴格參照標準而進行的軟件開發,給后續維護和系統升級都會帶來一定的麻煩。3)中小軟件企業的人力資源流動性高,團隊管理難度較大。首先,人才流動大是目前中小軟件公司的通病,由于IT公司普遍很小、薪資待遇不高,一些有經驗的開發人員、項目管理人員在遇到好的機會的條件下,很容易跳槽或者分流到更大的公司去。毛繼業教授在《2007年中國軟件自主創新報告》中指出:IT公司沒有別的資源,就是人力成本。一旦不能獲得一流的人才,主要是留不住人才,出現人才流失便會限制公司的規模和進一步發展。這在一定程度上已經成為一種連鎖反應,使得大多數中小型軟件公司的可持續發展能力非常有限、市場存活能力較弱。
以上問題的解決,通過良好的項目團隊管理來解決是一個很好的途徑。對于以軟件開發為主體的中小型軟件公司而言,項目管理能力直接反映了其管理水平、技術軟件開發能力,反映了公司的人員技能素質和管理的整合程度。
2 基于SDLC的中小型軟件公司項目團隊管理模式
2.1 軟件開發生命周期(SDLC)概述
生命周期理論運用于軟件開發領域是很顯效的,也表明了軟件開發過程具有一定的周期性特征。有人提出,軟件開發生命周期是軟件生成直到報廢或停止使用的生命周期。主要包括問題(需求)定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到報廢等生命階段。每個階段在實際中都會不斷迭代。而中小型軟件公司在軟件開發過程中,由于時間、人力資源有限,為了更好地保質保量地完成開發,可以把SDLC簡化成四個階段,即:需求分析階段、軟件開發階段、系統部署階段、系統維護階段。這樣劃分,可以將一些環節歸并,通過與用戶地不斷溝通,強化需求分析階段,項目經理的重點就是抓住該階段,從而使整個項目有個良好的開端。
2.2 基于SDLC的項目團隊人員配置
在項目團隊中,每個人都有自己的優勢和劣勢。有些人擅長于用戶溝通,對用戶的意圖可以很好地了解,所以,這些人就可以擔任需求分析師,將用戶需求整理出來;有些人有大量的開發經驗,知識體系也很完善,這些人可以作為系統架構師,將用戶需求轉變為軟件需求,并完成設計文檔;開發人員有的比較擅長后臺開發,有的比較擅長前臺開發,有的則對移動端比較熟悉,因此這些人可以對各自擅長的進行開發。俗話說,好鋼用在刀刃上,將團隊成員安排在自己最合適的位置,可以大大提高項目進度。
2.3 項目團隊角色、崗位職責劃分
任何一個軟件開發的整個過程,包括獲取用戶需求,將用戶需求轉化為軟件的需求,設計軟件原型、數據庫,開發編碼,測試和配置管理等階段。這些階段的任務將分配給項目團隊中不同的成員。這樣,所有成員都有清晰的目標,知道自己在各個階段所需要完成的任務。當然,由于每個成員的知識體系和擅長領域不太一樣,一個成員可以參與多個階段,形成相關的標準角色崗位責任矩陣。
在實際項目中,要考慮到軟件項目的復雜度及現有人力資源的情況,項目人員和職責可以靈活組合和調整,主要由項目經理負責,至于需要組合、增加或減少項目團隊中的相關角色和職位,在1 + 2和1 + 4的基礎上形成1 + 1或1 + 3的組合,確保人員的最佳組合,不僅可以完成高質量的開發任務,還可以在多項目的情況下最大限度地利用公司的人力資源,這兩種主要的人員配置模式都具有一定的積極意義和優勢。
2.3.1 “1”+“1+1+1+1”配置模式
當開發的軟件規模比較小,或者人力資源不足,只有3到5名項目成員時,需要以項目經理為核心,項目經理必須是技術出身,有大量的軟件開發和團隊管理經驗,而項目團隊的其他成員只是輔助人員、按照職責和分工不同,完成既定的目標任務。例如:負責初步協作項目經理研究和以后維護工作的維護人員,負責軟件開發和預先設計的項目經理實施的軟件開發人員等。該模型可由項目經理全局查看,并負責軟件開發生命周期(SDLC)四個階段中的大多數階段。此時,項目經理負有最廣泛的責任,項目管理工作包括:1)設定產品目標和為每項工作制定詳細的任務計劃、跟蹤這些任務的執行情況并進行控制,組織會議以審查程序并整合特定情況。2)進行權衡并就各種選項做出決策,協調每個項目參與者之間的關系,并收集每個階段的問題跟蹤記錄的統計數據和摘要。3)及時處理項目過程中的問題,軟件開發每個周期的質量控制,確保軟件開發的進度和質量。4)對參與開發的各個人員進行綜合考評和績效管理,確保團隊人員保質保量完成目標任務,同時進行必要的獎懲來督促軟件項目開發過程中的品質。
在某一軟件項目開發中,技術開發方面的工作,主要包括需求研究、系統設計、編程和測試等重大任務。因此,在項目團隊管理過程中,對項目經理的業務能力、技術素質和溝通管理技能等,都有很高的要求。
2.3.2 “1”+“1+2+2+1”配置模式
對于具有一定規模和實力的中小型IT公司來說,項目經理可以跳出技術范圍而不參與模塊設計和編碼活動。相反,重點是項目進度表的控制和質量保證,主要負責軟件開發和實施工作。項目經理一般具有較強的技術能力、決策能力,項目經理可以對項目中使用的一些新技術進行考量,解決項目中的一些難題。項目經理還應該檢查計劃設計開發人員的代碼,并確認項目團隊成員的規范性,性能和不良重用問題的結果,并寫入到項目開發規范中,形成日后檢測、測試和維護的報告。
在這種模式下,項目經理專注于項目管理和與客戶的溝通。主要任務是:1)整體把控開發進度。重點是負責整個開發過程,包括進一步分解項目經理確定的任務,以及后續增量和迭代計劃的安排,從宏觀把控開發的整體品質和過程管理。2)僅僅參與討論和審核。在開發之外,騰出時間進行項目的團隊管理,可以更好地跟蹤和協調開發過程,項目經理專注于項目開發過程,可避免與外部利益相關者的過度溝通和協調,耽誤開發進程。3)專注測試和結果考察。當項目團隊發展到5-10人,項目中的測試工作就必須由測試人員完成,通用測試儀的配置比為4-6,開發人員需要配置1個全職測試儀,測試人員站在第三方和模擬用戶的角度進行系統測試,能更好地發現系統錯誤和相關問題,有效保證系統質量,減少或避免漏洞。
3 結語
本文介紹了IT行業發展中,中小型軟件公司面臨的現狀與項目管理的問題,論述探討了基于軟件開發生命周期(SDLC)下,國內中小型軟件公司項目團隊管理的模式,主要是:基于SDLC的項目團隊人員配置;如何進行項目團隊角色、崗位職責劃分,包括“1”+“1+1+1+1”配置模式、“1”+“1+2+2+1”配置模式。中小型軟件公司探索符合自身需求的項目團隊管理模式,可以為自身參與IT市場競爭獲得更大的發展空間,也可以不斷壯大國內軟件行業技術管理、團隊管理、開發能力等方面發展的力量。
參考文獻:
[1] 毛繼業. 2007年中國軟件自主創新報告.
[2] 王素芬. 軟件工程與項目管理[M]. 西安: 電子科技大學出版社, 2010.
[3] 覃征, 徐文華, 韓毅, 唐晶. 軟件項目管理(第2版)[M]. 北京: 清華大學出版社, 2009.
[4] [美]米奇 W. 蒙托, 羅恩.利克蒂. 趙普明, 黃倩, 張維維, 錢昊(譯). 告別失控:軟件開發團隊管理必讀[M].北京: 人民郵電出版社, 2016.
【通聯編輯:張薇】