?

淺談公有制企業中小型軟件團隊的項目管理實踐

2016-10-18 18:43翟惠良張曉藝
電腦知識與技術 2016年21期
關鍵詞:軟件工程質量管理

翟惠良+張曉藝

摘要:該文以筆者在實際工作中的項目經驗為基礎,結合軟件項目管理相關理論為指導,從開發人員管理、軟件質量管理、軟件配置管理三個方面探討了軟件項目管理知識在大型國有化工企業中的軟件項目管理工作中的應用。

關鍵詞:軟件項目管理;軟件工程;管理;質量

中圖分類號:TP311.5 文獻標識碼:A 文章編號:1009-3044(2016)21-0247-02

1 背景

隨著信息化進程在國有大型化工企業中的推進,越來越多的企業提出了針對自身特點的管理類應用軟件的需求。為了更好的完成這些軟件開發和應用推廣工作,各大企業紛紛組建具有自身管理特色的軟件開發隊伍。但是,由于國有企業在體制方面具有的天然特殊性,其內部的軟件隊伍在項目管理工作中無法完全照搬體制外軟件企業的管理制度和方法,所以,如何在企業中依據企業特色做好對企業內部軟件開發隊伍的項目管理工作就成了團隊管理者需要認真面對的新課題。

2 開發人員管理

國有大型企業較普通民營企業相比,存在諸多特殊性,如管理體制為公有制,資本運作方式單一,企業成立歷史較長等,但是,其管理特色與專業的軟件開發團隊的在理念上存在或多或少的相悖,因而在項目管理工作中是不能直接照搬體制外專業軟件隊伍的項目管理經驗和方法的。

在企業中建立軟件開發隊伍的首要問題,是如何使開發小組具有很強的凝聚力,從而使組內每個成員的優勢發揮出來,盡可能的做到高執行力,有效的服從管理人員的指揮,確保軟件開發質量。在筆者曾經參與的項目中,團隊開發人員是按照下文中的方式進行管理的。

2.1 劃分開發小組

想要在非IT企業內以其自身員工為團隊成員組建一支軟件開發隊伍是非常困難的,因為,專業軟件團隊的成員一般具有如下幾個特點:

1)計算機相關專業畢業;

2)具有良好的計算理論和應用素養;

3)擁有足夠的代碼開發技能;

4)精力充沛,富有創造激情。

因此,依據軟件項目管理中團隊組成的基本理論,可以在團隊建設的初期僅建立一個或數個軟件開發小組。一般情況下,小組具有如下幾點特征[1]:

1)至少有兩個人;

2)他們具有相似的特長或技能優勢;

3)他們為一個共同的目標或任務而工作;

4)每個人都被分配了一定的角色或職責。

這里有一點需要注意:整個小組的規模是影響小組效率的一個重要因素,另外,小組成員的技術高低搭配也是人員管理中非常重要的一環。所以,在企業中“科班”出身的職工少之又少的情況下,一定要確保每組成員中配有1到2名計算機專業“科班”出身的職工。之所以做這樣的人員搭配,首要原因是需要團隊之間在進行技術溝通時,受過專業理論及技術培訓的人員可以更快進入角色,技術交流障礙少,另外一個更加重要的原因則是可以沿襲大型企業特有的“師帶徒”傳統,一個“科班”出身的職工帶一名到數名不等的徒弟,傳授技能知識和或引導徒弟自主學習,從而更快更好的培養團隊需要的軟件技術人員。

2.2 小組成員的角色及分工

在確立了小組的人員搭配之后,要做的第一件事情就是明確人員責任。在TSP(Team Software Process,團隊軟件過程)軟件隊伍管理理念中,將開發小組分成了包括小組組長、開發經理、計劃經理、質量/生產經理和技術支持經理在內的5種不同角色[2]。然而,由于國有企業較專業的軟件開發企業具有管理上的特殊性,因而在人員責任分配方面就不能夠按照上述職責劃分建立角色,就筆者的從業經歷來看,在大型國有非IT企業中建立軟件開發小組時,可以將開發人員分成以下幾種角色:軟件組長、開發副組長、系統副組長、執行組員。

