不管我們做什么,同樣的事情如果總是反反復(fù)復(fù)做的時(shí)候,我們總會(huì)去尋找一些做事情的規(guī)律,以幫助我們把事情做得更快、做得更好。軟件、項(xiàng)目也是如此。軟件或者項(xiàng)目其實(shí)都給人提供一種服務(wù)。在給客戶(hù)提供服務(wù)的時(shí)候,如果我們把提供服務(wù)的成本降低了,或者讓客戶(hù)更滿(mǎn)意了。那么我們就算是把事情做得更好了。那么我們?nèi)绾文茏龅搅??個(gè)人覺(jué)得關(guān)鍵的因素就是我們要會(huì)學(xué)習(xí)。
大家都知道,做項(xiàng)目從大體上可以分為需求調(diào)研、設(shè)計(jì)開(kāi)發(fā)、系統(tǒng)維護(hù)三個(gè)步驟。對(duì)于整個(gè)項(xiàng)目來(lái)說(shuō),三個(gè)步驟都是同等重要的,缺一不可。而對(duì)于做項(xiàng)目的人來(lái)說(shuō),需要掌握兩個(gè)東西,一是技術(shù),二是需求,這兩個(gè)東西是缺一不可的。
顯而易見(jiàn),技術(shù)是做任何軟件項(xiàng)目的基礎(chǔ),如果在一個(gè)項(xiàng)目組中沒(méi)有任何人掌握該項(xiàng)目所需要的技術(shù),那么自然就沒(méi)有辦法做這個(gè)項(xiàng)目。對(duì)于一般的項(xiàng)目來(lái)說(shuō),我們都知道,技術(shù)是存在著普遍性的。那就是很多項(xiàng)目都使用相同的技術(shù),有相同技術(shù)背景的人可以參與所有的使用該技術(shù)的項(xiàng)目。比如說(shuō),一般B/S結(jié)構(gòu)的項(xiàng)目大都可以用java來(lái)實(shí)現(xiàn)。也就是說(shuō)如果一技術(shù)人員對(duì)java掌握到了一定的程度。那他就參與這些項(xiàng)目,至于項(xiàng)目的大小、涉及范圍以及項(xiàng)目所在行業(yè)都與技術(shù)沒(méi)有直接的關(guān)系。當(dāng)然,如果技術(shù)人員有過(guò)類(lèi)似項(xiàng)目的背景,做起來(lái)自然會(huì)更好一點(diǎn)。
即使在某些特定的項(xiàng)目需要使用一些特殊的細(xì)節(jié),可能這個(gè)開(kāi)發(fā)人員恰好在以前的經(jīng)驗(yàn)又沒(méi)有接觸這個(gè)細(xì)節(jié),這也不要緊,只要開(kāi)發(fā)人員在項(xiàng)目的開(kāi)發(fā)過(guò)程中通過(guò)進(jìn)一步的學(xué)習(xí),肯定都能掌握該項(xiàng)目所需要的技術(shù)。比如有一個(gè)項(xiàng)目需要使用到hibernation、spring,即使技術(shù)人員從來(lái)都沒(méi)有接觸過(guò)hibernation、spring也不是問(wèn)題。在技術(shù)方面的學(xué)習(xí),對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),他們不僅有學(xué)習(xí)能力,而且大都還有著非常濃厚的興趣。
這里強(qiáng)調(diào)一下,不管是怎么學(xué)習(xí),是基本上掌握一門(mén)語(yǔ)言后進(jìn)一步精通這門(mén)語(yǔ)言,還是學(xué)一門(mén)語(yǔ)言后再學(xué)另外一門(mén)語(yǔ)言,學(xué)習(xí)的過(guò)程總是免不了的。雖然并不是一件很難事情,但是也是需要付出一定的時(shí)間和精力的。
掌握做項(xiàng)目所需要的技術(shù)以后,剩下的事情就是對(duì)需求的理解與掌握,這也是做好項(xiàng)目的重中之中。對(duì)于技術(shù)人員來(lái)說(shuō),需求可以說(shuō)是千變?nèi)f化,不僅是不同的行業(yè)項(xiàng)目所需要解決的問(wèn)題相差很遠(yuǎn),而且即使相同行業(yè)的項(xiàng)目所需要解決的問(wèn)題也可能大不相同。所以在組建項(xiàng)目團(tuán)隊(duì)一般可以要求團(tuán)隊(duì)成員必須有相同的技術(shù)背景,但是不可能要求團(tuán)隊(duì)成員有相同的業(yè)務(wù)背景。因?yàn)楦鞣N各樣的項(xiàng)目實(shí)在太多了,相同的業(yè)務(wù)背景實(shí)在很難,另外實(shí)踐證明也沒(méi)有必要。
很多的項(xiàng)目經(jīng)理或者技術(shù)人員對(duì)于技術(shù)的學(xué)習(xí)都是十分的重視,但是對(duì)于業(yè)務(wù)的學(xué)習(xí)與理解往往很容易被忽略。有人甚至認(rèn)為只要掌握了技術(shù),剩下的事情就好解決了。忽視客戶(hù)需求很容易就導(dǎo)致客戶(hù)不滿(mǎn)、項(xiàng)目中出問(wèn)題甚至整個(gè)項(xiàng)目都失敗。
本人曾經(jīng)接觸過(guò)一個(gè)招標(biāo)管理系統(tǒng)。系統(tǒng)用.net做的,其中用到一個(gè)類(lèi)似于nhiberntion框架。整個(gè)系統(tǒng)無(wú)論是整體框架還是具體的代碼風(fēng)格都非常好。但是這個(gè)系統(tǒng)在試運(yùn)行時(shí)問(wèn)題就很多,導(dǎo)致客戶(hù)非常不滿(mǎn)意。主要是軟件功能與客戶(hù)要求相距甚遠(yuǎn),客戶(hù)這個(gè)時(shí)候又提出來(lái),原來(lái)需求發(fā)生了新的變化。但客戶(hù)的要求幾乎沒(méi)有得到過(guò)及時(shí)的回應(yīng),甚至技術(shù)人員還疑惑,客戶(hù)怎么總有這樣那樣的要求?。亢筮@個(gè)系統(tǒng)停止使用,項(xiàng)目失敗?;剡^(guò)頭來(lái)想想,如果足夠重視客戶(hù)的需求,對(duì)于項(xiàng)目的每一個(gè)細(xì)節(jié)、客戶(hù)的每一個(gè)想法開(kāi)發(fā)人員都予以積極的回應(yīng)。即便開(kāi)發(fā)人員是剛?cè)腴T(mén)的新手,開(kāi)發(fā)進(jìn)度即是延長(zhǎng)一點(diǎn),整個(gè)項(xiàng)目也不至于終失敗。我們也知道,項(xiàng)目所使用的技術(shù),客戶(hù)幾乎是不關(guān)心的。
因此。對(duì)于一個(gè)技術(shù)團(tuán)隊(duì)或者一個(gè)項(xiàng)目組來(lái)說(shuō),要做好一個(gè)項(xiàng)目,其實(shí)關(guān)鍵因素不是團(tuán)隊(duì)的技術(shù)實(shí)力有多強(qiáng),而是對(duì)需求的理解是否透徹,正確的理解、把握需求才是項(xiàng)目成功的關(guān)鍵所在。
如何理解、把握好項(xiàng)目的業(yè)務(wù),個(gè)人感覺(jué)也是一種學(xué)習(xí),是一種領(lǐng)悟。客戶(hù)的業(yè)務(wù)對(duì)于技術(shù)人員或者項(xiàng)目經(jīng)理來(lái)說(shuō)都是一個(gè)未知領(lǐng)域。我們所做的項(xiàng)目一般來(lái)說(shuō)都來(lái)自不同的行業(yè)。一個(gè)項(xiàng)目來(lái)自醫(yī)院的,而下一個(gè)項(xiàng)目可能就是來(lái)自銀行的,項(xiàng)目與項(xiàng)目之間的需求一般來(lái)說(shuō)都沒(méi)有任何相似性。這是我們技術(shù)所經(jīng)常需要面對(duì)的問(wèn)題,也正是因?yàn)槲覀兯捻?xiàng)目之間相距遙遠(yuǎn),所以這就要求,我們技術(shù)人員在面對(duì)各個(gè)行業(yè)的業(yè)務(wù)時(shí),必須具備一種快速的學(xué)習(xí)和領(lǐng)悟的能力;理解和掌握能把客戶(hù)的業(yè)務(wù)后,通過(guò)技術(shù)手段來(lái)實(shí)現(xiàn)客戶(hù)的業(yè)務(wù)。
就拿醫(yī)院的管理系統(tǒng)來(lái)說(shuō)吧,我們知道,一個(gè)普通病人去醫(yī)院看病大體流程都是掛號(hào)、看病、檢查、拿藥。所以我們?cè)谛枨笳{(diào)研我們需要掌握不僅整個(gè)流程,而且我們還應(yīng)該知道每一個(gè)環(huán)節(jié)的細(xì)節(jié)。比如在病人掛號(hào)的時(shí)候,掛號(hào)員應(yīng)該了解病人的哪些具體信息,病人第去醫(yī)院與第二次去醫(yī)院又有什么區(qū)別。這都是在做需求調(diào)研所必須了解的。只有理解醫(yī)院所有環(huán)節(jié)以及每個(gè)環(huán)節(jié)的詳細(xì)細(xì)節(jié)后,我們才能做相應(yīng)的系統(tǒng)設(shè)計(jì)。至于系統(tǒng)設(shè)計(jì)好以后,如何保存掛號(hào)信息,如何查詢(xún)掛號(hào)人數(shù)等等,那只是基本的技術(shù)手段而已,無(wú)非是數(shù)據(jù)庫(kù)的添加、刪除、修改等。
不管是項(xiàng)目經(jīng)理還是做調(diào)研的技術(shù)人員,每把一個(gè)項(xiàng)目了解得差不多的時(shí)候,總是有意、無(wú)意的對(duì)這個(gè)項(xiàng)目所在的行業(yè)就已經(jīng)有了深刻的理解。記得小學(xué)時(shí)候有篇課文叫----鋼鐵是怎么練成的,大家都知道,課文內(nèi)容與鋼鐵并沒(méi)有什么關(guān)系。當(dāng)我在一個(gè)鋼鐵廠(chǎng)做一段時(shí)間的項(xiàng)目后,就真正的知道鋼鐵是怎么煉成的了。不僅明白什么是巴西球,而且也明白燒結(jié)廠(chǎng)是干什么的。當(dāng)理解各個(gè)煉鐵工序后,某些報(bào)表含義自然就明白了。無(wú)非是各個(gè)工序中的各種原料投入與成品產(chǎn)出比例之類(lèi)的。
如果所做的項(xiàng)目總在一個(gè)行業(yè)中,那他就很很容易的成為行業(yè)專(zhuān)家。在一定的時(shí)間內(nèi)去理解和掌握一個(gè)完全陌生的領(lǐng)域,當(dāng)然絕非一件易事。其中的道路自然是漫長(zhǎng)而曲折。其實(shí)做任何事情都是這樣。不經(jīng)一番冰霜苦,哪得梅花放清香??荚嚧笫占?BR> 因此,當(dāng)我們總是面臨不同行業(yè)的項(xiàng)目的時(shí)候,我們就需要培養(yǎng)和提高我們對(duì)陌生行業(yè)的學(xué)習(xí)能力和領(lǐng)悟能力。
羅羅嗦嗦寫(xiě)了這么多,后小心提示,文字內(nèi)容僅僅是個(gè)人感受而已。或許里面還有許多不盡正確之處,請(qǐng)不吝賜教。
大家都知道,做項(xiàng)目從大體上可以分為需求調(diào)研、設(shè)計(jì)開(kāi)發(fā)、系統(tǒng)維護(hù)三個(gè)步驟。對(duì)于整個(gè)項(xiàng)目來(lái)說(shuō),三個(gè)步驟都是同等重要的,缺一不可。而對(duì)于做項(xiàng)目的人來(lái)說(shuō),需要掌握兩個(gè)東西,一是技術(shù),二是需求,這兩個(gè)東西是缺一不可的。
顯而易見(jiàn),技術(shù)是做任何軟件項(xiàng)目的基礎(chǔ),如果在一個(gè)項(xiàng)目組中沒(méi)有任何人掌握該項(xiàng)目所需要的技術(shù),那么自然就沒(méi)有辦法做這個(gè)項(xiàng)目。對(duì)于一般的項(xiàng)目來(lái)說(shuō),我們都知道,技術(shù)是存在著普遍性的。那就是很多項(xiàng)目都使用相同的技術(shù),有相同技術(shù)背景的人可以參與所有的使用該技術(shù)的項(xiàng)目。比如說(shuō),一般B/S結(jié)構(gòu)的項(xiàng)目大都可以用java來(lái)實(shí)現(xiàn)。也就是說(shuō)如果一技術(shù)人員對(duì)java掌握到了一定的程度。那他就參與這些項(xiàng)目,至于項(xiàng)目的大小、涉及范圍以及項(xiàng)目所在行業(yè)都與技術(shù)沒(méi)有直接的關(guān)系。當(dāng)然,如果技術(shù)人員有過(guò)類(lèi)似項(xiàng)目的背景,做起來(lái)自然會(huì)更好一點(diǎn)。
即使在某些特定的項(xiàng)目需要使用一些特殊的細(xì)節(jié),可能這個(gè)開(kāi)發(fā)人員恰好在以前的經(jīng)驗(yàn)又沒(méi)有接觸這個(gè)細(xì)節(jié),這也不要緊,只要開(kāi)發(fā)人員在項(xiàng)目的開(kāi)發(fā)過(guò)程中通過(guò)進(jìn)一步的學(xué)習(xí),肯定都能掌握該項(xiàng)目所需要的技術(shù)。比如有一個(gè)項(xiàng)目需要使用到hibernation、spring,即使技術(shù)人員從來(lái)都沒(méi)有接觸過(guò)hibernation、spring也不是問(wèn)題。在技術(shù)方面的學(xué)習(xí),對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),他們不僅有學(xué)習(xí)能力,而且大都還有著非常濃厚的興趣。
這里強(qiáng)調(diào)一下,不管是怎么學(xué)習(xí),是基本上掌握一門(mén)語(yǔ)言后進(jìn)一步精通這門(mén)語(yǔ)言,還是學(xué)一門(mén)語(yǔ)言后再學(xué)另外一門(mén)語(yǔ)言,學(xué)習(xí)的過(guò)程總是免不了的。雖然并不是一件很難事情,但是也是需要付出一定的時(shí)間和精力的。
掌握做項(xiàng)目所需要的技術(shù)以后,剩下的事情就是對(duì)需求的理解與掌握,這也是做好項(xiàng)目的重中之中。對(duì)于技術(shù)人員來(lái)說(shuō),需求可以說(shuō)是千變?nèi)f化,不僅是不同的行業(yè)項(xiàng)目所需要解決的問(wèn)題相差很遠(yuǎn),而且即使相同行業(yè)的項(xiàng)目所需要解決的問(wèn)題也可能大不相同。所以在組建項(xiàng)目團(tuán)隊(duì)一般可以要求團(tuán)隊(duì)成員必須有相同的技術(shù)背景,但是不可能要求團(tuán)隊(duì)成員有相同的業(yè)務(wù)背景。因?yàn)楦鞣N各樣的項(xiàng)目實(shí)在太多了,相同的業(yè)務(wù)背景實(shí)在很難,另外實(shí)踐證明也沒(méi)有必要。
很多的項(xiàng)目經(jīng)理或者技術(shù)人員對(duì)于技術(shù)的學(xué)習(xí)都是十分的重視,但是對(duì)于業(yè)務(wù)的學(xué)習(xí)與理解往往很容易被忽略。有人甚至認(rèn)為只要掌握了技術(shù),剩下的事情就好解決了。忽視客戶(hù)需求很容易就導(dǎo)致客戶(hù)不滿(mǎn)、項(xiàng)目中出問(wèn)題甚至整個(gè)項(xiàng)目都失敗。
本人曾經(jīng)接觸過(guò)一個(gè)招標(biāo)管理系統(tǒng)。系統(tǒng)用.net做的,其中用到一個(gè)類(lèi)似于nhiberntion框架。整個(gè)系統(tǒng)無(wú)論是整體框架還是具體的代碼風(fēng)格都非常好。但是這個(gè)系統(tǒng)在試運(yùn)行時(shí)問(wèn)題就很多,導(dǎo)致客戶(hù)非常不滿(mǎn)意。主要是軟件功能與客戶(hù)要求相距甚遠(yuǎn),客戶(hù)這個(gè)時(shí)候又提出來(lái),原來(lái)需求發(fā)生了新的變化。但客戶(hù)的要求幾乎沒(méi)有得到過(guò)及時(shí)的回應(yīng),甚至技術(shù)人員還疑惑,客戶(hù)怎么總有這樣那樣的要求?。亢筮@個(gè)系統(tǒng)停止使用,項(xiàng)目失敗?;剡^(guò)頭來(lái)想想,如果足夠重視客戶(hù)的需求,對(duì)于項(xiàng)目的每一個(gè)細(xì)節(jié)、客戶(hù)的每一個(gè)想法開(kāi)發(fā)人員都予以積極的回應(yīng)。即便開(kāi)發(fā)人員是剛?cè)腴T(mén)的新手,開(kāi)發(fā)進(jìn)度即是延長(zhǎng)一點(diǎn),整個(gè)項(xiàng)目也不至于終失敗。我們也知道,項(xiàng)目所使用的技術(shù),客戶(hù)幾乎是不關(guān)心的。
因此。對(duì)于一個(gè)技術(shù)團(tuán)隊(duì)或者一個(gè)項(xiàng)目組來(lái)說(shuō),要做好一個(gè)項(xiàng)目,其實(shí)關(guān)鍵因素不是團(tuán)隊(duì)的技術(shù)實(shí)力有多強(qiáng),而是對(duì)需求的理解是否透徹,正確的理解、把握需求才是項(xiàng)目成功的關(guān)鍵所在。
如何理解、把握好項(xiàng)目的業(yè)務(wù),個(gè)人感覺(jué)也是一種學(xué)習(xí),是一種領(lǐng)悟。客戶(hù)的業(yè)務(wù)對(duì)于技術(shù)人員或者項(xiàng)目經(jīng)理來(lái)說(shuō)都是一個(gè)未知領(lǐng)域。我們所做的項(xiàng)目一般來(lái)說(shuō)都來(lái)自不同的行業(yè)。一個(gè)項(xiàng)目來(lái)自醫(yī)院的,而下一個(gè)項(xiàng)目可能就是來(lái)自銀行的,項(xiàng)目與項(xiàng)目之間的需求一般來(lái)說(shuō)都沒(méi)有任何相似性。這是我們技術(shù)所經(jīng)常需要面對(duì)的問(wèn)題,也正是因?yàn)槲覀兯捻?xiàng)目之間相距遙遠(yuǎn),所以這就要求,我們技術(shù)人員在面對(duì)各個(gè)行業(yè)的業(yè)務(wù)時(shí),必須具備一種快速的學(xué)習(xí)和領(lǐng)悟的能力;理解和掌握能把客戶(hù)的業(yè)務(wù)后,通過(guò)技術(shù)手段來(lái)實(shí)現(xiàn)客戶(hù)的業(yè)務(wù)。
就拿醫(yī)院的管理系統(tǒng)來(lái)說(shuō)吧,我們知道,一個(gè)普通病人去醫(yī)院看病大體流程都是掛號(hào)、看病、檢查、拿藥。所以我們?cè)谛枨笳{(diào)研我們需要掌握不僅整個(gè)流程,而且我們還應(yīng)該知道每一個(gè)環(huán)節(jié)的細(xì)節(jié)。比如在病人掛號(hào)的時(shí)候,掛號(hào)員應(yīng)該了解病人的哪些具體信息,病人第去醫(yī)院與第二次去醫(yī)院又有什么區(qū)別。這都是在做需求調(diào)研所必須了解的。只有理解醫(yī)院所有環(huán)節(jié)以及每個(gè)環(huán)節(jié)的詳細(xì)細(xì)節(jié)后,我們才能做相應(yīng)的系統(tǒng)設(shè)計(jì)。至于系統(tǒng)設(shè)計(jì)好以后,如何保存掛號(hào)信息,如何查詢(xún)掛號(hào)人數(shù)等等,那只是基本的技術(shù)手段而已,無(wú)非是數(shù)據(jù)庫(kù)的添加、刪除、修改等。
不管是項(xiàng)目經(jīng)理還是做調(diào)研的技術(shù)人員,每把一個(gè)項(xiàng)目了解得差不多的時(shí)候,總是有意、無(wú)意的對(duì)這個(gè)項(xiàng)目所在的行業(yè)就已經(jīng)有了深刻的理解。記得小學(xué)時(shí)候有篇課文叫----鋼鐵是怎么練成的,大家都知道,課文內(nèi)容與鋼鐵并沒(méi)有什么關(guān)系。當(dāng)我在一個(gè)鋼鐵廠(chǎng)做一段時(shí)間的項(xiàng)目后,就真正的知道鋼鐵是怎么煉成的了。不僅明白什么是巴西球,而且也明白燒結(jié)廠(chǎng)是干什么的。當(dāng)理解各個(gè)煉鐵工序后,某些報(bào)表含義自然就明白了。無(wú)非是各個(gè)工序中的各種原料投入與成品產(chǎn)出比例之類(lèi)的。
如果所做的項(xiàng)目總在一個(gè)行業(yè)中,那他就很很容易的成為行業(yè)專(zhuān)家。在一定的時(shí)間內(nèi)去理解和掌握一個(gè)完全陌生的領(lǐng)域,當(dāng)然絕非一件易事。其中的道路自然是漫長(zhǎng)而曲折。其實(shí)做任何事情都是這樣。不經(jīng)一番冰霜苦,哪得梅花放清香??荚嚧笫占?BR> 因此,當(dāng)我們總是面臨不同行業(yè)的項(xiàng)目的時(shí)候,我們就需要培養(yǎng)和提高我們對(duì)陌生行業(yè)的學(xué)習(xí)能力和領(lǐng)悟能力。
羅羅嗦嗦寫(xiě)了這么多,后小心提示,文字內(nèi)容僅僅是個(gè)人感受而已。或許里面還有許多不盡正確之處,請(qǐng)不吝賜教。