就像一位講師所講的那樣,每個人去參加培訓(xùn)都是帶著他自己的問題去的,因此我記錄的筆記大多是針對目前我面臨問題的。
微軟進(jìn)行設(shè)計(jì)的一個好的方法:假如一個十二人的小組,全部拉到外面,比如三位成員一組分為四組,每組針對問題進(jìn)行設(shè)計(jì)再發(fā)表自己的看法;然后兩兩合并相近的設(shè)計(jì),再進(jìn)行討論協(xié)調(diào)……直到最后大家同意通過。這樣既可以發(fā)揮群體智慧,又充分調(diào)動了開發(fā)人員的積極性,由于是大家協(xié)調(diào)的結(jié)果,也比較容易實(shí)施。
微軟的“三駕馬車”——program manager、developer、tester。developer負(fù)責(zé)開發(fā),tester負(fù)責(zé)測試,program manager只管事不管人,對developer和tester沒有人事上的管理權(quán),但是必須要推動整個項(xiàng)目流程。program manager分為兩類,一類基本是由developer轉(zhuǎn)換而來,常常負(fù)責(zé)設(shè)計(jì),一類是process pm,類似傳統(tǒng)意義上的項(xiàng)目經(jīng)理,推動整個項(xiàng)目流程。program manager生成設(shè)計(jì)文檔,developer根據(jù)文檔做開發(fā),tester根據(jù)文檔做相應(yīng)的測試,凡是和設(shè)計(jì)文檔不一致的地方都當(dāng)作是bug,在developer和tester之間出現(xiàn)的沖突和矛盾由program manager負(fù)責(zé)仲裁協(xié)調(diào)。微軟流程設(shè)計(jì)的作用就是用法治來代替人治,微軟把這種團(tuán)隊(duì)結(jié)構(gòu)當(dāng)成“三權(quán)分立”,項(xiàng)目經(jīng)理是立法權(quán),開發(fā)人員是執(zhí)行權(quán),測試人員是監(jiān)督權(quán),在開發(fā)流程的不同階段不同的人起著主導(dǎo)作用。
在項(xiàng)目進(jìn)度制定的評估上,先是項(xiàng)目經(jīng)理進(jìn)行總體評估,估計(jì)出大概的時間;然后由負(fù)責(zé)各個具體部分的開發(fā)人員估計(jì)各自每個功能需要的開發(fā)時間,并詳細(xì)記錄;各個開發(fā)組長、測試組長評估組員的開發(fā)時間,并進(jìn)行協(xié)調(diào)匯總;項(xiàng)目經(jīng)理評估從各個組長收集的時間和功能進(jìn)度,并制定出進(jìn)度表,設(shè)置里程碑。
微軟開發(fā)團(tuán)隊(duì)的日常工作:開發(fā)人員上班第一件事是查看昨天Daily Build的結(jié)果,擔(dān)心由于自己代碼的check in而造成build broken。如果造成了build broken,則當(dāng)天最緊急的任務(wù)就是修改代碼,使之能通過build,因?yàn)槊刻斓墓ぷ鞫际墙⒃谧蛱斓腷uild版本上的。如果沒有出錯,則開發(fā)人員接著打開bug管理工具,查看指定給自己的bug,解決高優(yōu)先度的bug或新功能,在本機(jī)上build和單元測試,如果可以則請開發(fā)組同事做code review,再check in 代碼,在bug管理工具中修改bug狀態(tài)。開發(fā)人員以一封daily report結(jié)束一天的工作,包括修改了哪些bug或添加了哪些新功能,哪些問題沒有解決等等。測試人員上班第一件事情是打開bug管理工具,看看指定給自己的bug,驗(yàn)證已解決的bug。接著測試人員從發(fā)布服務(wù)器上去的當(dāng)天的build版本,根據(jù)測試用例檢查當(dāng)天的build,并在bug管理工具中登記新發(fā)現(xiàn)的bug,等待開發(fā)人員解決。下班前測試人員會發(fā)送當(dāng)天或者一周的bug報告和測試用例報告。項(xiàng)目經(jīng)理的工作是主持bug專家會診,更新項(xiàng)目計(jì)劃、日程表、產(chǎn)品規(guī)格書、風(fēng)險控制列表,發(fā)送status report等等。
根據(jù)微軟開發(fā)團(tuán)隊(duì)的日常工作,目前我們做的不足的地方有:daily build、unit test、code review以及daily report。在code review上,微軟有三種方式,一種是peer to peer,互看代碼;一種是group review,比如一個團(tuán)隊(duì)每個禮拜三下午抽出兩個小時,一起通過幻燈片等方式瀏覽,另一種是從其他團(tuán)隊(duì)或請第三方公司來做code review。本來公司是有daily report的,不僅下班后需要提交一天的工作報告,原本我還規(guī)定上班后半個小時內(nèi)需要提交一份當(dāng)天的工作計(jì)劃(模板固定),可惜是沒有能夠堅(jiān)持下去,不少開發(fā)人員認(rèn)為這是浪費(fèi)時間,如果對于計(jì)劃性很強(qiáng)的開發(fā)人員來說,這項(xiàng)工作的確是浪費(fèi)時間,但是對于大部分計(jì)劃性不強(qiáng)的開發(fā)人員,先把當(dāng)天的計(jì)劃寫下來,便于提醒他當(dāng)天需要完成哪些任務(wù),不至于A事還沒做完,又去做做B事,導(dǎo)致每樣事情都完成一點(diǎn)點(diǎn),卻沒有一樣能夠拿出手來。一位講師一句話說的非常好,他說其實(shí)微軟也沒什么,無非在一些細(xì)節(jié)和執(zhí)行上做的非常好,我對這個觀點(diǎn)很贊同。其實(shí)上面的很多觀點(diǎn)我們都知道,但是細(xì)節(jié)上的處理和能否堅(jiān)持下去就成了我們和微軟的區(qū)別。
PMO是project manager office(program manager office?),它的三類職責(zé)是識別和培養(yǎng)項(xiàng)目經(jīng)理、為項(xiàng)目經(jīng)理提供支持、管理項(xiàng)目經(jīng)理。這對于國內(nèi)大部分中小企業(yè)來說還是一個奢侈的機(jī)構(gòu)。這個機(jī)構(gòu)的出現(xiàn)主要是為了針對這類情況:一個公司里面同時進(jìn)行了好多項(xiàng)目,某些項(xiàng)目經(jīng)理有出色的技能,能夠讓項(xiàng)目順利進(jìn)行,但是某些項(xiàng)目經(jīng)理還缺乏一定的技能,不能保證項(xiàng)目的順利完成,因此就需要一個這樣的機(jī)構(gòu)來為項(xiàng)目經(jīng)理進(jìn)行支持和管理,也能從公司內(nèi)部發(fā)掘出適合做項(xiàng)目經(jīng)理的人才。要注意的是PMO是為了增加價值而不是增加負(fù)擔(dān),enough is enough,不要僅僅是為了一種形式而去做某樣事情。
怎樣才算一個好的項(xiàng)目經(jīng)理?項(xiàng)目經(jīng)理需要具體一系列的技能和應(yīng)有的態(tài)度,技能是可以學(xué)的,但是態(tài)度很難教會。在優(yōu)秀項(xiàng)目經(jīng)理所具有的特征中,促進(jìn)發(fā)展的能力是一個很重要的能力,而我在這一點(diǎn)上還有欠缺。每位經(jīng)理都可以讓事情開始,但是在碰到各種各樣的困難后,如何還能推動項(xiàng)目往前進(jìn),去克服困難,這個我還需要提高。
微軟在人員管理上是pay for performance,not pay for effect,這一點(diǎn)上我們公司的做法也是一致的。一些開發(fā)人員進(jìn)公司后為了完成任務(wù)經(jīng)常加班,看上去很努力很辛苦,可是事實(shí)上這是他應(yīng)該做的,因?yàn)榉峙涞娜蝿?wù)如果給同級別其他人做肯定是工作時間內(nèi)能解決的事情,由于自己能力方面的問題造成一些加班和辛苦,公司是沒有什么補(bǔ)貼的,要不會提倡了一種上班時間拖沓,把要做的事情留到下班后去做,獎勵努力而不重結(jié)果的文化。
微軟有一種卓有成效的“師傅”制度。因?yàn)橹苯诱埥躺霞墪寙T工覺得不自在,擔(dān)心什么地方做的不好會造成上級的壞印象,所以新員工進(jìn)入公司后會分配一位師傅,新員工有任何問題都可以請教。員工進(jìn)入公司工作一段時間后可以自愿申請成為“師傅”。師傅制度一來讓員工快速上手和熟悉工作環(huán)境,二來可以培養(yǎng)“師傅”的領(lǐng)導(dǎo)和影響他人的能力,給工作增加心得挑戰(zhàn)和活力,使之感覺受到重視,與眾不同,有成就感。
唐駿先生在最后講座上講到了目前中國IT企業(yè)成功需要的一些條件:1.機(jī)會 2.成功的商業(yè)模式 3.關(guān)系。另外好幾位講師都提到了中國IT企業(yè)成功所需要的一條,就是制訂標(biāo)準(zhǔn)。
最后簡單分享一下唐駿先生講的幾個有意思的案例,由于實(shí)際上的案例比較長,這里只是簡單寫出來,希望大家也能領(lǐng)會這些舉動背后的含義。
1.微軟公司的以人為本。微軟中國研究中心辦公樓的電梯有問題,六部電梯中只要有一部準(zhǔn)備降到底樓,其他的就不會回落到底樓,結(jié)果早上上班高峰時大家都在樓下等電梯。微軟中國和物業(yè)協(xié)商無用,最后派幾位打掃衛(wèi)生的阿姨每天早上上班的時候呆在電梯里當(dāng)電梯小姐,只要電梯上去了就將電梯按回到1層,已緩解高峰狀態(tài)電梯緊張。
2.中秋基本所有公司都會給員工發(fā)月餅,但是微軟中國與眾不同的是只需要員工提供一個地址,公司會把月餅快遞過去,這樣員工就可以寄月餅回給父母等等。更不同的是,唐駿先生在月餅包裝里夾了一張賀卡,其中匯報了今年微軟中國取得的成就,感謝他(她)為微軟中國培養(yǎng)了這么一位優(yōu)秀的員工。
3.微軟中國規(guī)定每若干時間要選一次優(yōu)秀員工,每個部門只有幾個指標(biāo)能能選自己部門的人,其他都需要選其他部門員工,這樣子最后優(yōu)秀員工肯定是那些做人好,會幫助其他人的員工。然后微軟中國規(guī)定所有的晉升者都必須是優(yōu)秀員工,因?yàn)橐粋€優(yōu)秀的管理者必然要會做人,要善于幫助別人,這樣由于晉升者必須是優(yōu)秀員工,一方面可以幫助實(shí)現(xiàn)自己的利益,一方面就在公司內(nèi)部倡導(dǎo)了一種互相幫助的企業(yè)文化,使各部門相互合作。