2.2.1 軟件組長

軟件組長是團隊中領受和執行工作任務的管理樞紐,通常情況下,這個人需要非常清楚團隊中每個成員的技能優勢和專業特色;在任務分塊和分派過程中,能夠將工作任務精準的分發到最適合的人選手中;能夠通過有規律的開發小組會議獲取各成員的工作量和工作質量信息;完善項目的工作報告等。

2.2.2 開發副組長

開發副組長在團隊任務的執行過程中起到的作用不可或缺,TA需要帶領團隊成員協助組長制定項目執行計劃;完成項目管理過程中各工作塊的實際任務;對項目各進度進行全程跟蹤等等。

2.2.3 系統副組長

負責軟件開發的環境搭建,數據庫維護,服務器維護,其技術經驗最為豐富,適當情況下可加入開發組參與項目開發工作。

2.2.4 執行組員

每個小組的組員是項目計劃有效執行的基石;項目進行過程的最直接參與者;團隊管理中各標準和規章制度的執行有效性的最直接檢驗者;可兼任小組會議的記錄者。

這里需要說明一點,依據筆者經驗,由于種種原因造成了企業內軟件部門的管理人員和軟件需求的提出者有可能不是軟件學習的專業人員出身,其對于項目情況的決策能力嘗嘗脫離開發人員能力實際,所以,在組建軟件隊伍時,所挑選的基層管理人員首先應該具有的并非是強大的技術實力,而更應該是極其良好的人際交流和溝通能力。

2.3 成員管理

2.3.1 監督小組成員完成分內工作任務

監督的具體內容包括自查和互查。自查工作在團隊成員中各自展開,團隊中的各組長以小組會的形式將成員召集起來,小組會議的內容包括工作的完成情況、工作中遇到的具體困難,需要團隊成員合作攻關的關鍵點等。在互查工作中,由團隊中執行不同角色的組員互換各自的工作內容,依據各自的工作計劃,逐條逐項進行工作互查。

2.3.2 團隊成員的有效溝通非常重要

在項目的進度時間表上,需要定期安排團隊成員進行工作交流,上文提到的自查與互查便是會議的其中兩項內容。在團隊會議上,可采取技能培訓等方式,提高團隊成員的技術水平,使其在隨后的開發工作中具有更好的工作能力,從而可以推動項目的有效進展。

3 軟件配置管理

軟件配置管理(Software Configuration Management)是協調軟件開發工作中軟件使用和進度控制最為有效的工具方法之一,可以有效減小軟件進度的混亂程度,作為一種標識、控制和管理軟件變更的技術,更可以使錯誤達到最小并最有效地提高軟件項目管理效率[5]。

3.1 進行軟件配置的原因

首先要探討的是筆者在企業項目管理工作中遭遇到的一些實際問題:

1)潛在用戶的功能需求不穩定;

2)人員技術素質參差不齊,人員開發習慣存在較大差別;

3)軟件的規模越來越大;

4)軟件的重用性需要提高;

5)軟件的維護越來越困難;

6)團隊的直屬領導需求或想法脫離實際。

面對這些問題,尋求有效的團隊管理策略往往不夠,還需要有效的代碼管理工具和良好的項目版本迭代工具來幫助團隊溝通和交流。

依據筆者的項目從業經驗,使用.net作為開發平臺的同時,使用微軟公司出品的TFS(team foundation server)作為團隊項目管理(包括版本管理、進度管理等)的軟件工具。該軟件可作為Visual Studio Team System (VSTS) 在服務器端后端平臺。TFS常用以下幾個部分:

1)團隊基礎服務器;

2)程式開發應用;

3)解決方案構架;

4)開發工具中文服務器。

4 軟件質量管理

隨著項目進行的逐漸深入,其任何一次質量問題的修改成本都都會大幅增加,對于軟件團隊來說,僅僅是軟件質量測試工作不足以對軟件質量的全程做到有效控制,還需要項目管理人員對團隊進行更完善的軟件質量管理。

4.1 制定并執行適度的開發規范

