你的軟件爛透了(三)思考需求

探索與分享軟件工程中的創(chuàng)新

思考需求

是什么讓程序員們“改改改”!是什么導(dǎo)致程序員們“拖拖拖”!是什么導(dǎo)致開(kāi)發(fā)團(tuán)隊(duì)被奴役捞挥,陷入時(shí)間漩渦,使軟件質(zhì)量失控忧吟?總結(jié)一下也許能找到100個(gè)理由砌函,恐怕其中有50個(gè)理由和需求有關(guān)!毫不夸張的說(shuō)需求問(wèn)題摧毀了整個(gè)軟件。

我們需要的是一套完整的讹俊、正確的垦沉、一致的、可行的仍劈、無(wú)二義的厕倍、健壯的、必要的贩疙、可測(cè)試的讹弯、可修改的、可跟蹤的需求这溅。然而哪怕需求分析師們使出渾身解數(shù)组民,哪怕他們使用了“洪荒之力”,需求的變化不可避免悲靴,這個(gè)環(huán)節(jié)的變化導(dǎo)致其它環(huán)節(jié)更大的變化臭胜,在這些變化中導(dǎo)致的疏漏難以避免。為此我們可以采取兩種措施應(yīng)對(duì)癞尚。一種以不變應(yīng)萬(wàn)變進(jìn)行需求凍結(jié)耸三,一種順勢(shì)而為進(jìn)行需求補(bǔ)充。

需求凍結(jié)意味著生產(chǎn)資源按既定的方案進(jìn)行分配否纬,并推進(jìn)生產(chǎn)實(shí)施吕晌。不言而喻,它的風(fēng)險(xiǎn)在于輸出的成果與實(shí)際需求脫節(jié)临燃,客戶(hù)得到他不想要的或者是過(guò)時(shí)的內(nèi)容睛驳。為了避免這種情況,把需求目標(biāo)定義的足夠小膜廊,然后快速完成必要的內(nèi)容并交付乏沸。敏捷開(kāi)發(fā)就是這樣一個(gè)理念,通過(guò)小目標(biāo)的迭代來(lái)完成一個(gè)大目標(biāo)爪瓜。然而這并不是一個(gè)完美的方案蹬跃,過(guò)時(shí)的內(nèi)容意味著生命周期結(jié)束,當(dāng)整個(gè)項(xiàng)目沒(méi)有結(jié)束時(shí)铆铆,就必須要替換已經(jīng)處于生命周期結(jié)束內(nèi)容蝶缀,迭代變成了替換,也許就在替換過(guò)程中就出現(xiàn)了新的問(wèn)題薄货。如果采取強(qiáng)硬的姿態(tài)拒絕替換翁都,那意味著軟件的某些功能不足,質(zhì)量受到影響谅猾。

需求補(bǔ)充并不是那么輕松柄慰。需求的確定需要經(jīng)歷采集鳍悠、整理、測(cè)試坐搔、確認(rèn)幾個(gè)過(guò)程藏研。需求的變更使得生產(chǎn)者要不斷的在需求分析階段投入資源,在實(shí)際生產(chǎn)中這樣做恐怕會(huì)是難以承受成本投入概行。無(wú)疑這使我們陷入困境蠢挡,難道我們對(duì)此就束手無(wú)冊(cè)了嗎?在中外各國(guó)的資料里沒(méi)有找到答案占锯,這就需要自已想辦法解決問(wèn)題袒哥!

我們需要對(duì)需求做一次需求分析缩筛。我國(guó)是一個(gè)高速發(fā)展的國(guó)家消略,這就意味著在政治經(jīng)濟(jì)領(lǐng)域的變化快且頻繁。一黨執(zhí)政多黨參政的政治協(xié)商制度使我國(guó)的政策延續(xù)時(shí)間較長(zhǎng)且有累進(jìn)的特征瞎抛,政策轉(zhuǎn)向發(fā)生在某些明顯畸形行業(yè)里的概率較高艺演,信息化尚屬于發(fā)展階段,對(duì)信息化產(chǎn)品的需求以?xún)?nèi)容為主桐臊。尚缺少核心的信息化基礎(chǔ)軟件產(chǎn)品胎撤,如操作系統(tǒng),開(kāi)發(fā)語(yǔ)言断凶,驅(qū)動(dòng)程序伤提,虛擬化工具等。

在這樣的環(huán)境下认烁,軟件需求普遍的矛盾在于對(duì)產(chǎn)品/項(xiàng)目的需求隨時(shí)間變化可能產(chǎn)生變化肿男,而需求文檔只能靜態(tài)的表達(dá)當(dāng)前的需求;用戶(hù)對(duì)新概念的產(chǎn)品/項(xiàng)目的認(rèn)知不足却嗡,包括對(duì)它的內(nèi)容舶沛、適用邊界、操作界面窗价、操作方式如庭、成本及收益等,導(dǎo)致需求文檔無(wú)法確切的表達(dá)這些內(nèi)容撼港。我們無(wú)法預(yù)測(cè)未來(lái)會(huì)發(fā)生什么事件坪它,但從金融領(lǐng)域得到靈感,未來(lái)的發(fā)展趨勢(shì)未必不可預(yù)測(cè)帝牡。因此無(wú)法在需求文檔里體現(xiàn)變化的內(nèi)容往毡,但可以預(yù)估未來(lái)變化的趨勢(shì)。任何產(chǎn)品都會(huì)有一個(gè)生命周期過(guò)程否灾,在這個(gè)周期中它的成熟度會(huì)有一個(gè)規(guī)律性的變化卖擅。描述它的規(guī)律可以使用戶(hù)比較直觀的理解產(chǎn)品或項(xiàng)目本身。因此在需求文檔里可以體現(xiàn)產(chǎn)品的成熟過(guò)程,以表達(dá)它的部分特征惩阶。從而使需求文檔本身就能包容有限的變化挎狸。

