從微軟的Windows桌面操作系統改變了用戶對計算機的使用方式以后,軟件業便進入了快速發展的黃金時期,毫無疑問,軟件成為了推動計算機網絡應用的最重要的源動力,在.com公司紛紛凋零的時候,作為計算機網絡的基礎-軟件行業卻逆流而上,得到越來越多的重視,各個發達國家都把軟件做為重點產業提到戰略的高度,而程序員作為軟件行業的最基本的細胞更成為了當今最熱門的職業之一。
你耐的住寂寞嗎?長夜孤燈相伴,絞盡腦汁苦思冥想。
你受的了壓力嗎?查不完殺不凈的BUG,永無止境的成熟和完美追求。
你承擔的起挫折嗎?也許費盡心血的開發一朝便成垃圾,走了多年之后才發現必須回到起點重新開始。
程序員,象一個個斗士,在數字和字符中掙扎,在激流中交換著不同的姿勢去順應變化,在曲折迂回的道路中尋找出路。
我國雖然在網絡門戶、電子商務的模仿借鑒和推動絲毫不亞于西方先進國家,但是在軟件項目管理及專業人才培養方面卻大大滯后,僅僅依靠簡單的密集勞動或一兩個數字英雄是不可能從真正意義上解決企業經營上的問題,除了市場成熟度不夠、贏利模式不明確以外,昂貴的經營成本、盲目的無效投資也加速了泡沫的破滅。如何組織好有效的開發小組,并且合理地開展工作已經引起了越來越多的經營者的思考,本文將就軟件項目小組的管理問題及程序員的出路進行簡要的分析,希望能與有志之士共同探討。
很多人把軟件開發人員想當然地認為就是程序員。的確,程序員,這個原本默默無聞地在后臺辛勤耕耘的角色隨著網絡的發展空前重要起來,微軟的比爾.蓋茨成了無數程序員的夢想,但程序員并不完全代表了軟件開發的全部,甚至可以說寫代碼僅僅是軟件開發中相對比較簡單的一小部分,要開發出成熟有效的產品,就必須要有一個有力的團隊共同協作,在一個成熟嚴密的項目體制中,需要很多角色擔任不同的分工和責任,這將很大程度決定了項目開發和管理的成熟度和成功的可能性。
軟件項目小組的角色分工
軟件項目小組大多是為實現一個特定的目標而成立的團隊,規模大小根據目標而定,從2個人到十幾人甚至幾十人、幾百人不等,但通常都在20人以下,這樣的小組集合了不同方面的專業人員,幾乎每個做過開發的人員都會遇到以下的問題:
項目無法按期完成,完成以后還要不斷修補完善,象一場噩夢遙遙無期;
項目進行當中人員流失,產品夭折;
客戶需求不斷改變,永遠對開發完成的產品不滿意;
開發成員之間矛盾不斷,互相抱怨,工程進展緩慢;
小組成員分工不均,工作分配失去平衡等等;
為了避免噩夢的再次發生,也許下面的一些建議對您會有所啟發和幫助:
在項目小組成立的時候,那么一定會有個項目負責人,我們稱之為組長或項目經理好了,一個項目的成功與否,項目經理是最關鍵的因素,古人云:一將無能,累死千軍,說的是一針見血。
項目經理根據需求制定出開發的目標,并選擇最合適的人員組成項目小組,一個比較完整的項目小組可能由以下表1列舉的角色組成,當然,有些角色是在項目小組成員比較少的情況下完全可能由一個人兼任,但不意味著這些角色可以輕易地忽略:
clearcase/" target="_blank" >cccccc height=30>
角色性質 |
角色分工 |
項目管理人員 |
|
系統分析人員 |
|
商務分析人員 |
|
交互設計人員 |
|
數據庫工程師 |
|
程序開發人員 |
|
質量控制人員 |
|
技術支持人員 |
|
系統管理人員 |
|
輔助設計人員 |
|
(表1)
軟件開發無疑是人的智力工作,所以選擇最適合的人員參與小組是項目經理最重要的工作,這里要注意的是選擇最合適的,而不一定是最優秀的或代價最昂貴的。
當小組人員落實的時候,開發前整個小組成員應該對以下的問題進行充分的討論,并形成一致的意見:
是否已經很清晰的理解了開發需求和目標,并使每個人員充滿斗志準備開始完成共同的目標?
是否制定了一套規范的、經過評測的、可復用的技術框架;
每個人的角色分工是不是都非常清楚地落實了?
是不是已經制定了開發過程中的周期劃分及評估辦法?而不是冒險等項目期限快到的時候才發現補牢已晚?
項目管理人員是否有隨時把握住開發進度的有效手段?
小組人員是否都互相認識而且熟悉了?
每個人是否都明白和他關聯的角色是誰,相互之間的工作流程?
是否忘了布置文檔的如何撰寫,如何管理了?
定義項目小組各種角色的工作流程
如果每個小組成員都對即將開始的開發心中有數并躍躍欲試的時候,那么這就是一個很好的開頭。
現在我們通過以下一份基本的角色及分工示例表2,把開發任務進行拆分,并定義每個角色的獲得、處理、輸出來表示各個角色之間的關聯:
原文轉自:http://www.anti-gravitydesign.com