跳到主要內容

Mastering the Requirements Process (2nd Edition)、從需求到設計

最近看了「Mastering.the.Requirements.Process.2nd.Edition」,感觸頗深,也花了很多的時間寫了講義,對於SA在系統分析前,PM跟RA(需求分析師)要做的活動,完全清楚明瞭了。

感觸深的是,國內的IT專案,常常都未將『需求』這件事正確看待,我們每每將系統分析與需求分析這兩件事混雜一起而不自知。

看看邵維忠在「面向對象的系統設計」的描述:

用”做什麼”和”怎麼做”來區分分析和設計,是從結構化方法沿襲過來的一種觀點。但即使在結構化方法中這種說法也很勉強......

在”做什麼”和”怎麼做”的問題上為什麼會出現這種矛盾?

究其根源,在於人們對軟件工程中”分析”這個術語的含義有著不同的理解──有時它把需求分析(Requirements Analysis)的簡稱,有時是指系統分析(Systems Analysis),有時則作為系統分析和需求分析的總稱。

需求分析是軟件工程學中的經典術語之一,名副其實的含義應是對用戶需求進行分析,旨在產生一份明確、規範的需求定義。從這個意義上講”分析是解決做什麼而不是解決怎麼做的問題”實無可挑剔的。

但迄今為止人們所提出的各種分析方法(包括結構化分析和面向對象分析)中,真正屬於需求分析的內容所佔的分量並不太大;更多的內容是給出一種系統建模方法(包括一種表示法和相應的建模過程指導),告訴分析員如何建立一個能夠滿足(由需求定義所描述的)用戶需求的模型。

分析員大量的工作是對系統的應用領域進行調查和研究,並抽象地表示這個系統。
確切地講,這些工作應該叫做系統分析,而不是需求分析。

它既是對”做什麼”問題的進一步明確,也在相當程度上涉及到”怎麼做”的問題。

忽略分析、需求分析和系統分析這些術語的不同含義,並在討論中將它們隨意替換,是造成上述矛盾的根源。



好啦,回到『需求』這件事上,談到掌握、收集、驗證需求,通常有經驗的RA與經驗不足的RA談出來的可是差了十萬八千里,應該是有個process可依循,才不會讓這樣的落差過大。

所以我們需要【掌握需求過程】,當然就是要看這本「Mastering.the.Requirements.Process.2nd.Edition」,這本是Weinberg也寫序推薦的。

內容包含了:
Chapter 1. What Are Requirements?
Chapter 2. The Requirements Process
Chapter 3. Project Blastoff
Chapter 4. Event-Driven Use Cases
Chapter 5. Trawling for Requirements
Chapter 6. Scenarios and Requirements
Chapter 7. Functional Requirements
Chapter 8. Nonfunctional Requirements
Chapter 9. Fit Criteria
Chapter 10. Writing the Requirements
Chapter 11. The Quality Gateway
Chapter 12. Prototyping the Requirements
Chapter 13. Reusing Requirements
Chapter 14. Reviewing the Specification
Chapter 15. Whither Requirements?

從解釋需求到專案啟動前應準備之工作,馬上讓人收穫不少,中間的幾個章節其實跟 Use Case Modeling有異曲同工之妙,教你如何寫出正確的需求應有的內容。
書中也強調『需求的本質』,唔,有了正確的需求才會有正確的解決方案,要找出正確的需求,怎能不清楚『需求的本質』呢?

裡面也教了很多技巧,書最後的附錄更有清楚的詳細步驟,在每個步驟該考量的想法都有寫。
嗯,不愧擁有Amazon 4顆半星的評價。

不能不提的是Weinberg 的「Exploring Requirements: Quality Before Design」,中譯本是「從需求到設計:如何設計出客戶想要的產品」(簡體中文版翻得比較貼切:「探索需求:設計前的質量」),這本是1989年的書 了,只是繁中文版今年才出。

這本講的是觀念,也偏向找出『需求的本質』,如同書名,這本書實際是一種探索(Exploring),比較偏向的是人性面的。
裡面可也有一堆名言咧:
引用馮紐曼的名言:「如果你不了解自己所說的事物,即使你遣詞用字精確,也毫無意義。」
「文件不重要,重要的是建立文件這件事。」

也是非常好的一本書,兩本都強力推薦啦!!

留言

這個網誌中的熱門文章

GLOOMY BEAR 暴力熊

Gloomy Bear身世背景: Gloomy是一隻在路邊被遺棄的粉紅色小熊 , 被小朋友Pity發現,並將牠帶回家中收養, 並為小熊取名為Gloomy。 可惜.....Gloomy外表可愛,但因為被拋棄的緣故~卻有著一般熊的暴力性格, 長大長出爪子後就時常向主人用暴力招數打招呼, 而Pity就慘被Gloomy日日夜夜地欺負!悲慘ㄉ人生就這樣子開始囉!! 暴力熊喜好~咬主人頭, 而牠的主人,復原能力極高...打不死喔~厲害厲害! 暴力熊顏色:粉紅色,金色,銀色,紅色,藍色,黃色,還有罕見的綠色與混色。 粉紅色暴力熊性別:女 頭大身細,眼珠黑色,爪白色兼尖利,具有殺傷力,她多數用口爪殺人,殺完人後喜歡在街上徘徊。 小主人每次都被暴力熊揍得半死兼頭破血流, 但仍然不離不棄地緊緊抱住這隻血腥的寵物; Pity就算受到傷害亦要讓開心的回憶遮掩,然後繼續微笑期待小熊再次跟他一起溫習/做功課/看書;相信等待他的會是小熊的溫柔而非暴力傷害; 暴力熊和他小主人之間微妙的情感讓人感動又心酸; 這次轉輪科技所推出的暴力熊,內容包含小男孩Pity與粉紅熊Gloomy兩支一組。造形上善用Gloomy胖胖的軀體,將轉輪關節隱藏其中,全身有14處可動。可替換配件包含小男孩被打的表情,還有防止熊熊咬人的口罩以及牠嘴角流下來的血,原型制作為山口勝久。

