一. 項(xiàng)目基本狀況
1. 作業(yè)時(shí)間2008年7月9日– 2008年10月7日
2. 作業(yè)范圍詳細(xì)設(shè)計(jì),編碼,PT測(cè)試。
3. 人員結(jié)構(gòu) PM1人+PJL1人+Member5人+支援1人
二. 這是一個(gè)什么樣的項(xiàng)目
項(xiàng)目本身很正常,卻無(wú)法正常去做。
最根本的原因,就是時(shí)間不足。
基本狀況就是,一個(gè)需要六天的任務(wù),只有三天的時(shí)間去完成,這種狀況普遍存在。
所以,這個(gè)項(xiàng)目從一開(kāi)始,對(duì)我們的PM,PJL來(lái)說(shuō),就是一種挑戰(zhàn)。
三. 這是一個(gè)什么樣的問(wèn)題
時(shí)間問(wèn)題。說(shuō)到時(shí)間問(wèn)題,每個(gè)人都會(huì)有不同的主觀想法。Member會(huì)覺(jué)得是工作量過(guò)大,領(lǐng)導(dǎo)會(huì)覺(jué)得是客戶太XXXX,客戶會(huì)覺(jué)得是我們的能力不足。
客觀的說(shuō),就是,以我們現(xiàn)有的水平無(wú)法在預(yù)定時(shí)間內(nèi)完成計(jì)劃中的任務(wù)。
不管是什么原因造成的,就是這個(gè)問(wèn)題,從項(xiàng)目開(kāi)始就出現(xiàn)了。
四. 對(duì)策
1. 加班。從項(xiàng)目開(kāi)始一直持續(xù)到最后。
2. 加人。先后加了兩個(gè)人。
3. 以降低質(zhì)量來(lái)?yè)Q取進(jìn)度。這一點(diǎn)不是領(lǐng)導(dǎo)說(shuō)的,是我說(shuō)的。領(lǐng)導(dǎo)一直在強(qiáng)調(diào),不管進(jìn)度如何,一定要保證質(zhì)量。但是誰(shuí)心里都明白,既要保證質(zhì)量,又要保證進(jìn)度,那是不可能的。
五. 對(duì)我的影響
式樣理解階段:沒(méi)有。被擠到DD設(shè)計(jì)的時(shí)間里了。
DD設(shè)計(jì)階段:式樣沒(méi)理解透就開(kāi)始DD,結(jié)果質(zhì)量不好,做的也吃力。達(dá)不到指導(dǎo)編碼的效果。(項(xiàng)目的最后兩天,重新修改DD,若要完全修改的話,我的修改量可達(dá)80%)
PG階段:只能說(shuō)是寫(xiě)完。無(wú)法保證質(zhì)量,PG結(jié)束后,對(duì)自己的代碼仍沒(méi)有信心。
PT階段:很多PG的問(wèn)題殘留到PT,導(dǎo)致修改量大。很需要二次PT。
交叉測(cè)試階段:我被發(fā)現(xiàn)的問(wèn)題有很多。對(duì)我來(lái)說(shuō),是最重要的5天。
六. 我的流水賬
7月9日
項(xiàng)目啟動(dòng)的第一天,大部分時(shí)間在開(kāi)會(huì),了解一下項(xiàng)目的基本狀況,以及項(xiàng)目組成立后的注意事項(xiàng),比如,任務(wù)安排,職責(zé)安排,作業(yè)方式,共通內(nèi)容等等。
7月10日
按照大工程表的劃分,今天開(kāi)始作業(yè),內(nèi)容是XXX機(jī)能的詳細(xì)設(shè)計(jì),共4天。我自己在小工程表中劃了兩天的時(shí)間作為式樣理解。
7月14日
第一個(gè)延遲。
延遲原因:
1. 式樣理解不足。
2. 沒(méi)有詳細(xì)設(shè)計(jì)模板。
對(duì)策:
加班、調(diào)整工程表。
從這一天,我的延遲生活開(kāi)始了,并基本上一直保持到最后。
從這一天,我們項(xiàng)目組的加班生活也開(kāi)始了,每天9:30,周六加班,周日看情況。
7月15日
關(guān)于DD,PG的先后。
做這個(gè)項(xiàng)目前,我一直認(rèn)為,對(duì)于我現(xiàn)在的水平,合理的做法應(yīng)該是先PG,再DD。結(jié)果被領(lǐng)導(dǎo)否了,領(lǐng)導(dǎo)說(shuō),先PG再DD會(huì)限制住一個(gè)人的設(shè)計(jì)思路。我開(kāi)始嘗試不編碼,直接DD,結(jié)果感覺(jué)很好。
7月17日
對(duì)DD的認(rèn)識(shí),發(fā)現(xiàn)兩點(diǎn)很重要:
1. 自查時(shí),一定要打印出來(lái),校對(duì)格式。
2. DD內(nèi)容的準(zhǔn)則,就是,找一個(gè)傻瓜過(guò)來(lái),也能看懂你的設(shè)計(jì)思路。
7月21日
第二個(gè)延遲。
延遲原因:
1. 作業(yè)量大。
工程表上三天的任務(wù),我在加班的狀況下,實(shí)際用了八天的時(shí)間。
2. 不穩(wěn)定作業(yè)。
開(kāi)會(huì)頻繁,無(wú)確定時(shí)間,作業(yè)經(jīng)常被打斷,且占用時(shí)間長(zhǎng)。
3. 過(guò)多的計(jì)劃外的事。
很多工程表之外的事情需要對(duì)應(yīng)。如WT實(shí)施,WT對(duì)應(yīng),共通類實(shí)現(xiàn)等等。
對(duì)策:
加班、調(diào)整工程表。
7月24日
領(lǐng)導(dǎo)心情很差,很煩躁,作業(yè)氣氛開(kāi)始?jí)阂帧?/span>
我決定給領(lǐng)導(dǎo)打起,因?yàn)槲矣X(jué)得,無(wú)論遇到什么困難,領(lǐng)導(dǎo)在手下面前都應(yīng)該是自信滿滿的樣子,即使心里極度煩躁。
7月25日
一個(gè)人嚴(yán)重的問(wèn)題暴露了,member的問(wèn)題。
當(dāng)前項(xiàng)目組5人在作業(yè),由于技術(shù)原因,只有一人能夠正常DD作業(yè),就是leader。
其余四人技術(shù)上的情況如下:
Member1:無(wú)XX框架經(jīng)驗(yàn)。沒(méi)做過(guò)前臺(tái)jsp。
Member2,無(wú)XX框架經(jīng)驗(yàn),自學(xué)過(guò)一陣子。
Member3,無(wú)XX框架經(jīng)驗(yàn)。
Member4,就是我,了解XX框架,但我的作業(yè)只用java,和XX框架沒(méi)有關(guān)系。且java部分無(wú)框架。
由于XX框架的特殊性,對(duì)DD的要求很高,不懂XX框架的話,DD會(huì)很吃力。
7月26日
領(lǐng)導(dǎo)的狀態(tài)恢復(fù)了。
針對(duì)項(xiàng)目組的作業(yè)狀況(普遍延遲),領(lǐng)導(dǎo)的對(duì)策是,加一個(gè)人。很明智。
7月27日
領(lǐng)導(dǎo)的又一個(gè)明智的決定,讓Member1和Member3提前進(jìn)入PG階段。
在另一個(gè)項(xiàng)目的case study中,也聽(tīng)到了這樣的經(jīng)驗(yàn),對(duì)技術(shù)不熟的人,很實(shí)用。
這樣能夠讓這二人,更直接的熟悉框架,提高后期的作業(yè)質(zhì)量,減少風(fēng)險(xiǎn)。
7月28日
我們犯了一個(gè)錯(cuò)誤。
框架設(shè)計(jì)和DD設(shè)計(jì)應(yīng)該是分開(kāi)的,而且,框架設(shè)計(jì)應(yīng)該在DD設(shè)計(jì)之前完成。
而我們卻是在DD設(shè)計(jì)的同時(shí)各自設(shè)計(jì)各自的框架,當(dāng)WT之后才開(kāi)始統(tǒng)一。
7月29日
總結(jié)一下這個(gè)階段從領(lǐng)導(dǎo)身上學(xué)到的:
1. 在緊張的階段,要時(shí)刻鼓勵(lì)大家,而不是督促大家。
2. 不懷疑手下的工作方式和工作效率,要相信他。即使不放心,也要私下里說(shuō)。
3. 不輕易在會(huì)議上直接批評(píng)別人,也不在別人面前說(shuō)自己組員的不是。
4. 懂得自我批評(píng)。
8月2日
總結(jié)一下這個(gè)階段學(xué)到的開(kāi)會(huì)的學(xué)問(wèn):
1. 定時(shí)。
對(duì)于每天的例會(huì),時(shí)間上要規(guī)定好,這樣可以讓member避免自己的作業(yè)被突來(lái)的會(huì)議打斷,而且還可以讓member事先對(duì)會(huì)議有準(zhǔn)備。對(duì)于一些臨時(shí)的會(huì)議,也要盡可能的提前通知,不要隨叫隨開(kāi)。
2. 效率。
開(kāi)會(huì)人提前做好準(zhǔn)備,要說(shuō)哪些事,要統(tǒng)計(jì)哪些事。完事立馬散會(huì),不要把會(huì)議的內(nèi)容拿到會(huì)議上去想。
3. 語(yǔ)言精煉
一共有哪幾件事,需要大家知道什么,需要大家做什么,怎么做。
Member只關(guān)心一件事,需要我做什么,怎么做。至于這個(gè)問(wèn)題你是怎么發(fā)現(xiàn)的,怎么思考的,怎么設(shè)計(jì)的,我們不關(guān)心,我們關(guān)心的只是你最后的決定。
4. 能用郵件說(shuō)明的,盡量用郵件。
節(jié)省時(shí)間,還能有所保留。
8月3日
正對(duì)目前的作業(yè)狀況,日方提出方案,改變項(xiàng)目作業(yè)方式。
以機(jī)能為單位,分別進(jìn)行DD->PG->PT。而且,每周按機(jī)能向客戶提交成果物。還好我當(dāng)時(shí)的DD已結(jié)束,接下來(lái)要做的就是機(jī)能1的PG,PT,然后進(jìn)行機(jī)能2的PG,PT。…….
這樣的好處:可以提前發(fā)現(xiàn)一些PT的問(wèn)題,進(jìn)而在下一個(gè)PG中避免。
這樣的壞處:頻繁的修改和維護(hù)文檔。PG,PT的質(zhì)量會(huì)有影響。
8月5日
關(guān)于review的問(wèn)題。
據(jù)說(shuō)第一次review都要全員參加。
我們review的方式完全是在模仿日本的review方式:會(huì)議室全員review。
結(jié)果不是很理想,因?yàn)轫?xiàng)目組的大部分人技術(shù)和經(jīng)驗(yàn)都沒(méi)有達(dá)到能夠直接review的水平。
這件事讓我意識(shí)到一個(gè)問(wèn)題,不能盲目的模仿日本的作業(yè)方式,應(yīng)該結(jié)合我們自身的實(shí)際水平,用適合我們自己的方式。個(gè)人覺(jué)得,我們項(xiàng)目組的方式應(yīng)該是這樣的:
1. 針對(duì)某一個(gè)機(jī)能,在review前,安排2-3人(或者全員)在自己的機(jī)器上review,時(shí)間由review者在當(dāng)天自由安排。
2. review者將review結(jié)果直接告訴給被review者。
3. review者將共通的問(wèn)題,以mail的形式全員通知大家(或者利用早會(huì))。
4. 有需要的話,可以在大家都review之后,再去會(huì)議室集體review,內(nèi)容為大家陳述自己的指摘內(nèi)容,而不是大眼兒瞪小眼兒的在那兒看。
5. 多多鼓勵(lì)大家主動(dòng)review,自己寫(xiě)完了,主動(dòng)找別人幫看一下大概。
6. 參考別人代碼的時(shí)候,也隨時(shí)幫別人指摘。比如一些類似的地方,無(wú)所謂誰(shuí)對(duì)誰(shuí)錯(cuò),只要大家做法統(tǒng)一就好。
總之,我們目前的水平,還不能靠經(jīng)驗(yàn)來(lái)review,只能憑借剛剛做過(guò)的內(nèi)容,再看到別人犯同樣的錯(cuò)誤時(shí),就能夠指摘出來(lái)。
8月6日
Review工作改為一對(duì)一的方式。由PM和PJL擔(dān)任,分別review我們的各個(gè)機(jī)能。
這樣,PM和PJL的工作任務(wù)又重了,由于時(shí)間的緊迫,使得一些機(jī)能無(wú)法得到及時(shí)的review。增加了一些不必要的修改時(shí)間。
這里讓我想起某項(xiàng)目的一條經(jīng)驗(yàn),就是對(duì)每一個(gè)擔(dān)當(dāng)?shù)牡谝粋€(gè)成果物要做到100%review。大概就是這個(gè)意思,這就是兩個(gè)項(xiàng)目的差距,他們有式樣理解的時(shí)間,有WT,CR的時(shí)間,而我們,這些內(nèi)容,只能自己擠時(shí)間來(lái)做。
這樣的情況下:
談質(zhì)量?談方法?
8月7日
總監(jiān)請(qǐng)項(xiàng)目組全員吃飯。
慰問(wèn)餐。
8月12日
測(cè)試開(kāi)始,整理幾個(gè)問(wèn)題:
1. 一定要發(fā)布到一個(gè)專門(mén)的服務(wù)器上,在服務(wù)器上測(cè)試。特別是在這種PG,PT交替進(jìn)行的作業(yè)方式的情況下。
2. 測(cè)試的過(guò)程中,不要使用個(gè)人相關(guān)或者公司相關(guān)的數(shù)據(jù)作為測(cè)試數(shù)據(jù),特別是截圖。
3. 養(yǎng)成每晚下班前,checkin自己的代碼的習(xí)慣。
4. checkin之前,先取得服務(wù)器的最新版本,保證代碼編譯正確。
Java工程中,即使個(gè)別文件有編譯錯(cuò)誤,其它文件依然可以正常編譯,但是有些語(yǔ)言的工程是需要全部文件編譯無(wú)誤后,才可以正常編譯的。
5. eclipse中由一個(gè)Checked Out Files的View,可以一覽所有已checkout的文件。
6. 每天早上來(lái)了之后,先取得最新的代碼,保證大家代碼一致。
8月14日
式樣變更的問(wèn)題讓人頭疼。
這次讓我頭疼的不是變更的內(nèi)容本身,而是在對(duì)應(yīng)變更上。
1. 全員開(kāi)會(huì)討論,如何對(duì)應(yīng)變更。
這樣做沒(méi)有必要,領(lǐng)導(dǎo)內(nèi)部討論完,給member一個(gè)方案就成了。
2. 對(duì)于某個(gè)變更,花了很長(zhǎng)時(shí)間在全員會(huì)議上講,為什么這樣對(duì)應(yīng),還讓大家去想領(lǐng)導(dǎo)的這種方式好不好。
這樣做也沒(méi)有必要,不是自己的機(jī)能自己也聽(tīng)不懂。對(duì)于member,我承認(rèn),需要有自己的主見(jiàn),但是在那種情況下,member需要的,就是結(jié)論。
8月19日
我生日。其實(shí)很期盼領(lǐng)導(dǎo)跟我說(shuō)一句,過(guò)生日,今天就別加班了,結(jié)果一直等到9:30也沒(méi)聽(tīng)到,可苦了在家等我的那幫兄弟們。
8月24日
延遲白熱化。
延遲原因:
1. 作業(yè)量大。
以Member1為例,一個(gè)機(jī)能,三天寫(xiě)了4000行代碼,沒(méi)寫(xiě)完,最后用了9天多,寫(xiě)了20幾個(gè)類,凈代碼6000多行,還包括幾個(gè)共通的類。
這樣的結(jié)果是,他在例會(huì)上被領(lǐng)導(dǎo)狠批了一頓,因?yàn)檠舆t。
2. 延遲。
因?yàn)檠舆t,所以延遲。就是這樣。我的體會(huì)就是,一直處于延遲狀態(tài),影響我的作業(yè)質(zhì)量和作業(yè)效率。
對(duì)策:
加班、調(diào)整工程表、找人分擔(dān)剩余作業(yè)任務(wù)。
我覺(jué)得,PG階段,我們的代碼質(zhì)量可以做的更好,但是,這樣的原因,導(dǎo)致,自己編碼之后,對(duì)自己的代碼一點(diǎn)信心都沒(méi)有。因?yàn)槲規(guī)缀鯖](méi)有認(rèn)真的從頭到尾看一遍自己的代碼。
8月25日
部長(zhǎng),PM,PJL安排項(xiàng)目組聚餐。
得以小釋。
8月29日
關(guān)于編碼。
我習(xí)慣上是先寫(xiě)代碼,待代碼調(diào)通之后,再?gòu)念^整理代碼(格式,補(bǔ)注釋以及代碼優(yōu)化)。每個(gè)人的習(xí)慣都不同,但這次,很吃虧。由于代碼邏輯比較復(fù)雜,代碼量也比較大(幾千行),等我調(diào)試之后,再回頭整理的時(shí)候,真的很頭疼。
以后決定,編碼的同時(shí),寫(xiě)簡(jiǎn)單注釋。
9月4日
項(xiàng)目開(kāi)始走入正軌。主要表現(xiàn)在:
1. 大家對(duì)作業(yè)內(nèi)容和作業(yè)方式都基本熟悉了。
2. 領(lǐng)導(dǎo)加人和調(diào)整工程表后,延遲逐漸向0發(fā)展。
3. 領(lǐng)導(dǎo)心情變好了。
這一個(gè)月,雖然依然在加班,但是比前兩個(gè)月好多了。
9月7日
發(fā)現(xiàn)兩個(gè)領(lǐng)導(dǎo)的一個(gè)共同優(yōu)點(diǎn),隨和,不擺領(lǐng)導(dǎo)架子。值得推廣。
9月9日
關(guān)于匯報(bào)進(jìn)度。
從項(xiàng)目啟動(dòng)開(kāi)始,每天都要匯報(bào)進(jìn)度,直到現(xiàn)在才認(rèn)識(shí)到一些問(wèn)題:
1. 項(xiàng)目組要事先定義好進(jìn)度的標(biāo)準(zhǔn)。
對(duì)于一個(gè)機(jī)能的DD,PG或者PT來(lái)說(shuō),什么樣算100%,什么樣算90%,什么樣算80%。定義好,會(huì)節(jié)省很多不必要的再質(zhì)問(wèn)的時(shí)間。
2. 匯報(bào)內(nèi)容要詳細(xì)
有人認(rèn)為這很浪費(fèi)時(shí)間,我覺(jué)得很有用,也很值得。
既能整理自己的思路,又能讓領(lǐng)導(dǎo)及時(shí)準(zhǔn)確的了解你的作業(yè)狀況。
主要說(shuō)明這樣幾件事:
1. 今天計(jì)劃做的內(nèi)容。(工程表中要完成的)
2. 今天實(shí)際做了哪些內(nèi)容。
3. 延遲情況(是否有延遲,有的話說(shuō)明原因)
4. 對(duì)策(基本上就是加班,說(shuō)明自己什么時(shí)候能過(guò)挽回延遲)
5. 遇到的問(wèn)題。(包括一些橫展開(kāi)的注意點(diǎn),以及一些無(wú)法解決的困難)
6. PT的話,要說(shuō)明,測(cè)試機(jī)能名,預(yù)計(jì)測(cè)多少點(diǎn),實(shí)際測(cè)多少點(diǎn),產(chǎn)生多少bug,對(duì)應(yīng)狀況等等。
總之一句話,盡可能的說(shuō)明白。
這個(gè)項(xiàng)目,基本上都在例會(huì)上匯報(bào)進(jìn)度。個(gè)人感覺(jué),不如改用郵件的方式更好一些。
9月14日
劃工程表的一個(gè)小失誤,沒(méi)有考慮到節(jié)假日。(端午節(jié)休息)
9月16日
寫(xiě)郵件時(shí),被領(lǐng)導(dǎo)指摘了。一定要寫(xiě)有意義的title。
9月27日
加班生活結(jié)束。
10月4日
提交最終代碼。
10月6日
修改DD。
再回頭看自己兩個(gè)多月前做過(guò)的DD時(shí),發(fā)現(xiàn)做的真的很爛。
1. 缺少框架的概念。
2. 欠缺共通的思想。
3. 關(guān)于異常,Log等細(xì)節(jié)考慮的不全面。
以后需要注意。
七. 項(xiàng)目之后,談?wù)勑那?/span>
從心里來(lái)說(shuō),其實(shí)從不覺(jué)得這個(gè)項(xiàng)目累,比起曾經(jīng),這樣的加班不算什么。但是,這個(gè)項(xiàng)目做起來(lái),沒(méi)有做上一個(gè)項(xiàng)目舒服。
做上一個(gè)項(xiàng)目的時(shí)候,自己一直被領(lǐng)導(dǎo)和身邊的人肯定著,我付出的越多,越能幫助大家解決更多的問(wèn)題,所以,雖然每天加班到很晚,但是做的很開(kāi)心。
做這個(gè)項(xiàng)目的時(shí)候,從一開(kāi)始我就處于延遲狀態(tài),每天加班的目的只有一個(gè),就是挽回自己的延遲。別說(shuō)幫別人分擔(dān)作業(yè)了,連自己的作業(yè)都無(wú)法完成。這樣的加班,不可能是開(kāi)心,只能讓我更加急躁。最煩的時(shí)候,甚至開(kāi)始抵觸加班。
那段日子,不只我煩,包括領(lǐng)導(dǎo),大家都煩。雖然心情會(huì)影響到一部分工作,但大家還是一起挺過(guò)來(lái)了。
我覺(jué)得我們是成功的,因?yàn)槲覀兌紙?jiān)持到了最后。
無(wú)論遇到什么事,只要堅(jiān)持住,相信一切都會(huì)好起來(lái)的。
歡迎來(lái)訪!^.^!
本BLOG僅用于個(gè)人學(xué)習(xí)交流!
目的在于記錄個(gè)人成長(zhǎng).
所有文字均屬于個(gè)人理解.
如有錯(cuò)誤,望多多指教!不勝感激!