軟件的發(fā)展趨勢(shì)或者成熟度變化都是一個(gè)種抽象的、模糊的的信息断楷,如果用大段的文字表達(dá)這種信息锨匆,極有可能會(huì)使每個(gè)使用者各有各的理解。因?yàn)槊總€(gè)人的知識(shí)冬筒、閱歷并不相同恐锣,對(duì)同一段文字所形成的思維模型出現(xiàn)差異并不奇怪。然而對(duì)需求文檔而言就會(huì)詞不逮理舞痰,這是典型的二義性特征土榴。用盡可能簡(jiǎn)單的圖表來(lái)表達(dá),顯然會(huì)是一個(gè)目達(dá)耳通的策略响牛。不論是發(fā)展趨勢(shì)還是成熟度變化玷禽,從邏輯上都是對(duì)“成長(zhǎng)”的描述,這就為我們創(chuàng)建單一的表達(dá)方式創(chuàng)造了條件呀打。

而我想到的最簡(jiǎn)單的方法是在需求理整階段繪制一張“需求堆砌層次圖”矢赁。所有講需求分析的教材中都會(huì)提到“馬洛斯需求層次理論”,這個(gè)理論所搭配的圖就是一個(gè)層次圖贬丛。這個(gè)圖表達(dá)了每個(gè)層次的目標(biāo)撩银,層次與層次之間是一個(gè)直觀的演進(jìn)方向。把需求采集的內(nèi)容整理成這樣一張層次圖豺憔,不僅表達(dá)清楚了需求目標(biāo)额获,也顯示出了需求演進(jìn)。這為發(fā)掘潛在的需求提供了一種方法焕阿。

漢語(yǔ)的語(yǔ)言表達(dá)邏輯為建立層次圖的過(guò)程提供了便利咪啡。需求歸類(lèi)為基礎(chǔ)需求、期望需求暮屡、興奮需求撤摸、反向需求,我把漢語(yǔ)詞匯歸納行為詞(通常是動(dòng)詞)褒纲、修飾詞(通常是形容詞)和目的詞(通常是名詞)准夷。可以發(fā)現(xiàn)一個(gè)經(jīng)驗(yàn)規(guī)律:在漢語(yǔ)構(gòu)成了某一個(gè)需求描述中莺掠,修飾性詞往往表達(dá)了期望需求和興奮需求衫嵌,目的詞很大概率表達(dá)了基礎(chǔ)需求,行為詞則表達(dá)了需求點(diǎn)呈現(xiàn)的聯(lián)系彻秆。而層次圖中底層表示的是基礎(chǔ)需求楔绞,頂層則有很大概率表達(dá)了興奮需求结闸,上層是對(duì)下層的演進(jìn)。然而我們還需要發(fā)掘隱藏的需求酒朵,需求描述也許沒(méi)有表達(dá)清楚實(shí)際目的桦锄,但描述信息則可能已經(jīng)包含了實(shí)際目的的概念,因此把現(xiàn)有需求目的詞抽象化用這種方法探測(cè)潛在的需求蔫耽。抽象化可能產(chǎn)生多個(gè)概念结耀,這些概念可能只有一個(gè)與實(shí)際需求有關(guān),此時(shí)行為詞呈現(xiàn)的聯(lián)系就能幫助我們篩選出那個(gè)真正的需求匙铡。這就完整的構(gòu)成了“需求堆砌層次圖”图甜。

如果有這樣一個(gè)需求:

一匹跑得更快的馬

需求描述 描述抽象
更快
動(dòng)物,牲畜鳖眼,交通工具

能發(fā)現(xiàn)什么嗎黑毅?

上一章
下一章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市具帮,隨后出現(xiàn)的幾起案子博肋,更是在濱河造成了極大的恐慌低斋,老刑警劉巖蜂厅,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異膊畴,居然都是意外死亡掘猿,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)唇跨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)稠通,“玉大人,你說(shuō)我怎么就攤上這事买猖「拈伲” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵玉控,是天一觀的道長(zhǎng)飞主。 經(jīng)常有香客問(wèn)我,道長(zhǎng)高诺,這世上最難降的妖魔是什么碌识? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮虱而,結(jié)果婚禮上筏餐,老公的妹妹穿的比我還像新娘。我一直安慰自己牡拇,他們只是感情好魁瞪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布穆律。 她就那樣靜靜地躺著,像睡著了一般导俘。 火紅的嫁衣襯著肌膚如雪众旗。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天趟畏,我揣著相機(jī)與錄音贡歧,去河邊找鬼。 笑死赋秀,一個(gè)胖子當(dāng)著我的面吹牛利朵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播猎莲,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼绍弟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了著洼?” 一聲冷哼從身側(cè)響起樟遣,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎身笤,沒(méi)想到半個(gè)月后豹悬,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡液荸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年瞻佛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娇钱。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伤柄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出文搂,到底是詐尸還是另有隱情适刀,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布煤蹭,位于F島的核電站笔喉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏疯兼。R本人自食惡果不足惜然遏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吧彪。 院中可真熱鬧待侵,春花似錦、人聲如沸姨裸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至那先,卻和暖如春农猬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背售淡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工斤葱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人揖闸。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓揍堕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親汤纸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子衩茸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容