[濟(jì)南軟件開發(fā)專題]軟件開發(fā)需求分析法則
2014-05-05 08:52:05 訪問:
軟件開發(fā)過(guò)程中客戶與開發(fā)人員交流需要好的方法。下面建議20條法令,客戶和開發(fā)人員可以通過(guò)評(píng)審以下內(nèi)容并達(dá)成共鳴。如果碰到不合,將通過(guò)協(xié)商達(dá)成對(duì)各自任務(wù)的互相理解,以便減少當(dāng)前的磨擦(如一方要求而另一方不違心或不可以滿意要求)。
1、分析人員要使用合乎客戶語(yǔ)言習(xí)慣的表達(dá)
需求討論集中于業(yè)務(wù)需求和任務(wù),因此要使用術(shù)語(yǔ)??蛻魬?yīng)將有關(guān)術(shù)語(yǔ)(例如:采價(jià)、印花商品等洽購(gòu)術(shù)語(yǔ))教給分析人員,而客戶不一定要理解盤算機(jī)行業(yè)的術(shù)語(yǔ)。
2、分析人員要了解客戶的業(yè)務(wù)及目的
只有分析人員更好地了解客戶的業(yè)務(wù),才干使產(chǎn)品更好地滿意需要。這將有助于開發(fā)人員設(shè)計(jì)出真正知足客戶須要并達(dá)到冀望的優(yōu)良軟件。為輔助開發(fā)和分析人員,客戶可以斟酌邀請(qǐng)他們察看本人的工作流程。如果是切換新系統(tǒng),那么開發(fā)和分析人員應(yīng)使用一下目前的舊系統(tǒng),有利于他們清楚目前系統(tǒng)是怎樣工作的,其流程情況以及可供改進(jìn)之處。
3、分析人員必須編寫軟件需求報(bào)告
分析人員應(yīng)將從客戶那里取得的所有信息進(jìn)行收拾,以辨別業(yè)務(wù)需求及標(biāo)準(zhǔn)、功能需求、質(zhì)量目標(biāo)、解決方法和其他信息。通過(guò)這些分析,客戶就能得到一份“需求分析報(bào)告”,此份報(bào)告使開發(fā)人員和客戶之間針對(duì)要開發(fā)的產(chǎn)品內(nèi)容達(dá)成協(xié)定。報(bào)告應(yīng)以一種客戶認(rèn)為易于翻閱和理解的方法組織編寫。客戶要評(píng)審此報(bào)告,以確保報(bào)告內(nèi)容準(zhǔn)確完全地抒發(fā)其需求。一份高質(zhì)量的“需求分析報(bào)告”有助于開發(fā)人員開發(fā)出真正需要的產(chǎn)品。
4、要求得到需求工作結(jié)果的解釋說(shuō)明
分析人員可能采取了多種圖表作為文字性“需求分析報(bào)告”的彌補(bǔ)解釋,由于工作圖表能很清晰地描述出系統(tǒng)行動(dòng)的某些方面,所以呈文中各種圖表有著極高的價(jià)值;固然它們不太難于懂得,但是客戶可能對(duì)此并不熟習(xí),因此客戶能夠要求分析人員說(shuō)明說(shuō)明每個(gè)圖表的作用、符號(hào)的意思和需求開發(fā)工作的成果,以及怎么檢討圖表有無(wú)過(guò)錯(cuò)及不一致等。
5、開發(fā)人員要尊重客戶的意見
如果用戶與開發(fā)人員之間不能彼此理解,那對(duì)于需求的討論將會(huì)有阻礙。獨(dú)特配合能使大家“兼聽則明”。參與需求開發(fā)過(guò)程的客戶有權(quán)要求開發(fā)人員尊重他們并愛護(hù)他們?yōu)轫?xiàng)目成功所付出的時(shí)間,同樣,客戶也應(yīng)答開發(fā)人員為項(xiàng)目成功這一共同目標(biāo)所做出的盡力表現(xiàn)尊重。
6、開發(fā)人員要對(duì)需求及產(chǎn)品實(shí)施提出倡議和解決方案
通??蛻羲f(shuō)的“需求”已經(jīng)是一種實(shí)際可行的實(shí)行計(jì)劃,分析人員應(yīng)努力從這些解決辦法中懂得真正的業(yè)務(wù)需求,同時(shí)還應(yīng)找出已有系統(tǒng)與當(dāng)前業(yè)務(wù)不符之處,以確保產(chǎn)品不會(huì)無(wú)效或低效;在徹底弄清業(yè)務(wù)范疇內(nèi)的事件后,分析人員就能提出相稱好的改良方式,有教訓(xùn)且有發(fā)明力的分析人員還能提出增添一些用戶不發(fā)現(xiàn)的很有價(jià)值的系統(tǒng)特性。
7、描述產(chǎn)品使用特性
客戶可以要求分析人員在實(shí)現(xiàn)功能需求的同時(shí)還留神軟件的易用性,因?yàn)檫@些易用特性或質(zhì)量屬性能使客戶更準(zhǔn)確、高效地完成任務(wù)。例如:客戶有時(shí)要求產(chǎn)品要“界面友好”或“硬朗”或“高效力”,但對(duì)開發(fā)人員來(lái)講,太主觀了并無(wú)適用價(jià)值。正確的做法是,分析人員通過(guò)訊問和考察了解客戶所要的“友愛、健壯、高效所包括的詳細(xì)特性,詳細(xì)分析哪些特性對(duì)哪些特性有負(fù)面影響,在性能代價(jià)和所提出解決方案的預(yù)期好處之間做出衡量,以確保做出合理的取舍。
8、容許重用已有的軟件組件
需求通常有一定機(jī)動(dòng)性,剖析人員可能發(fā)明已有的某個(gè)軟件組件與客戶描寫的需求很相符,在這種情形下,分析職員應(yīng)供給一些修正需求的抉擇以便開發(fā)人員可能下降新體系的開發(fā)本錢跟節(jié)儉時(shí)光,而不用嚴(yán)厲按原有的需要闡明開發(fā)。所以說(shuō),假如想在產(chǎn)品中應(yīng)用一些已有的貿(mào)易常用組件,而它們并不完整合適你所需的特征,這時(shí)必定水平上的需求靈巧性就顯得極為主要了。
9、請(qǐng)求對(duì)變更的代價(jià)提供實(shí)在牢靠的評(píng)估
有??同的選擇。而這時(shí),對(duì)需求變更的影響進(jìn)行評(píng)估從而對(duì)業(yè)務(wù)決策提供贊助,是非常必要的。所以,客戶有權(quán)力要求開發(fā)人員通過(guò)火析給出一個(gè)真實(shí)可托的評(píng)估,包括影響、成本和得失等。開發(fā)人員不能因?yàn)椴幌雽?shí)施變更而隨便夸張?jiān)u估成本。
10、失掉滿足客戶功能和質(zhì)量要求的系統(tǒng)
每個(gè)人都生機(jī)項(xiàng)目成功,但這不僅要求客戶要清晰地告知開發(fā)人員關(guān)于系統(tǒng)“做什么”所需的所有信息,而且還要求開發(fā)人員能通過(guò)交流了解清晰取舍與制約,一定要明白說(shuō)明您的假設(shè)和潛在的盼望,否則,開發(fā)人員開發(fā)出的產(chǎn)品很可能無(wú)奈讓您滿足。
11、給分析人員講解您的業(yè)務(wù)
分析人員要依附客戶講解業(yè)務(wù)概念及術(shù)語(yǔ),但客戶不能指望分析人員會(huì)成為該領(lǐng)域的專家,而只能讓他們明白您的問題和目標(biāo);不要期冀分析人員能掌握客戶業(yè)務(wù)的輕微潛在之處,他們可能不曉得那些對(duì)于客戶來(lái)說(shuō)天經(jīng)地義的“常識(shí)”。
12、抽出時(shí)間明白地說(shuō)明并完美需求
客戶很忙,但無(wú)論如何客戶有必要抽出時(shí)間介入“腦筋頂峰會(huì)議”的探討,接收采訪或其余獲取需求的運(yùn)動(dòng)。有些分析人員可能先明確了您的觀點(diǎn),而過(guò)后發(fā)現(xiàn)還需要您的講授,這時(shí)請(qǐng)耐煩看待一些需乞降需求的精化工作過(guò)程中的重復(fù),因?yàn)樗侨藗兘粨Q中很天然的景象,何況這對(duì)軟件產(chǎn)品的勝利極為重要。
13、準(zhǔn)確而具體地說(shuō)明需求
編寫一份清楚、正確的需求文檔是很艱苦的。因?yàn)樘幹眉?xì)節(jié)問題豈但煩人而且耗時(shí),因而很輕易留下隱約不清的需求。然而在開發(fā)進(jìn)程中,必需解決這種含混性和不精確性,而客戶偏偏是為解決這些問題作出決議的最才子選,否則,就只好靠開發(fā)人員去準(zhǔn)確猜想了。
在需求分析中臨時(shí)加上“待定”標(biāo)志是個(gè)方法。用該標(biāo)志可指明哪些是需要進(jìn)一步討論、分析或增加信息的處所,有時(shí)也可能因?yàn)槟硞€(gè)特別需求難以解決或沒有人樂意處理它而標(biāo)注上“待定”??蛻粢M量將每項(xiàng)需求的內(nèi)容都論述清楚,以便分析人員能準(zhǔn)確地將它們寫進(jìn)“軟件需求報(bào)告”中去。如果客戶一時(shí)不能準(zhǔn)確表白,通常就要求用原型技術(shù),通過(guò)原型開發(fā),客戶可以同開發(fā)人員一起反復(fù)修改,不斷完善需求定義。
14、及時(shí)作出決定
分析人員會(huì)要求客戶作出一些挑選和決定,這些決定包含來(lái)自多個(gè)用戶提出的處理方法或在質(zhì)量特性抵觸和信息準(zhǔn)確度中取舍調(diào)和方案等。有權(quán)作出決定的客戶必須踴躍地對(duì)待這所有,盡快做處理,做決定,因?yàn)殚_發(fā)人員通常只有等客戶做出決定能力舉動(dòng),而這種等候會(huì)延誤項(xiàng)目標(biāo)進(jìn)展。
15、尊重開發(fā)人員的需求可行性及成本評(píng)估
所有的軟件功效都有其成本??蛻羲瓮哪承┊a(chǎn)品特性可能在技巧上行不通,或者實(shí)現(xiàn)它要付出極高的代價(jià),而某些需求試圖到達(dá)在操作環(huán)境中不可能達(dá)到的機(jī)能,或試圖得到一些基本得不到的數(shù)據(jù)。開發(fā)人員會(huì)對(duì)此作出負(fù)面的評(píng)估,客戶應(yīng)當(dāng)尊敬他們的看法。
16、劃分需求的優(yōu)先級(jí)
絕大多數(shù)項(xiàng)目沒有足夠的時(shí)間或資源實(shí)現(xiàn)功能性的每個(gè)細(xì)節(jié)。決定哪些特性是必要的,哪些是重要的,是需求開發(fā)的重要局部,這只能由客戶負(fù)責(zé)設(shè)定需求優(yōu)先級(jí),因?yàn)殚_發(fā)者不可能依照客戶的觀點(diǎn)決定需求優(yōu)先級(jí);開發(fā)人員將為您確定優(yōu)先級(jí)提供有關(guān)每個(gè)需求的破費(fèi)和危險(xiǎn)的信息。 在時(shí)間和資源限度下,關(guān)于所需特性是否完成或完成多少應(yīng)尊重開發(fā)人員的意見。只管沒有人樂意看到自己所愿望的需求在項(xiàng)目中未被實(shí)現(xiàn),但究竟是要面對(duì)事實(shí),業(yè)務(wù)決策有時(shí)不得不根據(jù)優(yōu)先級(jí)來(lái)縮小項(xiàng)目范疇或延伸工期,或增加資源,或在質(zhì)量上尋找折衷。
17、評(píng)審需求文檔和原型
客戶評(píng)審需求文檔,是給分析人員帶來(lái)反饋信息的一個(gè)機(jī)遇。如果客戶認(rèn)為編寫的“需求分析報(bào)告”不夠準(zhǔn)確,就有必要盡早告訴分析人員并為改進(jìn)提供提議。更好的措施是先為產(chǎn)品開發(fā)一個(gè)原型。這樣客戶就能提供更有價(jià)值的反饋信息給開發(fā)人員,使他們更好地輿解您的需求;原型并非是一個(gè)實(shí)際利用產(chǎn)品,但開發(fā)人員能將其轉(zhuǎn)化、裁減成功能齊全的系統(tǒng)。
18、需求變更要立刻接洽
一直的需求變更,會(huì)給在預(yù)約打算內(nèi)完成的質(zhì)量產(chǎn)品帶來(lái)重大的不利影響。變更是不可防止的,但在開發(fā)周期中,變更越在晚期涌現(xiàn),其影響越大;變更不僅會(huì)導(dǎo)致代價(jià)極高的返工,而且工期將被耽擱,特殊是在大體構(gòu)造已完成后又需要增長(zhǎng)新特性時(shí)。所以,一旦客戶發(fā)現(xiàn)需要變更需求時(shí),請(qǐng)即時(shí)告訴分析人員。
19、遵守開發(fā)小組處理需求變更的過(guò)程
為將變更帶來(lái)的負(fù)面影響減少到最低限度,所有參加者必須按照項(xiàng)目變更把持過(guò)程。這要求不廢棄所有提出的變更,對(duì)每項(xiàng)要求的變更進(jìn)行分析、綜合考慮,最后做出適合的決議,以斷定應(yīng)將哪些變更引入名目中。
20、尊重開發(fā)人員采用的需求分析過(guò)程
濟(jì)南軟件開發(fā)中最具挑釁性的莫過(guò)于收集需求并肯定其正確性,分析人員采用的方法有其公道性。興許客戶認(rèn)為收集需求的過(guò)程不太劃算,但請(qǐng)相信花在需求開發(fā)上的時(shí)間是十分有價(jià)值的;如果您理解并支撐分析人員為收集、編寫需求文檔和確保其品質(zhì)所采用的技術(shù),那么全部過(guò)程將會(huì)更為順利。
“需求確認(rèn)”象征著什么
在“需求分析報(bào)告&rdquo,手機(jī)店管理系統(tǒng);上簽字確認(rèn),通常被以為是客戶批準(zhǔn)需求分析的標(biāo)記行為,然而實(shí)際操作中,客戶往往把“簽字”看作是毫無(wú)意義的事情。“他們要我在需求文檔的最后一行下面簽名,于是我就簽了,否則這些開發(fā)人員不開端編碼。”
這種立場(chǎng)將帶來(lái)麻煩,譬如客戶想更改需求或?qū)Ξa(chǎn)品不滿時(shí)就會(huì)說(shuō):“不錯(cuò),我是在需求分析報(bào)告上簽了字,但我并沒有時(shí)間去讀完所有的內(nèi)容,我是信任你們的,是你們非讓我簽字的。”
同樣問題也會(huì)產(chǎn)生在僅把“簽字確認(rèn)”看作是實(shí)現(xiàn)義務(wù)的分析人員身上,一旦有需求變革呈現(xiàn),他便指著“需求分析講演”說(shuō):“您已經(jīng)在需求上簽字了,所以這些就是咱們所開發(fā)的,如果您想要?jiǎng)e的什么,您應(yīng)早些告知我們。”
這兩種態(tài)度都是錯(cuò)誤的。因?yàn)椴豢赡茉陧?xiàng)目的早期就了解所有的需求,而且毫無(wú)疑難地需求將會(huì)出現(xiàn)變更,在“需求分析報(bào)告”上簽字確認(rèn)是終止需求分析過(guò)程的正確方法,所以我們必須明白簽字意味著什么。
對(duì)“需求分析報(bào)告”的簽名是樹立在一個(gè)需求協(xié)議的基線上,因此我們對(duì)簽名應(yīng)該這樣理解:“我贊成這份需求文檔表述了我們對(duì)項(xiàng)目軟件需求的了解,進(jìn)一步的變更可在此基線上通過(guò)項(xiàng)目定義的變更過(guò)程來(lái)進(jìn)行。我知道變更可能會(huì)使我們從新協(xié)商成本、資源和項(xiàng)目階段任務(wù)等事宜。”對(duì)需求分析達(dá)成一定的共識(shí)會(huì)使雙方易于忍耐未來(lái)的摩擦,這些摩擦起源于項(xiàng)目的改進(jìn)和需求的誤差或市場(chǎng)和業(yè)務(wù)的新要求等。 需求確認(rèn)將迷霧撥散,浮現(xiàn)需求的真面目,給初步的需求開發(fā)工作畫上了雙方都明確的句號(hào),并有助于構(gòu)成一個(gè)連續(xù)良好的客戶與開發(fā)人