如何提升團隊協做效率架構
------經過合理的團隊組合提升團隊協做效率工具
1 引言測試
從進入軟業件行業開始我就認爲該行業是一個不同凡響的行業,與高科技華麗詞彙的外表相對比的是軟件項目的高失敗率。這些年間,我經歷了簡單的信息管理系統項目、臃腫的ERP系統項目、奇怪的辦公自動化系統項目、複雜的引擎類系統項目後,我一直抱着"懷疑與否認"的心態嘗試着各類方法,試圖的在我認知範圍內獲得最佳實踐和方法。在這個過程當中經歷了很多失敗與思惟的昇華。 軟件的高失敗率是業內人士廣爲頭疼的問題。也說明了爲何咱們用從傳統行業中學到的項目管理方法來管理軟件項目不是那麼有效。但我認爲每一個行業都有它的特殊性,軟件行業就是軟件行業,它和其餘行業是不能類比的和方法套用。我須要正視這種特殊性,咱們須要撥開混沌的迷霧。布魯克斯的「沒有銀彈論"是真實的,讓我對抱以懷疑與否認的心態去使用這些方法,直到找到軟件項目真正的規律。因此我認爲軟件開發的高效率和成功的關鍵在於團隊成員能力、以及團隊組合的合理性。優化
2 優秀團隊與高效協做是成功軟件的源動力spa
軟件行業與傳統行業相比有着很是的明顯的不一樣。製造或建築行業等屬勞動密集行業,他們有大量的材料、設備等成本而人力成本只佔產品的很小的一部分,因此由人形成的影響相對較小。而軟件行業則屬於知識密集型行業,軟件項目徹底是智力產物,大量的不可見成果,軟件項目70%以上是人力成本, 因此說團隊在整個軟件項目生命期起着很是關鍵的因素,那麼團隊成員的能力和協做效率天然形象了軟件進度和成敗。在這裏要探討的是如何在有限的資金下創建相對優秀的團隊來高效率的完成軟件項目。設計
優秀團隊的定義排序
優秀團隊的定義應該是個相對概念,是應該放在某個上下文中來談的。優秀不是團隊每一個人都是優秀人才,而是針對當前公司資源狀況和將要完成的項目類型來創建相對優化的團隊組合,即這個優秀團隊指定的是團隊組合的優秀。這就比如《西遊記》中的「唐僧團隊」,團隊中並非每一個人都是孫悟空,同時咱們並不要求「唐僧團隊」能完成任何項目,但對於「取經」這個項目他們是最優秀的就好了。這裏將引出我會在後邊將要闡述的概念「組建合理的團隊」。項目管理
3 組建合理的團隊資源
設計項目組結構時咱們不能照搬別人的經驗,應該充分考慮所面對項目的規模,項目的類型,人員的素質,公司環境等因素,而且在實踐中逐步讓它運行良好。說到這裏我要說明的是即便在同一個公司裏不一樣的項目類型也應採用不一樣設計的團隊結構,除非公司的每一個項目都很是的類似,不然極易出現團隊協調上的問題。開發
組織團隊是首先咱們應該明確軟件團隊的責任制的問題。在軟件項目中有兩個角色(注意這裏指的是角色而不是職位和人)。一個角色對項目管理過程(成本,時間,範圍)負責即項目管理者,另外一個對產品(功能,技術,結構)自己負責即架構師。在《人月神話》一書中對此詳細的分析後提出三種方式:
l 項目管理者,架構師由一我的擔任的負責方式
在項目團隊規模較小時,1-5人這個範圍中通常採用負責方式,由於團隊較小,協調適宜相對較少,那麼由一我的徹底能夠勝任。 不少長遠的科研項目一樣適用這樣的方式,該項目的目標方向具備不明確性以及高技術風險那麼對研究方向專業知識的豐富將很大程度影響項目的成敗,那麼不少時候採用某專家領導科研小組的方式進行研究。
l 架構師爲主,項目管理者爲輔的項目負責方式即架構師負責制。
在項目團隊規模在6-25人時通常能夠採用這種負責方式,這種團隊規模理論上仍無需專門的項目經理,但隨着項目成員的增多,會使架構師分心,那麼爲其配備一位項目助理來整理質料、計劃排序、分析成本、應付客戶徹底能夠最高效的發揮團隊的潛力。該種方式即<人月神話>推崇的手術醫生式的團隊。 電影拍攝中導演也是典型的這樣的角色(製片人、監製屬於高層經理)
l 項目管理者爲主,架構師爲輔的項目負責方式即項目經理負責制
當團隊規模在25人以上是那麼資源協調類的工做將以成倍增長,同時人員的協做、資源調配、客戶關係、溝通等方面將成爲影響團隊的核心因素那麼專門的項目經理則顯得尤其重要,而產品設計以及技術責任方面的將由他的架構師負責。 大型應用項目,產品開發,大型系統集成項目,特別是涉衆多,涉及領域廣,多個企業合做的狀況均採用這種方式。工程建築是項目經理制的最佳體現。 同時這也是在國內最濫用的組織方式。
肯定了責任制後,那麼咱們應該要明確團隊成員有哪些角色,在通常狀況下一個完整的軟件團隊有以下角色:項目管理者,架構師,功能設計師,程序設計師,測試工程師,軟件配置管理人員,文檔支持人員,技術支持人員,產品發佈人員,這些角色能夠剪裁也能夠合併,也能夠另設某類角色的組長。各類角色映射爲哪些職位以及怎樣一種協做方式,這樣看不一樣組織的設計了,在這裏就不做一一列舉了。但在這裏要強調的是在軟件項目中明確架構師的職責是很是重要的,架構師保證了軟件功能和技術的一致性,這是致使項目成敗的一個不可忽視的重要因素。
4 把合理變爲優秀
何謂優秀,優秀既是很是的好,超出了咱們的預期。合理的團隊組建好後這僅僅是有了基礎,要把合理變爲優秀還有很長一段路要走。團隊創建初級必然會有一段混亂的階段,這稱爲磨合期,在團隊領頭人的正確帶領下,團隊會很快通過這個階段,成員之間會造成必定的默契,使得項目工做能很好的推動。做爲團隊領導人趕忙要作的是創建團隊榮譽感如製做統一體恤,團隊代號,團隊做戰室等,使團隊每一個人產生歸團隊屬感。在整個團隊成長的期間除賞罰分明外,須要領導者親臨親爲營造一種平等的討論氛圍。讓每一個人都勇於說出本身的見解。無論對錯團隊領導者都要給勇於說話的成員給與鼓勵。不要認爲在會議桌上放點零食很差的,這偏偏是讓團隊成員放鬆警戒而信任對方的好辦法。用一切資源鼓勵敢想敢作且取得成功的人,同時對於失敗者也要接受,但必須讓他總結失敗。記得在緊張工做以後按期組織你的團隊進行戶外活動是很是必要的。在這些都作得很是好的狀況下不要忘了時刻提醒你得團隊什麼是大家真正的目標。說服你的高層讓你得團隊成員盡力的固定,哪怕是更換項目。慢慢的在你細心領導下你會擁有一支優秀的團隊。但要切忌的是,在發展中的企業裏,或則強人並非很是多的企業裏請謹慎對待末位淘汰制,使用不當將使你的團隊完全崩潰。
5 合理的職位與職稱體系
合理的職位與職稱對團隊成員職業素質的確定和尊重。職位與職稱會給成員帶來成就感與認同感,讓其對職業發展方向由明確的期待。說到職位、職稱、職位稱呼,目前國內應該是混亂的,毫無章法可言,特別是系統集成企業,並且不少企業根本就不重視,或者沒有意識到其重要性。目前國內管理性職位還稍微好點,技術性職位基本上就沒有明確的體現級差職位與職稱體系。若是項目組有足夠梯隊那麼考慮在項目團隊中創建適當的職位與職稱來體現對成員的承認以及對其職責的督促是很是有效的。如項目組中設立首席程序設計師或是首席架構師,或者大點的程序開發團隊設置程序設計師組長、程序技術指導等職位是很是有必要的,這樣的層級技術職位關係會確立技術人員的發展路線,同時使項目之前不可見的技術層面問題變得顯性而受控。那麼職稱是什麼呢?職稱是描述成員在某個分工領域上的專業水平的等級,如助理程序設計師,程序設計師,高級程序設計師,資深程序設計師,項目經理,高級項目經理,資深程序設計師。職稱工具的正確應用使成員能夠在項目組中明確本身處於那種層次,管理者能夠以此勉勵成員的在專業水平上的提升。準確職稱定義在項目中還能夠用識別解決某個問題的有效資源。好比一個新項目立項時,傳統的方法是籠統地估算人天認爲有足夠的人員能夠完成項目,而真正到項目開發中卻發現公司安排的人根本沒法勝任項目的難度,而在有良好的職稱體系下,項目負責人能夠根據項目的難度較快的分析出須要各類水平的人才各是多少快速估算預算,同時根據公司的儲備狀況能夠在項目啓動前發現資源風險,同時人力資源部門能夠迅速根據缺口組織符合要求的人員。要注意的是職位與職稱之間是有關聯性的,好比首席程序設計師必須高級程序設計師以上才能勝任,大型產品的產品經理必需要資深項目經理才能勝任。因此利用合理的職位與職稱有助於你的團隊能健康的向上成長。
6 結束語
前面的闡述代表,合理組成是團隊高效協做的基礎。首先,團隊人員組織和成就方面的問題解決了,內因解決了,天然每一個人積極性也提升了,積極性提升了效率也就提升了;其次,團隊組織結構和職責設計原則是儘可能避免政治因素對團隊的影響,團隊協力增強1+1>2,效率會大幅提升。最後,經過優秀的人、組件合理的團隊、配合好的管理制度團隊的效率也就天然提升了。當團隊問題解決了,軟件項目的成功率也會大幅提高。
做者: 蔡春茂 2013-7-24