子張向孔子請教仁,孔子說:"要是能夠在天下實施五種品德,就是仁了。"子張請教哪五種品德?孔子說:"謙恭、寬厚、信誠、敏捷、施惠。謙恭就沒人欺侮,寬厚就能獲得群眾,信誠就能夠得到別人的任用,敏捷就做事有功,施惠就足以使喚人。"
——引自《論語現(xiàn)代版》
軟件項目管理是一項復(fù)雜的活動,它涉及到計劃、組織、實現(xiàn)、度量等方方面面,始終圍繞著時間、成本、范圍、質(zhì)量等因素團團轉(zhuǎn)。表面上看好像沒有任何一個單獨的問題會導(dǎo)致困難,每個問題都能獲得解決,但當(dāng)它們相互糾纏、累積在一起時,整個團隊的行動就會越來越慢。我們所面臨的挑戰(zhàn)和任務(wù)是在實際的進度和有限的資源范圍內(nèi),尋找解決實際問題的切實可行方案。提起軟件項目管理,我們大多數(shù)人腦子里想到的都是一些基于文檔方面的文案工作(進度表、狀態(tài)報告、會議計劃、進度跟蹤記錄、里程碑報告等等),然而,最容易被管理者忽視,但卻是非常重要的兩個因素是:對人的有效管理和對項目風(fēng)險的有效管理。
作為公司或一個團隊的管理者,你需要通過員工的進取去實現(xiàn)經(jīng)營目標(biāo)。然而,如果沒有激勵,員工的士氣就無法振作,你的目標(biāo)就會變得虛妄。因此,在一個以人為本的企業(yè)文化中,胡蘿卜幾乎無處不在,并且表現(xiàn)出各種賞心悅目的形式,令人熱血沸騰。同樣地,你也需要一些胡蘿卜來營造一種積極的團隊文化,包括那些不花錢的胡蘿卜(既感情投資)。有效的授權(quán)不僅是一種激勵員工進取的胡蘿卜,往往能夠?qū)崿F(xiàn)員工與企業(yè)的雙蠃,一方面可以滿足員工建功立業(yè)的個人追求,另一方面也是實現(xiàn)公司戰(zhàn)略規(guī)劃的一種必然選擇。否則,員工會不思進取,而作為管理者也會陷入俗務(wù)之中不能自拔。
——引自《水煮三國》
管理學(xué)特別是對人的管理學(xué),早在幾千年前,人類開始群體生活,形成早期社會時就已經(jīng)開始形成了。作為一名優(yōu)秀的管理者,你必須面臨四大要素:一、選擇正確的人。二、為他們分配正確的工作。三、保持它們的積極性。四、幫助團隊凝聚起來并始終保持團隊的凝聚力。作為一名項目管理者,你的主要工作可能會是為團隊創(chuàng)造信任、公開、積極交流的環(huán)境,并能有效地消除團隊成員之間的隔閡和沖突。作為一名合格的管理者,你的腦子里始終應(yīng)該清楚的明白一個道理:"你的部屬樂意并且積極的為你工作,不是因為你的個人魅力,也不是因為他們喜歡你,而是因為你喜歡他們。你喜歡、尊重為你工作的每一個人,你關(guān)心他們,愛護他們,他們的問題就是你的問題,他們的擔(dān)憂就是你的擔(dān)憂。你的胸懷像天空一樣寬廣,在一個人真正證明自己的能力以前,你就信任他,你讓他們覺得你把他們當(dāng)成一家人,這才是他們喜歡始終跟隨你的原因。
"這就是所謂"得道",讓部屬與領(lǐng)導(dǎo)者的價值觀相一致,這樣部屬就會與領(lǐng)導(dǎo)者同生共死,不會畏懼什么困難和危險,表現(xiàn)出崇高的獻身精神。"智士不為暗主謀",在一個昏庸的管理者周圍,不可能留住高潔的人才。如果你不關(guān)心別人,不照顧別人,就別想讓他們?yōu)槟阕鲆恍┎煌瑢こ5氖虑?,即使你手中掌握著?quán)力也無濟于事。如果要讓他們改變,就必須去了解并贊賞他們的過去,并相信他們現(xiàn)在的能力。要記住你的團隊成員們會很在意你的反應(yīng),他們看到你的反應(yīng)將決定他們對項目的狀況及未來的發(fā)展是否有信心。在其它成員面前指責(zé)另一個成員是一種沖動的行為,事后你會為此而后悔,尤其是你還沒有把所有真相弄清楚之前,一定要事先考慮一下后果,從理論上講,只要不超過做決定的日期,晚些做決定會更好,因為那時你會得到更多的信息,如果你發(fā)現(xiàn)做了一個錯誤決定也應(yīng)該心甘情愿馬上把它糾正過來。
另外,管理中的憤怒和羞辱是會傳染的,如果高層管理者喜歡罵人,低層管理者也會照著學(xué)。如果希望用辱罵來作為一種刺激,可以讓員工提高效率的話,那就大錯特錯了,沒有人在被辱罵之后還能做得更好的。通過辱罵的方式只能表現(xiàn)出經(jīng)理的無能,而不是員工的無能。需要補充一點,企業(yè)文化中的馬屁文化也是會傳染的,如果高層管理者喜歡阿諛奉承者,低層管理者不僅會有模有樣、照單全收,還會學(xué)會媚上欺下。如果這樣的話,下面員工的座右銘就會變作:"好風(fēng)憑借力,送我上青天"在這種文化中,人們學(xué)會的只是趨炎附勢,專注于捕捉任何一個飛黃騰達(dá)的機會,再不會努力工作。而這一切,這是作為一名項目管理者應(yīng)該知道的,了解了這些,便擁有了可以組成一只優(yōu)秀的,有凝聚力的核心團隊所必須的條件。作為一名管理者:你必須學(xué)會用心來領(lǐng)導(dǎo)、相信自己的預(yù)感、構(gòu)筑團隊的靈魂、訓(xùn)練一個能識別出謊言的鼻子。
薪酬管理難道真是用"最低的人力資本"去購買"最高的營業(yè)績效"碼?難道打工族的勞動力真的仿佛集貿(mào)市場中可以討價還價的商品嗎?當(dāng)然不是,它忽略了下面三個問題:第一、勞動力是一種特殊的商品,在打上價格標(biāo)簽時需要顧及人的尊嚴(yán)。第二、提供勞動力的人追求的不僅僅是被老板視為成本的工資,還有職業(yè)生活的快樂。第三、每一位員工都希望能夠與老板分享公司的營業(yè)績效,因為其中浸透了他們的情感。如果你在薪酬管理中忽略了員工的情感,就另指望員工熱愛他們的工作。于是,勞資關(guān)系就變成了買賣關(guān)系,一邊是討價還價、斤斤計較,一邊是缺斤少兩、以劣充優(yōu),利益相爭,各有所圖,就象菜場買菜和賣菜一樣。因此,以人為本的薪酬管理會關(guān)注員工的情感需要,會把"績效分享"作為薪酬管理的主題。于是,勞資關(guān)系就變成了伙伴關(guān)系,利益相連,目標(biāo)一致。
——引自《水煮三國》
軟件開發(fā)是一項復(fù)雜的、創(chuàng)造性的協(xié)作式游戲。作為游戲它自然存在著樂趣,所以程序員們才會樂此不疲,前仆后繼。首先、這種快樂源于一種創(chuàng)造事物的快樂。其次、這種快樂來自于一種開發(fā)出對別人有用的東西時所帶來的滿足感。第三、快樂源自開發(fā)過程中,親眼看到軟件按自己預(yù)先設(shè)想的那種效果運行時所帶來的迷人魅力。第四、快樂源自開發(fā)過程中持續(xù)學(xué)習(xí)的快樂。最后、快樂源自開發(fā)過程中,我們能象詩人一樣,僅憑自己的想像,來建造自己的城堡時帶來的快樂。編程的快樂在于它不僅滿足了我們內(nèi)心深處進行創(chuàng)建的渴望,而且還喚醒了每個人內(nèi)心的情感。不幸的是,同樣作為游戲它也有苦惱的一面:首先、苦惱來自追求完美主義。其次、苦惱來自總是由他人來設(shè)定目標(biāo)、供給資源、提供信息。第三、苦惱來自于尋找瑣碎的BUG卻是一項枯燥的、重復(fù)性的活動。第四、人們通常希望在項目接近結(jié)束時,能收斂得快一些,然而,情況卻是越接近完成,收斂得越慢。最后、苦惱來自當(dāng)投入大量的辛苦勞動后,產(chǎn)品發(fā)布時卻面臨著陳舊過時的危險。作為軟件開發(fā)者,我們別無選擇,只有適應(yīng)它們,就這樣痛并快樂著地面對每一天。
來自領(lǐng)導(dǎo)的信息只有25%被下級知道并正確理解,從下到上的反饋信息不超過10%,平等交流的信息則可達(dá)到90%以上。平等造就信任,信任增進交流。有效地進行適當(dāng)?shù)囊庖娊涣?,對一個組織的氣候和生產(chǎn)力會產(chǎn)生有益和積極的影響。使顧客滿意并和他們面對面地交流,才是蠃得市場的關(guān)鍵。
——引自《管理智典》
管理是一種控制性游戲,在游戲面前,你只有二種選擇:或者,你確信自己能蠃,于是投入足夠多的能量來蠃得一切;或者,你不進行這個游戲,放棄它。然而,作為軟件項目管理者,你也應(yīng)該知道,早投入、高風(fēng)險才會有高回報。逃避風(fēng)險是致命的,因為這也會讓你得不到與風(fēng)險同在的利益,久而久之,你就會面臨著被市場淘汰的危險。風(fēng)險是"遭受損失的可能性",由條件、結(jié)果以及周圍的環(huán)境構(gòu)成。風(fēng)險和問題的區(qū)別在于:風(fēng)險是尚未發(fā)生的問題,而問題是業(yè)也成真的風(fēng)險,昨天的風(fēng)險可能會是今天的問題。風(fēng)險管理主要包括下面幾個方面:
第一、風(fēng)險識別:
從頭腦想像中抽取出各種風(fēng)險并加以篩選,再加上在整個開發(fā)過程中,保持持續(xù)不斷的風(fēng)險發(fā)現(xiàn)機制,以發(fā)現(xiàn)新的風(fēng)險。
第二、風(fēng)險分析:
對風(fēng)險出現(xiàn)的可能性和潛在的危害性進行量化分析。
第三、應(yīng)急計劃:
如果識別出的風(fēng)險真的出現(xiàn),你將采取的應(yīng)急措施。
第四、風(fēng)險緩解:
為了使應(yīng)急計劃得以有效實施,必須在風(fēng)險轉(zhuǎn)化為真之前所采取的措施。
第五、持續(xù)的監(jiān)控:
跟蹤需要管理的風(fēng)險,尋找風(fēng)險出現(xiàn)的跡象。
項目面臨的某些風(fēng)險可能是致命的,發(fā)生時會使項目嚴(yán)重滯后或直接廢棄。這類風(fēng)險是最需要管理的,但有效的管理它們也許會使你與你的上級發(fā)生沖突(如時間上最后期限等),對于這類風(fēng)險往往超出了你的管理權(quán)限,可以先將它們列為項目假定風(fēng)險,然后把它們轉(zhuǎn)交給上級來管理。風(fēng)險可能出自技術(shù)、政治、經(jīng)濟、資源或其它各個方面,幾乎無所不在,并且會對項目開發(fā)、市場占有率或是達(dá)到項目目標(biāo)(如進度、預(yù)算、質(zhì)量等)造成災(zāi)難性后果。但在所有軟件項目中,通常會共存五大核心風(fēng)險,分別如下:
第一、缺乏合理的進度安排
這是導(dǎo)致項目滯后的最主要的原因。首先、它源于開發(fā)人員們普遍存在的樂觀主義精神,我們總是期待在實現(xiàn)過程中不會碰到困難,然而我們的構(gòu)思是有缺陷的,因此總會發(fā)現(xiàn)BUG。其次、它源于一種錯誤的認(rèn)識,人員數(shù)量和開發(fā)時間是可以互換的,既投入兩倍的人數(shù)會在一半時間內(nèi)完成開發(fā)工作。然而,這種理論卻忽略了隨著人數(shù)的增加,相應(yīng)的也會增加新人培訓(xùn)和人們相互交流所需的負(fù)擔(dān),另外,還有任務(wù)重新分配所造成工作中斷帶來的負(fù)擔(dān),正如Alistair Cockburn所說:"最有效的交流方式是面對面的交流"當(dāng)3、5個人的時候很容易做到這種交流方式,隨著人數(shù)的增長,再也很難做到這種交流方式。交流成本的增加與培訓(xùn)新人所需時間成本的增加、以及任務(wù)重分配導(dǎo)致工作中斷成本的增加,直接導(dǎo)致一種結(jié)果:向進度落后的項目中增加人手,只會使進度更加落后。
第三、源于空泛的估算,管理人員特別是高層管理人員為了滿足顧客期望的日期而造成的不合理進度安排。如果分配的時間一開始就不夠,不管高層領(lǐng)導(dǎo)威脅有多么嚇人,工作也無法按時完成,如果人們察覺到管理者可能濫用權(quán)力來懲罰自己,他們就會感覺到威脅,沒有安全感。安全感的缺乏會讓人們反對變化,而在所有成功項目中,變化是唯一不變的要素之一,除非感到安全,否則人們就不會去迎接變化,只會按部就班,這樣往往喪失了很多走捷徑的好機會,而這些機會原可以大大縮減時間進度的。第四、如果你沒有認(rèn)真估算產(chǎn)品規(guī)模,那么你預(yù)計的進度就是空中樓閣,唯一的依據(jù)只是你的希望。在估計產(chǎn)品規(guī)模時,除了正常的時間計算以外,不但應(yīng)該將"可能需要做"的事情所需工作時間加上,還要將某些"可能不需要做"的事情所需工作時間加上。項目的超期不應(yīng)歸咎于開發(fā)者的低效率。
最后、項目的滯后不是一下子造成的,而是在一天天的不知不覺中造成的,有無數(shù)種方法可以浪費一天的時間,但是沒有任何方法可以拿回一天的時間。高層管理者的不良反應(yīng)肯定會對信息的完全公開造成壓制;相反,仔細(xì)區(qū)分狀態(tài)報告、毫無驚慌地接收報告、決不壓制下級,將能鼓勵誠實的進度匯報,而這會使你在第一時間掌握實際進度,把握先機,及早做出正確的修訂,從而避免了晚期才獲得這些實際信息時,那種無力挽天時的無奈。此外、也可以在項目管理中設(shè)定一個合理的進度安排和一個具有挑戰(zhàn)性的期望目標(biāo)完成時間。期望目標(biāo)和合理進度不同,期望目標(biāo)完成時間,可以設(shè)為項目完成的成功率在30%左右時的日期,這樣很具有挑戰(zhàn)性,但不能強迫要求必須完成此期望目標(biāo)。畢竟,合理進度安排才是更合理的時間安排。另外、需要指出的是現(xiàn)代敏捷方法論對此進行了有效改進,如XP(極限編程)中,就利用用戶素材與CRC卡,進行優(yōu)先級劃分并進行快速增量迭代開發(fā),針對原來開發(fā)的產(chǎn)品或第一次迭代開發(fā)后的原型完成的功能量,來計算功能點,從而估算每個CRC卡的功能點,得到總功能點來推導(dǎo)出比較準(zhǔn)確的進度安排。
第二、需求的變化
從項目的角度來說,需求總是向著膨脹的方向在變化。就連去掉某些已經(jīng)做好的東西,也是一種膨脹,因為它增加了工作量。開發(fā)人員交付的是用戶滿意程度,而不僅僅是實際的產(chǎn)品,用戶的實際需要會隨著程序的構(gòu)建和使用而變化。要知道,一個活著的軟件必須面對變化,只有死掉的軟件才不會有需求變化(沒人用了),我們應(yīng)該盡早面對現(xiàn)實,而不是逃避,事先為它們做好思想準(zhǔn)備。變化是好事不是什么壞事。同樣,現(xiàn)代敏捷方法論強調(diào)對需求變化的快速響應(yīng),如XP(極限編程)就采用快速增量迭代開發(fā),來在短時間內(nèi)開發(fā)出功能不斷增強的原型軟件提交給用戶使用的方法,來快速響應(yīng)需求的變化。
第三、人員的變更
在我們有些管理者中,總是假設(shè)開發(fā)者都是可以隨便替換的,新員工馬上可以取代離去的老員工,多么愚蠢的假設(shè)。解雇員工或高的員工替換率最大的影響,是使軟件項目失去了連續(xù)性。這是在抱著這種假設(shè)的團隊文化中,大量員工會在項目進行到一半時離開,新來員工往往需要1到3個月的上道時間,在這段時間內(nèi),他們做不了什么,還經(jīng)常需要其它老員工的幫助,從而浪費了其它老員工很多不必要時間,導(dǎo)致項目進展更加緩慢,最終造成項目的很大損失。
另外、還有一種現(xiàn)象在中國軟件事業(yè)中普遍存在,當(dāng)正在進行一個項目時,另一個項目由于進度落后或最后期限等原因所致,高層管理者就會從你的團隊中抽掉一些人去到另一個項目中補墻。這種拆東墻補西墻的作法,往往導(dǎo)致的結(jié)果是兩個項目都會落后,因為它不僅十分錯誤作了團隊人員可以隨意替換的假設(shè),而且還作了將開發(fā)人數(shù)與開發(fā)所需時間可以互換的錯誤假設(shè)。盲目的認(rèn)為,投入大量人數(shù)后,新人馬上會投入新的工作,這樣項目開發(fā)所需時間就會成倍縮短。在這種組織文化中,是不會形成一支穩(wěn)定的團隊的,成員整天只會忙碌著補自已的墻或為別人補墻,充當(dāng)著類似消防員的角色,那兒有火那兒就有我們的身影。
同樣,現(xiàn)代敏捷方法論非常注重人的能力,如XP中通過權(quán)力下放、教練角色、將團隊緊密圍在一起并結(jié)對編程、小團隊組成等方式,來組成一個強有力的團隊,由于有凝聚力,所以很少有大的人員變動,他們往往可以完成兩倍于他們?nèi)藬?shù)所能完成的任務(wù)。非常小的團隊能夠產(chǎn)生非常大的物質(zhì)生產(chǎn)力,有時候,小團隊可以在很短時間內(nèi)創(chuàng)造奇跡,而大型團隊極少能做到。但是,小團隊卻往往得不到足夠的政策支持,從而導(dǎo)致任由團隊超編,這是一種病態(tài)組織文化所致。作為管理者必須明確知道,擁有一支穩(wěn)定的、有凝聚力的開發(fā)團隊是組織最大的財富,而不是障礙。
第四、規(guī)約崩潰
這種情況只有兩種結(jié)果:要么發(fā)生,要么不發(fā)生,不會有不同程度的影響。但它真的發(fā)生時,它會直接毀滅你的整個項目。在項目啟動之初,項目各方需要通過一系列商談來確定需求的范圍,規(guī)約崩潰就是指這個談判過程的崩潰。在商談期間,很多時候當(dāng)遇到嚴(yán)重沖突時,由于雙方都不愿意讓步,但又不想放棄這個項目,從而導(dǎo)致這些沖突被掩蓋起來。最終項目便朝著一個帶著缺陷的、含混不清的目標(biāo)前進了,被掩蓋的問題暫時不會打擾你,但不是永遠(yuǎn)。盡管你可以含混說明一個產(chǎn)品,但不能含混構(gòu)造一個產(chǎn)品,所以,最終在項目晚期這些問題將發(fā)生,在大半甚至所有預(yù)算時間和金錢都已付出的時候,此時,任何一方不再全力支持,都將使項目被取消。任何規(guī)格文檔中的含糊標(biāo)志著不同的系統(tǒng)參與者之間存在著未解決的沖突。只要在開發(fā)過程中有多個參與者,就一定會有沖突存在。談判困難而調(diào)解容易,如果兩個人的利益是完全或部分相斥的,預(yù)先做好安排,準(zhǔn)備好請雙方通過調(diào)解來解決沖突。同樣,現(xiàn)代敏捷方法論通過客戶的積極參與勝過合同談判的方試,來盡早發(fā)現(xiàn)和避免規(guī)約崩潰。
第五、低效率
對于項目成功而言,項目人員的素質(zhì)、人員的組織和管理是比使用的工具或采用的技術(shù)方法更重要的因素。團隊質(zhì)量是項目成功最大的決定因素,對人的關(guān)注、激勵和培養(yǎng)勝過一切。項目管理人員的職責(zé)不是要人們?nèi)スぷ?,而是給人們創(chuàng)造工作的可能。創(chuàng)造力來自于個人,而不是組織架構(gòu)和流程,項目管理者面臨的中心問題就是如何設(shè)計架構(gòu)和流程,來提高而不是壓制人們的主動性和創(chuàng)造力。通過權(quán)力的向下委派,從而產(chǎn)生了改進的質(zhì)量、提高的生產(chǎn)率、高漲的士氣,進而使中心的權(quán)威實際上得到了加強。就整體而言,組織機構(gòu)會更加融洽和繁榮。增加加班時間只會降低生產(chǎn)力,壓力之下的人們無法更快地思考既也會降低生產(chǎn)力。使用壓力和加班的真正原因是為了在項目失敗時讓人們看上去能好受一些。
正式的過程改進程序需要花錢、花時間,特定的過程改進工作還會延緩項目進度,盡管最終會體現(xiàn)生產(chǎn)力上的收獲,它們也不可能抵消花在過程改進上的時間。多種技術(shù)的改進程序(如CMM提級)很可能讓項目比不實施這些程序完成得更晚,對于人員超編的項目,標(biāo)準(zhǔn)過程會為多余的人們制造出足夠的工作,讓所有人都忙個不停,盡管很多是無用的,這也導(dǎo)致生產(chǎn)率低下。人員超編的團隊往往生產(chǎn)率低下,因為它們團隊內(nèi)部耦合度提高,會議時間、重復(fù)勞動和無效工作都會增加。理想的人員安排是在項目的大部分時間里由小型核心團隊來做設(shè)計工作,在開發(fā)的最后階段再逐漸加入大量人手。如果不大幅度減少調(diào)試的時間,就沒辦法讓項目大幅度提前完成,而要成比例減少調(diào)試時間,就需要成比例增加設(shè)計所需時間,因為絕大多數(shù)的錯誤源于接口缺陷,編碼前進行的正規(guī)而完善的設(shè)計,可以大幅度減少錯誤。同樣,現(xiàn)代敏捷方法論通過注重人、快速迭代開發(fā)、自組織的團隊和提倡可持續(xù)的開發(fā)速度,來避免跑的過快導(dǎo)致團隊精力耗盡、出現(xiàn)短期行為而導(dǎo)致崩潰的問題,從而保持了穩(wěn)定的生產(chǎn)率。
精兵簡政是失敗公司使用的辦法,它讓員工負(fù)擔(dān)失敗的責(zé)任。成功公司的目標(biāo)應(yīng)該正好相反:興旺、發(fā)達(dá)、而人性化。
——引自《最后期限》
企業(yè)的最大風(fēng)險則與價值相關(guān):在低價值的項目上浪費資源,付出高價值的機會成本,就這是企業(yè)最大風(fēng)險。勇于承擔(dān)風(fēng)險是好事,但必須由收益來導(dǎo)航,愿意承擔(dān)多少風(fēng)險,必須取決于能獲得多少收益。真正的項目評估不是傾向于不斷削減成本,來提高價值,而是在風(fēng)險與價值之間取得平衡點。通過不確定的價值和不確定風(fēng)險組合效果的凈收益圖,來指導(dǎo)你把資本投入到最適當(dāng)?shù)牡胤?。我們每個軟件從業(yè)人員都必須明白:顧客真正需要的,是我們能夠給他的、某種他想得到的利益。
【?發(fā)表評論?0條?】