前些日子有一個(gè)朋友向我要一份需求的標(biāo)準(zhǔn)文檔,因?yàn)樗F(xiàn)在正在負(fù)責(zé)一個(gè)項(xiàng)目。我對(duì)他說,我的需求文檔只適合我用,并不適合你用。如果你是真的想在開發(fā)過程中引入科學(xué)的管理方法,靜下心來,認(rèn)真的學(xué)習(xí)需求的方法論,仔細(xì)的思考適合你們自身的方法。如果你只是需要一份好看的模版來哄哄Boss的話,那你就隨便去找一份文檔來修改一下就行了,保證糊弄得住人。最后我的朋友毅然的找了一份漂亮的文檔走了。
朋友走后我思考了很久,中國目前有很多的軟件公司都很有實(shí)力,可是他們?cè)诠芾矸椒ㄉ蠀s很成問題。上半年在業(yè)界炒得沸沸揚(yáng)揚(yáng)的CMM是個(gè)什么東西呢?說穿了,就是一套適合軟件行業(yè)的管理方法。這套管理方法并不是說你花了大堆的票子去過了CMM的評(píng)估或是購買了Rational公司的什么產(chǎn)品,而是在于你是不是真的理解了里面的管理精髓。前些日子看一篇報(bào)道聯(lián)想實(shí)施ERP系統(tǒng)的文章,里面一句很不起眼的話給了我很大的感觸。它說,聯(lián)想在實(shí)施ERP之前,雖然也有大量的管理規(guī)范,但都是空談的管理,公司主要還是靠“人治”。而我們現(xiàn)在很多的軟件公司還是處于“人治”?!叭酥巍钡暮蠊呛車?yán)重的,必將導(dǎo)致你的軟件企業(yè)成本居高不下,管理上不傳,下不達(dá),企業(yè)無法快速發(fā)展。軟件行業(yè)歷來以利潤高出名,利潤是高,你想想軟件的邊際成本才多少(拷貝一份軟件需要多少錢?)??墒侵袊能浖袠I(yè)卻做的不好??纯次覀兊呐_(tái)灣同胞們,雖然他們?cè)谲浖脚_(tái)的研究方面并不出色,但是在軟件應(yīng)用水平上是很了不起的。當(dāng)然,臺(tái)灣有他的歷史原因:深受美國文化影響,屬于美國制造外包的主要地區(qū)。
上面說了一大堆的廢話,我們還是回到我們的需求上面來。
溝通是一切
需求是一個(gè)過程,一個(gè)在軟件生命周期中很重要的過程。在上一篇中,我們討論了需求的層次、需求的風(fēng)險(xiǎn)、需求的特點(diǎn)。而在這么多需求要素之上的要素只有一個(gè):溝通。溝通是什么,說小了是需求過程的重要技巧,說大了是軟件企業(yè)的生命線。一個(gè)項(xiàng)目失敗的原因有很多,而絕大多數(shù)都可以總結(jié)到溝通不暢。需求過程中充滿了溝通:需求分析員和用戶的溝通,不同的用戶之間的溝通,需求分析員和需求審核人員的溝通,項(xiàng)目經(jīng)理和需求分析員的溝通。溝通到一個(gè)什么程度,是需求成功與否的標(biāo)志。
曾經(jīng)和幾個(gè)老同學(xué)聊天的時(shí)候說起他們?nèi)ビ脩裟睦镒鲂枨笳{(diào)研,用戶報(bào)來一堆資料,和他們聊了半天,他們就回去開始設(shè)計(jì)、編碼。我說你后面肯定吃苦頭了。果不其然,項(xiàng)目返工的時(shí)間差不多等于整個(gè)項(xiàng)目的時(shí)間。這太可怕了,意味著這個(gè)項(xiàng)目企業(yè)極可能虧本。為什么會(huì)這樣呢?項(xiàng)目好比一座大樓,如果設(shè)計(jì)師連大樓要蓋多少層都不清楚,那你說蓋出來的會(huì)是個(gè)什么東西。
《軟件需求》一書中提到了一個(gè)很有意思的概念:軟件客戶需求義務(wù)和權(quán)利
優(yōu)秀的軟件產(chǎn)品是建立在優(yōu)秀的需求基礎(chǔ)之上的。而高質(zhì)量的需求來源于客戶與開發(fā)人員之間有效的交流與合作。通常,開發(fā)人員與客戶或客戶代理人,如市場人員間的關(guān)系反而會(huì)成為一種對(duì)立關(guān)系。雙方的管理者都只想自己的利益而擱置用戶提供的需求從而產(chǎn)生摩擦,在這種情況下,不會(huì)給雙方帶來一點(diǎn)益處。
只有當(dāng)雙方參與者都明白要成功自己需要什么,同時(shí)也應(yīng)知道要成功合作方需要什么時(shí),才能建立起一種合作關(guān)系。由于項(xiàng)目壓力與日漸增,所有風(fēng)險(xiǎn)承擔(dān)者有著一個(gè)共同的目標(biāo)這一點(diǎn)容易被遺忘。其實(shí)大家都想開發(fā)出一個(gè)既能實(shí)現(xiàn)商業(yè)價(jià)值,又能滿足用戶需要,還能使開發(fā)者感到滿足的優(yōu)秀軟件產(chǎn)品。
軟件客戶需求權(quán)利書列出了十條關(guān)于客戶在項(xiàng)目需求工程實(shí)施中與分析人員、開發(fā)人員交流時(shí)的合法要求。每一項(xiàng)權(quán)利都對(duì)應(yīng)著軟件開發(fā)人員、分析人員的義務(wù)。而軟件客戶需求義務(wù)書也列出了十條關(guān)于客戶在需求過程中應(yīng)承擔(dān)的義務(wù)。如果愿意,