在開發小組建立之初,在缺乏軟件開發規范時,整個團隊的開發人員因技術能力,專業素養的不同,在開發工作中將缺乏統一的規范。

4.2 制定規范的開發文檔

軟件開發文檔是對整個開發過程的記錄和說明[4]。相較于軟件的實體,其開發文檔更像是軟件的形成過程中的地圖,軟件日后的升級、維護、和修改工作以及用戶的使用,均需要查閱相關的開發文檔。尤其在公有制企業內部,在評價一個部門的工作是否到位時,往往考量的不是整個團隊的工作質量,所產出軟件的可操作性等諸多影響因素,而是這個團隊是否有非常符合規范的工作文檔,因而在筆者的從業經歷中,的確有部門管理人員把團隊是否有完整規范的軟件開發文檔作為衡量軟件過程質量的一個重要標準,由此看來,開發文檔在小團隊管理中具有非同一般的重要地位。

4.3 軟件評審

軟件的生命周期一般可以分為:需求分析、軟件設計、軟件實現、軟件測試、安裝維護等階段[4]。但是,軟件的評審工作滲透于軟件生命周期的各階段。評審工作首先是盡可能的發現軟件在功能和邏輯方面的存在的錯誤,其次要通過評審驗證軟件的需求,并且還需要確認已獲得的產出是以合理的方式開發的。

在筆者的實際工作經驗中,評審會議的相關內容是如下情況:

1)與會專家為團隊的直接主管領導和用戶方業務專家;

2)具體評審內容由項目的組長和副組長擬定,并交由主管領導審閱批準;

3)評審會當天由開發小組對提交的評審報告進行講解;

4)與會的評審委員在團隊成員完成項目報告后,提出其發現的關鍵問題;

5)評審專家依據評審情況作出總結,開發副組長再將修改后的結果反饋至軟件組長,軟件組長在查看并驗證功能已經修改后,再將結果反饋給評審組,以準備下次評審。

4.4 軟件測試

通常,軟件生命周期中的測試工作的完整內容包括單元測試、模塊測試、集成測試和系統測試,在這一方面,非IT企業中的小型開發團隊也是可以照搬專業團隊的管理方法的,所以,在測試過程中將產生下述基本文檔[3]:

1)測試計劃:確定測試范圍、方法、和需要的資源等;

2)測試過程:依據測試計劃對測試的每一階段和希望產生的對比性結果做詳實的描述;

3)測試結果:按照測試過程完成的測試,結果存在差異的,需要做好對比記錄,并且必須經過調試以解決所發現的問題。

5 結束語

國有大型企業因種種原因造成了其旗下的小型軟件開發團隊在實際項目管理中不能夠完全照搬專業軟件團隊的項目管理辦法,但在其實際的項目管理工作中依然需要應用到軟件項目管理方面的知識,這對于由實際管理工作脫胎而出的項目管理相關理論的發展具有非常重要的意義。另外,在團隊成員的激勵方面,筆者并沒有展開描述,但是在這一方面企業中的小團隊管理依然具有獨到之處,能夠有效的管理一個公有制企業下的小型軟件團隊需要的不僅僅是管理理論和項目經驗,更需要對于該企業獨特管理特色的把控和良好的人際交流能力,然而在實際操作中,后者更為重要。

參考文獻:

[1] Humphrey W S.小組軟件開發過程[M]. 袁昱, 譯. 北京: 人民郵電出版社, 2000.

[2] 張聚禮. 軟件項目管理[M]. 西安: 西安電子科技大學出版社, 2014.

[3] 黎連生, 王華, 李淑春. 軟件測試與測試技術[M]. 北京: 清華大學出版社, 2009.

[4] 倪子偉. 軟件開發過程[M] .北京: 高等教育出版社,2004.

[5] 王仲濤, 嚴俊, 趙耀. 對軟件項目管理的初步探討[J]. 船海工程, 2001(S2): 106-109.

猜你喜歡
軟件工程質量管理
棗前期管理再好,后期管不好,前功盡棄
做夢導致睡眠質量差嗎
關于如何創新和完善計算機軟件工程管理的探討
質量投訴超六成
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合