明天是晴天嗎(明日晴れるかな)

因為最近的日劇:求婚大作戰,才聽到這首歌的。 桑田佳祐的"明日晴れるかな"。 歌詞的內容跟劇情還蠻貼切,求婚大作戰就劇情而言不是頂好的,但題材相當有趣,令人反省的地方也頗多。 很多時候很多事,如果再來一次,我們會怎麼選擇怎麼做? 這MV不同於日劇的片尾MV: 中文歌詞如下: 明天是晴天嗎 作詞:桑田佳祐  作曲:桑田佳祐  編曲:桑田佳祐 島健 炙熱的淚呼喚著愛 曾經閃爍的歲月 也迷失了方向 明天我依舊徘徊在街頭 沒有回頭路可走 側耳傾聽 心靈深處是什麼在私語 獨自躲在昏暗的街頭 回首當日的天空  上帝賜予我們孤獨與試煉 想哭就要放聲大哭 難道是命中注定 叫人不敢面對 日覆一日 不可思議 Oh baby No maybe 愛已走遠 情已不再 我只能佯裝嘆息 將怨恨拋給這世界 Oh baby you are maybe 憂喜交織 幸福的feeling 抱緊我 one more time 珍惜曾經的我 讓回憶刻骨銘心 往事已經隨風 人生路還漫長 只為見證夢想 誰來開啟奇跡之扉? 多想再一次觸碰你的笑顏 不知你是否發現命運的鑰匙 就握在你手中 Why baby? Oh tell me 愛恨纏綿 假裝視而不見 只為能守護在愛人身邊 Oh baby you are maybe 距離勝負僅一步之遙 站在崩潰邊緣的feeling 我想穿越 one more chance I talk to myself Oh baby No maybe 愛已走遠 情已不再 輕輕的嘆息背後 只留下深深的悔恨 Oh baby Smile baby 生命轉瞬即逝 每個人都在心中默默祈禱 明天是晴天嗎 在那遙遠的天空下 這些是有趣的文章: 釋日劇《求婚大作戰》中的「哈利路亞」 劇情解釋

不服從的領導學:不聽話的員工,反而有機會成為將才

這本書,清楚介紹了 計畫 - 行動 - 成果 的思考方式,尤其是「校準」的觀念。 也詳細指出了 領導 、 管理 與 指導 間的不同。 非常好的一本管理/領導者要看的書。強推。 執行的方法創造出奇蹟,執行的方法才是我們應該敬佩的地方。 在戰爭中,「事情不會像上好油的機器那樣運轉順暢;事實上,機器從開始運轉就會產生阻力,需要領導者極大的意志力才能克服。」在戰爭裡,「所有事情都很簡單,但連最簡單的事都很困難......在戰爭中展開行動,就像在阻力重重的介質裡移動。」 克勞塞維茨想將這樣的戰爭實況形成一種觀念,他找到「摩擦」這個詞。 摩擦就是一切「不確定性、錯誤、意外、技術上的困難、無法預見的事物及其對決策造成的影響、士氣與行動」的總合。 摩擦的存在,恰恰說明了為什麼軍隊需要軍官、企業需要主管的存在。也因此,預測與處理摩擦,就成了管理的核心工作。 一個由不同的個人組成的組績,不論紀律多麼嚴明,想要追求共同的目標,都會像在開車時踩煞車一樣,一定會造成摩擦。 我們只能取得部分資訊,又只能交給處在高壓狀態下的人、進行有瑕疵的處理。 我們之所以會遇到摩擦,是因為人類認知上的限制;我們對現在所知有限、而未來根本就不可知。 線性思維有兩個特徵:一是按照比例,也就是投入多少就產出多少;二是相加特性,亦即整體是各部分相加的總和。但非線性系統卻完全不是這樣,克勞塞維茨在當時就很清楚戰爭是非線性系統,只是無法形成具體概念,只能借用摩擦、偶發事件、不可預測性等概念來說明。 管理的課題:如何對付有資訊的有限、如何相互傳遞我們確實擁有的資訊,以及我們最終應該如何行動。 克勞塞維茨用兩種落差來描述摩擦的影響。一是我們試圖在不可預測的外部環境採取行動,但我們一直沒意識到這點,因而產生了「預期成果」與「實際成果」之間的落差。二是內部的摩擦,導致組織的「計畫」與「行動」之間出現落差。這種落差來自資訊在取得、傳輸和處理的過程中,涉及許多獨立自主的媒介。三是是行動與實際成果之間的落差(或是”計畫跟預期成果之間的落差”)。 實際採取的行動和應該採取的行動,是不同的。會出現這種狀況,可能是錯誤的行動計畫造成的,或是 我們雖然策畫了正確行動,但執行者沒有照計畫去做。 計畫不完美,是因為我們缺乏「知識」。我們可能沒蒐集到足夠的資訊,或是對資訊的詮釋有...