工作大半年了,上次和老師聊天,邀請(qǐng)我寫篇項(xiàng)目開發(fā)感想,這個(gè)項(xiàng)目是個(gè)很趕時(shí)間的項(xiàng)目,周末也要自覺加班。很累,但是還是撐過來了,終于把手頭上的一個(gè)大項(xiàng)目做完了,才得以騰出時(shí)間寫寫總結(jié)。
從4月開始投標(biāo)然后陸陸續(xù)續(xù)有人加進(jìn)來,我是5月初加進(jìn)來的。4月部門經(jīng)理吳經(jīng)理就先主導(dǎo)需求調(diào)研,同時(shí)招聘這個(gè)項(xiàng)目的項(xiàng)目經(jīng)理。初步需求搞定了就到了5月份。由于自己有相同的項(xiàng)目的開發(fā)和管理經(jīng)驗(yàn),吳經(jīng)理要求我過來支撐一下前期開發(fā)工作。等到項(xiàng)目經(jīng)理到位了,吳經(jīng)理就脫身了。然后就進(jìn)入了我們辛苦的6月和痛苦的7月。
做項(xiàng)目的向來都很辛苦,不加班不正常。人員配備齊全后,吳經(jīng)理問我這個(gè)項(xiàng)目問題大不大。自己當(dāng)時(shí)沒有理解吳經(jīng)理的意思,就很樂觀地說沒問題。我這么一說,吳經(jīng)理就漸漸脫離了這個(gè)項(xiàng)目,等到我反應(yīng)過來的時(shí)候,自己已經(jīng)集開發(fā)管理、設(shè)計(jì)和開發(fā)于一身了。新來的項(xiàng)目經(jīng)理大劉一直在熟悉需求,遲遲沒有上手。需求和進(jìn)度的控制也沒有人做。
1、吳經(jīng)理脫身太早,需求調(diào)研銜接不好。我和大劉到位后,吳經(jīng)理就成天出差。雖然做了初步的需求調(diào)研,很多東西又是有待客戶確認(rèn)的甚至是業(yè)務(wù)邏輯不清晰的。需求的不明就直接得影響到我們對(duì)業(yè)務(wù)的理解和系統(tǒng)設(shè)計(jì)。
2、大劉遲遲不能把握需求。在我看來,一個(gè)項(xiàng)目的責(zé)任是自上而下的。所以談感想的時(shí)候也要自上而下。大劉是吳經(jīng)理強(qiáng)力推薦的。估計(jì)在社會(huì)經(jīng)驗(yàn)上面的豐富程度讓吳經(jīng)理做出了這個(gè)決定。8月份的大劉始終都處于整體業(yè)務(wù)的梳理階段,至于需求調(diào)研和項(xiàng)目進(jìn)度的控制做的很少。
3、原本以為吳經(jīng)理會(huì)一直主導(dǎo)本項(xiàng)目的需求調(diào)研和項(xiàng)目管理。所以給自己的定位是開發(fā)兼內(nèi)部技術(shù)支持的角色。后來發(fā)現(xiàn)吳經(jīng)理脫身的時(shí)候,自己已經(jīng)在做他做的事情了。這個(gè)時(shí)候,如果可以及時(shí)和吳經(jīng)理溝通,討論如果繼續(xù)支持項(xiàng)目進(jìn)度的話,估計(jì)自己不用經(jīng)常加班、項(xiàng)目管理也會(huì)比較順暢。我只是默默的加班,經(jīng)常性的加班也導(dǎo)致工作效率的下降,以此惡性循環(huán)。
4、開發(fā)環(huán)境的搭建問題。7月份在調(diào)研的時(shí)候已經(jīng)有人進(jìn)入這個(gè)項(xiàng)目并開始做架構(gòu)的梳理和公共環(huán)境的搭建了。不過搭建的環(huán)境確實(shí)不敢恭維。我們擁有相同的項(xiàng)目經(jīng)驗(yàn),當(dāng)不一定可以原班照抄的把原先的項(xiàng)目搬過來用,這一點(diǎn)小公司應(yīng)該最清楚。搬過來后的結(jié)構(gòu),無用的代碼堆積得讓人感覺像是一個(gè)超級(jí)大胖子身上的肥肉。另外我們使用的數(shù)據(jù)庫的試用版的只支持一個(gè)用戶連接,嚴(yán)重影響了共同開發(fā)的效率。另外沒有搭建WEB服務(wù)器為我們后來部署給用戶的時(shí)候保留了相當(dāng)大的難度。
5、合作的問題。這個(gè)問題在我們的開發(fā)中沒有成為一個(gè)大問題,因?yàn)榇蠹叶枷氚堰@個(gè)項(xiàng)目做好。需要提到的一點(diǎn),就是和老板的溝通問題。在為用戶部署程序的時(shí)候,發(fā)現(xiàn)的web服務(wù)器支持jstl有些問題,導(dǎo)致需要現(xiàn)場更改很多的代碼。事后問道大劉,回答:老板說web服務(wù)器沒什么差別,就沒有管。如果是當(dāng)時(shí)的我,同樣也不會(huì)反駁老板,因?yàn)槲掖_實(shí)沒有用過websphere,更不要說和tomcat的差別了。更何況是老板,沒有充足的理由,也最好不要反駁他?,F(xiàn)在的話,有了徹夜修改代碼的慘痛經(jīng)歷后,情況應(yīng)該會(huì)不一樣了。說到頭還是經(jīng)驗(yàn)的問題。
6、亂七八糟的問題。比如代碼管理服務(wù)器經(jīng)常死掉、數(shù)據(jù)庫版本不一致等等。
總結(jié)一下:
大多情況下,付出是有回報(bào)的。有朋友就跟我提議,趕快讓老板加工資。很現(xiàn)實(shí),可我沒有這個(gè)習(xí)慣,也不習(xí)慣在這個(gè)節(jié)骨眼上做這樣的事。作為經(jīng)驗(yàn)的總結(jié),我很高興自己能以當(dāng)前的角色進(jìn)入這個(gè)項(xiàng)目,雖然沒有得到相應(yīng)的物資或者精神獎(jiǎng)勵(lì),但是我很清楚自己得到了什么。這是最重要的,至少對(duì)現(xiàn)階段的我來說。
1、要把需求寫好。這個(gè)不用說了,誰都不想更改設(shè)計(jì)。
2、做好需求的跟進(jìn)和需求的版本控制。需求也有版本,做好了,加以時(shí)間的控制。切切實(shí)實(shí)讓內(nèi)部的開發(fā)人員感到自己沒對(duì)的是一個(gè)確定了的需求。
3、模擬環(huán)境和開發(fā)環(huán)境。
4、控制好用戶的進(jìn)度要求。這個(gè)需要比較高的談判技巧和應(yīng)變能力。總體來說還是為內(nèi)部創(chuàng)造比較寬松的開發(fā)時(shí)間。不要三天兩頭的過去調(diào)試系統(tǒng),時(shí)間浪費(fèi)很大。
5、合理分工,盡量發(fā)揮各人的優(yōu)勢(shì)。再牛的人也有極限,分工要合理。
6、需要注意程序員的心態(tài)。過長時(shí)間的加班會(huì)導(dǎo)致身心疲憊,開發(fā)效率可想而知。需要一些休息或這實(shí)質(zhì)性的進(jìn)展讓同志們看到希望。
7、牢牢地跟進(jìn)開發(fā)進(jìn)度。適當(dāng)?shù)刈稣{(diào)整,讓項(xiàng)目始終處于掌控之中。