軟件開發(fā)的冤枉路,帶來(lái)目前IT項(xiàng)目管理的另一段冤枉路,我們是繼續(xù)朝這條冤枉路走下去,還是找尋軟件工程的正確路線?希望各從業(yè)人員自己判斷,并做出適當(dāng)結(jié)論。
客戶基本不理解本身的需求,又如何能夠告訴我們所期待的“需求”呢?又如何會(huì)認(rèn)同技術(shù)人員收集到的“需求”及確認(rèn)所謂“需求說(shuō)明書”呢?
軟件開發(fā)的冤枉路
大部分軟件開發(fā)從業(yè)人員常訴說(shuō)“很難把握客戶的需求”。筆者認(rèn)為這句話不應(yīng)該從一個(gè)專業(yè)人員口中說(shuō)出來(lái),你聽過(guò)一個(gè)裝修工人告訴你他不能把握客戶的裝修需求嗎?但這卻是事實(shí)。如何能夠“把握客戶的需求”便成為軟件工程中急需解決的問(wèn)題。
很多專家發(fā)表很多關(guān)于“應(yīng)該如何才能夠把握客戶的需求”,“需要采用哪些手段”等理論。但筆者以過(guò)去三十多年科技企業(yè)軟件開發(fā)的經(jīng)驗(yàn)告訴大家,基本不用去“把握”客戶的“需求”。
軟件開發(fā)的冤枉路,帶來(lái)目前IT項(xiàng)目管理的另一段冤枉路,我們是繼續(xù)朝這條冤枉路走下去,還是找尋軟件工程的正確路線?希望各從業(yè)人員自己判斷,并做出適當(dāng)結(jié)論。
國(guó)內(nèi)對(duì)需求的解釋
筆者從1972年開始從事軟件開發(fā),1979年開始成為開發(fā)小組主管,1984年正式成為項(xiàng)目經(jīng)理,到今天已經(jīng)積累了三十多年的開發(fā)及二十多年的管理經(jīng)驗(yàn)。筆者最近這兩年在國(guó)內(nèi)從事教育及咨詢的工作中,發(fā)覺國(guó)內(nèi)軟件從業(yè)人員所談的“需求”和過(guò)去在國(guó)外執(zhí)行軟件開發(fā)時(shí)所談的“需求”有很大的差異。
在國(guó)外建設(shè)系統(tǒng)的時(shí)候,“需求”是技術(shù)人員建立的,不是從客戶提出的。但國(guó)內(nèi)的軟件從業(yè)人員所談的“需求”是在“調(diào)研”過(guò)程中由客戶提出的。坦白說(shuō),客戶基本不理解本身的需求,又如何能夠告訴我們所期待的“需求”呢?又如何會(huì)認(rèn)同技術(shù)人員收集到的“需求”及確認(rèn)所謂“需求說(shuō)明書”呢?
試想想,當(dāng)我們要研制一件產(chǎn)品的時(shí)候,我們會(huì)問(wèn)消費(fèi)者他們對(duì)產(chǎn)品的需求嗎?也許我們會(huì)咨詢他們的意見,但生產(chǎn)商會(huì)綜合消費(fèi)者的意見,廠商本身對(duì)市場(chǎng)的理解,和最終客戶群的采購(gòu)“目的”來(lái)制定產(chǎn)品功能需求,最后成為產(chǎn)品的規(guī)格,才投入生產(chǎn),推廣到市場(chǎng)中。這個(gè)道理很簡(jiǎn)單,但我國(guó)軟件從業(yè)人員卻認(rèn)為軟件工程與產(chǎn)品開發(fā)是不一樣的,不能用同一方法處理,一直在走冤枉路。
我們的做法是,從項(xiàng)目開始進(jìn)行“調(diào)研”(另一個(gè)軟件工業(yè)的重大誤區(qū)),對(duì)客戶的基層人員進(jìn)行訪談,希望能夠在調(diào)研期間讓客戶說(shuō)出本身的需求,從而把握客戶的需求,編寫所謂調(diào)研報(bào)告或需求說(shuō)明書。
其實(shí),所謂調(diào)研是進(jìn)行調(diào)查,繼而進(jìn)行研究,這是兩個(gè)工作,但我們常把它變成一個(gè)工作來(lái)進(jìn)行。國(guó)內(nèi)對(duì)“gather requirements”(收集需求)的理解是從客戶的訪談、調(diào)查、研究過(guò)程中發(fā)掘客戶的需求,由于客戶對(duì)需求不明確,技術(shù)人員未能把握需求,所以一調(diào)研便花費(fèi)很長(zhǎng)時(shí)間。
國(guó)外對(duì)需求的詮譯
國(guó)外軟件行業(yè)基本沒(méi)有所謂“調(diào)研”的概念。我們?cè)陧?xiàng)目的起始階段只有“fact finding”(或FF,即“找尋事實(shí)”)。顧名思義,F(xiàn)F的目的是理解客戶如何執(zhí)行工作,技術(shù)人員對(duì)客戶進(jìn)行訪談,目的并不是把握客戶的需求,而是理解客戶目前如何執(zhí)行自身的工作。訪談報(bào)告只包括目前工作如何在部門中實(shí)施,是現(xiàn)狀的描述,所以往往能夠得到客戶的認(rèn)同及確認(rèn)。
他們?cè)谠L談結(jié)束后,開始對(duì)現(xiàn)狀進(jìn)行分析,考慮整個(gè)工作流程是否合理,如何才能夠達(dá)到項(xiàng)目的目標(biāo),從如何達(dá)到項(xiàng)目的目標(biāo)來(lái)決定項(xiàng)目的需求。
國(guó)內(nèi)外的差異
我們必須認(rèn)識(shí)到一點(diǎn), 軟件開發(fā)的目的是為企業(yè)提升生產(chǎn)率(Productivity improvement),提升工作效率(efficiency improvement)及建立商業(yè)效益(business benefi
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html