瀑布模型項目中的需求分析之道(一)

2 評論 17337 瀏覽 70 收藏 9 分鐘

在瀑布模型項目中,需求分析的質(zhì)量直接決定了整個項目的完成質(zhì)量。需求人員需要盡早的將項目需求和客戶及內(nèi)部開發(fā)團隊達成一致,并做到對問題早發(fā)現(xiàn),早解決。

一、能力模型

說需求分析,不得不先提當下比較流行的2種軟件開發(fā)架構:瀑布模型和敏捷開發(fā)模型。在不同的開發(fā)架構中,需求分析角色者的能力模型和方法論也會有較大的差異。

QQ截圖20160714212855

瀑布模型是經(jīng)典的周期模型,社會認可度高,通常適合招投標類的客戶解決方案項目。它將一個項目的軟件生命周期分為可研、需求分析、概要設計、詳細設計、實現(xiàn)、系統(tǒng)測試、驗收測試和維護等階段,各個階段呈線性推進,即一個階段完成通過后才可進行下一階段的工作。

而敏捷開發(fā)模型則以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟件開發(fā)。它強調(diào)適應性而非預設性,將項目分解成不同的“MVP”周期執(zhí)行。敏捷開發(fā)模型是面向人而不是過程,它更強調(diào)團隊間的充分溝通,更適合那些自主運營的互聯(lián)網(wǎng)產(chǎn)品。

圖片1

需求分析角色在瀑布模型中的能力模型偏向項目經(jīng)理,在實際需求調(diào)研和需求設計中需要結合項目管理的黃金三角(時間、資源、質(zhì)量)進行統(tǒng)籌規(guī)劃;而在敏捷開發(fā)模型中則更偏向于產(chǎn)品經(jīng)理,在產(chǎn)品策劃和交互設計中則對自身商業(yè)感和規(guī)劃能力有更高的要求。項目經(jīng)理和產(chǎn)品經(jīng)理的能力模型本身有一定的區(qū)別,產(chǎn)品新人在加入公司后可根據(jù)實際情況制定符合自身的能力提升計劃。以下主要以瀑布模型類的項目為例。

二、需求的生命周期

一個需求的完整生命周期,通常包括產(chǎn)品策劃(問題識別)、需求分析(分析與綜合)、制定規(guī)格說明和評審。

圖片1

(一)產(chǎn)品策劃(問題識別)

圖片2

在解決方案項目中,問題識別通常在可研階段就已經(jīng)開始,項目經(jīng)理(這個階段也可能是售前工程師)通過高層交流、問題報告、訪談紀要、標桿對比和準入標準等方式,初步形成一份“正式需求”,該過程可分解如下:

  1. 以業(yè)主的角度,幫助客戶將項目從BRD梳理成MRD的過程,形成基本方案
  2. 以承建方的角度,初步了解項目的功能邊界和實現(xiàn)成本

不同企業(yè)的團隊構建可能會有不同,需求角色在該階段最好能夠在該階段便參與可研的過程,而非等項目招投標完成后,才參與到項目建設,這樣往往會加大項目的不可控性。

圖片3

問題識別時,分類原始需求通常有上述幾種方法,包括#APPEALS分類、四象限分類和BSA法分類,通過#APPEALS的八個維度來定位整個項目,為后續(xù)管理中使用黃金三角提供依據(jù);四象限和BSA法通常結合使用,以判斷項目的功能邊界和項目的里程碑梯度。

(二)需求分析

圖片4

需求分析的過程,是將用戶需求轉(zhuǎn)化為產(chǎn)品需求的過程,本質(zhì)上也是信息系統(tǒng)的建模過程,包括結構化方法,面向?qū)ο蠓椒ê驮头ǖ?。在實際需求分析中,這幾種方法通常綜合使用。

  1. 結構化方法:是相對最早和最傳統(tǒng)的軟件開發(fā)方法,它采用模塊化技術、分而治之的方法,將系統(tǒng)按功能分解為若干模塊;模塊內(nèi)部由順序、分支和循環(huán)等基本控制結構組成,主要工具為數(shù)據(jù)流圖,適用于一些不太復雜的、需求相對比較明確的中小型系統(tǒng)。目前該已經(jīng)比較少用。
  2. 面向?qū)ο蠓椒?/strong>:是目前運用最為廣泛的一類軟件開發(fā)方法。通常使用UML建模工具,比較常用的有用例視圖(Use-Case View)和邏輯視圖(順序圖、狀態(tài)圖、泳道圖等),用例視圖可結合場景
  3. 原型法:隨著以互聯(lián)網(wǎng)產(chǎn)品用戶思維的興起,越來越多的需求分析采用原型法,使用Axure等工具進行設計。

(三)制定規(guī)格說明和評審

許多時候,制定規(guī)格說明在需求分析完成時也同步完成,這里推薦使用Volere需求說明模板。

需求評審是項目正式開發(fā)前的必經(jīng)之路,通過需求評審,項目組成員針自將要開展的工作,進行檢查并提出問題,并最終做出評審邊界,形成項目開發(fā)的基線版本。

三、其他常見問題

(一)需求引導

許多客戶有時并不知道自己想要什么?有時并不清楚自己缺少什么?所以就需要我們?nèi)ヒ龑Э蛻舻男枨?。造成這種現(xiàn)象的原因很多,主要體現(xiàn)在用戶對軟件信息系統(tǒng)并不是很了解,客戶的語言表達,客戶只關心自身的問題等。

引導客戶需求通常從引導客戶分析、向客戶確認需求細節(jié)和回絕客戶提出的不合理需求等幾個維度出發(fā),幾種常見方法如下:

  • 向客戶講述基本的軟件信息系統(tǒng)
  • 提示客戶在全局的地位及作用
  • 向客戶演示將要實施的系統(tǒng)的原型
  • 從軟件開發(fā)中需求考慮的幾個方面入手

總而言之,在瀑布模型項目中,需求分析的質(zhì)量直接決定了整個項目的完成質(zhì)量。需求人員需要盡早的將項目需求和客戶及內(nèi)部開發(fā)團隊達成一致,并做到對問題早發(fā)現(xiàn),早解決;另一方面,有時候客戶的“需求”不一定是功能需求,需求人員只有從項目經(jīng)理的維度分析問題,才能夠篩選并最終推進項目的實施。

#專欄作家#

蘭色拉面(微信:lanselamian),人人都是產(chǎn)品經(jīng)理專欄作家。關注城市服務、互聯(lián)網(wǎng)+和智能硬件,對市民融合服務、移動進銷存、物聯(lián)網(wǎng)和支付 POS有一定的淺見。歡迎互聯(lián)網(wǎng)愛好者們一起交流探討。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,不得轉(zhuǎn)載。

更多精彩內(nèi)容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 需求的生命周期是否可以包含一個“驗證”的階段呢?在需求評審通過并實現(xiàn)后,對這個需求的帶來的影響和變化進行評估。

    來自北京 回復
  2. 都在研究道,道法自然~!

    來自上海 回復