4、合理安排人手。
通常在我們面臨最后期限的壓力時,第一想到的是加班,然后閃入腦海中的念頭則是增加人手。加班策略素來為我所唾棄。以每人每日的生產(chǎn)效率來看,雖然加班可以延長工作時間,但長期的過度疲勞必然會降低生產(chǎn)效率,如此以時間換來低下的效率與團隊成員的抱怨,完全得不償失。在長期積怨的情況之下,開發(fā)人員會產(chǎn)生一種破罐子破摔的思想,心里認為反正都要加班,那么在正常上班情況下,反而會“磨洋工”,敷衍搪塞項目經(jīng)理安排的工作。那么增加人手呢?且不說這會增加項目成本,我們還要考慮團隊的新兵需要多長時間才能上戰(zhàn)場?業(yè)務(wù)培訓(xùn)、團隊磨合是新增成員必然存在的兩大痼疾。如果沒有處理好這兩個問題,不僅不能提高開發(fā)進度,反而會有拖慢或者打亂原有開發(fā)節(jié)奏的危險。另外,如果添加的新手不幸是一個刺頭或者“害群之馬” 呢?需要明確的是,往往在項目經(jīng)理提出增加人手的情況下,項目經(jīng)理并沒有親自挑選新成員的權(quán)利。這些新成員要么是閑置的,要么是其他團隊轉(zhuǎn)過來的,要么是新招聘的。考慮前面兩種情況,你覺得這樣的成員能夠達到及格乃至于優(yōu)秀的幾率會有多大呢?如果是新招聘的,那么拜托,趕快在心里多念幾遍“菩薩保佑”吧。
總體而言,如果項目經(jīng)理沒有挑選新成員的權(quán)利,最佳的選擇是非到萬不得已不要添加成員。所謂“萬不得已”,即是無論如何改進,如何協(xié)商,如何提高效率,都無法達成既定目標的情況。
兵貴在精而不在于多。關(guān)鍵在于知人善用,以及合理調(diào)度。一個項目經(jīng)理在組建自己的團隊時,必須要了解自己成員的人格特點與技術(shù)特點。在理想狀態(tài)下,如果項目經(jīng)理具有挑選成員的權(quán)利,會具有更大的成功率。
如果項目過大,那么必須建立層級式的組織架構(gòu),而在劃分出的各個小組中,卻應(yīng)該以扁平的平等架構(gòu)為最佳。這樣就能夠自由而不失于集中,平等而又不至于缺乏效力。當然,具體的組織架構(gòu)應(yīng)依據(jù)企業(yè)文化、產(chǎn)品性質(zhì)、開發(fā)規(guī)模、團隊成員特點等各個因素綜合考慮,不能死搬硬套。在安排人手時,要注意對技能型人才和管理型人才的使用,注意對領(lǐng)域?qū)<液拖到y(tǒng)架構(gòu)師的使用,注意對開發(fā)人員和測試人員的使用,注意對編檔人員、QA、配置管理員的使用。此外,還需要養(yǎng)成從容不迫的心理,即使最終期限火燒眉毛,迫在眉睫,仍然要保證對架構(gòu)的設(shè)計、對編碼的測試以及合理考慮產(chǎn)品性能、可用性和產(chǎn)品質(zhì)量。
5、開發(fā)環(huán)境的保護與基礎(chǔ)設(shè)施的維護。
兵家云:天時、地利、人和。沒有一個好的開發(fā)環(huán)境,很難想象開發(fā)人員能夠高效率的工作。開發(fā)環(huán)境必須是相對獨立,又利于交流與溝通的工作室。具體的說,項目組的工作環(huán)境必須拒絕項目無關(guān)人員的干擾與破壞,但卻無阻于項目成員,特別是同一小組成員的交流。此外,會議室的數(shù)量非常重要。我在管理一個項目時,竟然常常為尋找會議室而東奔西走,將大量的時間浪費在會議準備上。此外,服務(wù)器、客戶機、網(wǎng)絡(luò)、打印機、白板、卡片,以及開發(fā)工具和軟件,例如IDE開發(fā)環(huán)境、版本控制工具、Bug管理工具等,都需要在團隊建立之初就要準備好。對于計算機、網(wǎng)絡(luò)和相關(guān)工具,則必須保證在項目開發(fā)期間的穩(wěn)定性、暢通性。我曾經(jīng)在項目開發(fā)中,因為網(wǎng)絡(luò)中斷、病毒侵襲以及服務(wù)器壞掉從而破壞了SVN的版本管理等諸多突發(fā)事件,讓我在本來就緊張的開發(fā)時間里,犧牲了不低于三天的時間,真是讓我抓狂不已!所以說,一個好的網(wǎng)絡(luò)管理中心、一個好的配置管理員,在關(guān)鍵時刻,可以抵得上半打高效的開發(fā)人員呢。如果你在項目開發(fā)過程中,頻繁遭遇這樣的問題,我的忠告是,趕緊準備換一家公司吧。
6、合理控制需求變更。
需求變更是軟件開發(fā)必然遭遇的暴風(fēng)雪,也是導(dǎo)致“沒有銀彈”的淵藪。傳統(tǒng)的瀑布開發(fā)模型在項目后