|
剛在一家公司離職,因?yàn)楣旧鲜泻笠?guī)模迅速狀大,急于開(kāi)發(fā)幾款戰(zhàn)略產(chǎn)品支承,公司高層對(duì)我們之前進(jìn)行的一個(gè)項(xiàng)目非常重視,投入巨大。系統(tǒng)開(kāi)發(fā)之初需求原本很明確,但新的需求總是在開(kāi)發(fā)的過(guò)程中不斷地被提出,今天來(lái)了個(gè)推廣部經(jīng)理,明天來(lái)了個(gè)市場(chǎng)部總監(jiān),各有各的想法,并且各個(gè)部門(mén)、分公司經(jīng)常找開(kāi)發(fā)小組開(kāi)會(huì)提出新的需求變更。由于項(xiàng)目經(jīng)理的“軟弱”,我們一般很難拒絕。因?yàn)槔峡偪偸且瓤吹阶龀龅男Ч偬嵋庖?jiàn),所以項(xiàng)目做的很急,系統(tǒng)框架在剛開(kāi)始設(shè)計(jì)時(shí)沒(méi)有被充分討論、簡(jiǎn)化,感覺(jué)在后續(xù)開(kāi)發(fā)中遇到很多問(wèn)題,
現(xiàn)已離職,也無(wú)所顧忌,特談一談對(duì)系統(tǒng)分析的看法,總結(jié)一下之前的工作的經(jīng)驗(yàn),有不當(dāng)之處請(qǐng)指正。
做需求分析,我覺(jué)得最重要的任務(wù)是簡(jiǎn)化業(yè)務(wù)流程、規(guī)則、邏輯;豐富用戶體驗(yàn)。
0. 盡量將復(fù)雜的用戶需求抽像成最簡(jiǎn)單的業(yè)務(wù)規(guī)則、數(shù)據(jù)庫(kù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)。因?yàn)樾枨笫遣豢赡芤幌伦泳痛_定的,假設(shè)我們剛開(kāi)始對(duì)核心需求的實(shí)現(xiàn)方式增加了一點(diǎn)點(diǎn)的復(fù)雜性,比如說(shuō)多加了一個(gè)表,一個(gè)藕合字段,那么對(duì)于以后的擴(kuò)展我們就有可能要去制定更加復(fù)雜的規(guī)則去適應(yīng),從而“被逼”消耗更多的工作,使用更加復(fù)雜的結(jié)構(gòu)和業(yè)務(wù)規(guī)則。尤其當(dāng)需求發(fā)生不斷變化時(shí),改變這種體系所要花費(fèi)的代價(jià)也會(huì)隨之幾何級(jí)上升(因?yàn)橐话闶遣豢赡娴模脩舻目刹僮餍砸矔?huì)隨之越低,并增加了其使用上的難度,從而不得不對(duì)其進(jìn)行培訓(xùn)。
1. 對(duì)于一個(gè)面向公共(大用戶群、非公司內(nèi)部系統(tǒng))的系統(tǒng),要充分進(jìn)行“二八“劃分;一個(gè)系統(tǒng)不可能滿足所有人的需求;要關(guān)注最廣大的80%的用戶,因?yàn)榱硗?0%的需求很可能會(huì)使另外的80%的人產(chǎn)生困擾;一般人最容易記得7個(gè)字以內(nèi)的句子,同樣大部分軟件只有20%的功能是經(jīng)常使用到的,對(duì)于互聯(lián)網(wǎng)公眾平臺(tái)來(lái)講對(duì)另外不常用的80%需求的“重視”,只會(huì)分散開(kāi)發(fā)人員的注意力,使用戶體驗(yàn)、易用性、可操作性下降,并增加系統(tǒng)復(fù)雜性、維護(hù)和運(yùn)營(yíng)成本;因此要將主要精力放到那20%功能的開(kāi)發(fā)上。
2. 對(duì)于核心產(chǎn)品,業(yè)務(wù)規(guī)則和邏輯的設(shè)計(jì)萬(wàn)不可草率,并且不要集中由“一類”人去做;要從全局的角度制定業(yè)務(wù)流程,最好一開(kāi)始就將最終使用者和開(kāi)發(fā)者納入業(yè)務(wù)流程、規(guī)則、邏輯設(shè)計(jì)隊(duì)伍。并充分討論精簡(jiǎn)后完成產(chǎn)品的整體構(gòu)架設(shè)計(jì),然后進(jìn)入編碼階段。綜合考量成本/效果的比例,舍棄對(duì)系統(tǒng)可能產(chǎn)生混亂的設(shè)計(jì),并想辦法最尋找簡(jiǎn)單的替代方案。而且盡可能一開(kāi)始就確定數(shù)據(jù)庫(kù)的主體框架,而非去制定每一步的細(xì)節(jié)。
3. 對(duì)于功能寵大、業(yè)務(wù)復(fù)雜的系統(tǒng),我認(rèn)為用戶需求接受比在 5:3:2 左右是正常的,相當(dāng)于10條需求中有5條可以完全接受的,有3條需要將實(shí)現(xiàn)方式略加改變而達(dá)目的,但一般有1~2條無(wú)法實(shí)現(xiàn)是正常的,因?yàn)榭赡軙?huì)對(duì)系統(tǒng)造成較大的復(fù)雜性或不利于擴(kuò)展,而且很有可能跟現(xiàn)有系統(tǒng)的功能產(chǎn)生沖突。不利于系統(tǒng)結(jié)構(gòu)最簡(jiǎn)化,增加系統(tǒng)運(yùn)營(yíng)成本的不可控風(fēng)險(xiǎn)。
4. 當(dāng)公司的主打產(chǎn)品經(jīng)歷過(guò)數(shù)次功能擴(kuò)展、升級(jí)后,而造成的構(gòu)架復(fù)雜性、數(shù)據(jù)庫(kù)負(fù)載、穩(wěn)定性、可操作性和用戶友好度下降達(dá)到一定程度時(shí),就應(yīng)該考慮將關(guān)聯(lián)性不大的功能分離成相對(duì)獨(dú)立的幾個(gè)系統(tǒng),只進(jìn)行核心數(shù)據(jù)表進(jìn)行共享,以此增強(qiáng)各個(gè)分系統(tǒng)的可重用和可靠性。從而避免只向一個(gè)大型系統(tǒng)輸出復(fù)雜性,造成可靠性下降,以及維護(hù)、運(yùn)營(yíng)成本的上升。
it知識(shí)庫(kù):總結(jié)的一些系統(tǒng)分析的經(jīng)驗(yàn),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。