色偷拍 自怕 亚洲 10P-亚洲自偷自拍另类11P-色拍自拍亚洲综合图区

設為首頁 加入收藏 聯系我們  
 
相關業務
相關業務
ISO27001知識
ISO20000知識
CMMI知識
ISO14001知識
OHSAS18001知識
高新認證知識
HSE知識
系統集成知識
聯系我們

 

  服務更好    價格更低

  順暢便捷    保證通過

電話:010-52860542

 
CMMI知識
如何進行有效的需求管理?

 在CMM®1.1版本中第一個KPA是需求管理,是CMM®2級的標準文本中論述篇幅最少的一個KPA,這也是在CMM®2級中最容易讓開發人員與項目經理提出疑問的一個KPA:為什么需求需要管理?如何進行有效的需求管理?

1為什么需要需求管理?
需求是整個項目的最關鍵的一個輸入,和傳統的生產企業相比較,軟件的需求具有模糊性、不確定性、變化性和主觀性的特點,他不像生產汽車、電腦等硬件的需求,是有形的、客觀的、可描述的、可檢測的。軟件需求是軟件項目最難把握的問題:
 需求的描述方式問題Ø
如何使項目組的開發人員、客戶、最終用戶等各個方面各個層次的人員能夠清楚的讀懂需求文檔?曾經有多個項目經理向我抱怨,在用戶方進行的需求評審會完全是走形式,因為用戶根本不去聽他讀那上百頁的需求文檔。這能怪客戶嗎?問題出在需求是如何描述的?需求管理的評審會是如何組織的?不同層次的客戶(用戶)關心的問題是不一樣的,想要每個客戶都成為需求專家是不現實的。

 需求的完備程度問題Ø
需求如何做到沒有遺漏?如何準確劃定系統的范圍?這確實是一個兩難問題,稍微大一點的系統要想窮舉需求幾乎是不可能的,每次開需求評審會時,總會冒出新的需求,以至于系統沒有一個準確的范圍界定。即使是這樣,系統還是要開發,沒辦法,系統的范圍還要硬性的劃定一個,而建立一個基線。

 需求開發的工期問題Ø
在需求上花費了大量的時間(而不是人*工時,因為需求階段人多了也沒有作用),客戶、軟件公司是否能夠忍受?為了確保需求的正確性,完備性,項目經理往往堅持要在需求階段花費大量的時間,但是客戶與公司的高層領導卻會為項目遲遲看不到實際可運行的軟件擔心不已!他們往往會逼迫項目組盡快往前推進,而項目組的成員往往也會為系統復雜的善變的需求折騰的筋疲力盡,他們也希望盡快結束此階段。

 需求的細致程度問題Ø
需求到底描述到多細,才算可以結束了?仁者見仁,智者見智,并沒有定論,如果時間允許,要想細總可以細下去的。但是,需求的周期越長,可能的變化越多,對設計的限制越嚴格,對需求的共性提取要求越高,所以只要大家(客戶、用戶、需求分析人員、設計人員、測試人員)認為描述清楚了,就可以進入設計階段了。

 需求的變化問題Ø
在軟件開發過程中如果只有一條真理的話,那一定是:需求的變化是永恒的,需求不可能是完備的。軟件開發的過程實際上是同變化做斗爭的過程,需求的變更不一定是壞事,也有可能是好事,是商業機會,對市場敏感的人可以從需求的變化中發現市場機會。
需求變化的原因很多,如:
 一開始沒有識別全,需要增加需求;²
 業務發生了變化,需求必須變化;²
 需求錯誤;²
 需求不清楚;²
需求的變化問題是每個開發人員、每個項目經理都遇到的問題,也是最頭痛的問題,一旦發生了需求變化,你不得不來修改你的設計、重寫你的代碼、修改你的測試用例、調整你的項目計劃等等,需求的變化好比是萬惡之源,為項目的正常的進展帶來不盡的麻煩,怎么辦?管理它!使需求在受控的狀態下發生變化,而不是隨意變化,需求管理就是要按照標準的流程來控制需求的變化。
難題隨之而來,需求中的變化一般不是突發的革命性的變化,最常見的是“項目需求的漸變”(Project Scope Creep)問題,這種漸變很可能是客戶與開發方都沒有意識到的,當達到一定層度時,雙方才驀然回首,發現已經物是人非,換了一番天地。

2 需求管理的目標

在CMM®1.1中,需求管理的目標定義為:
1) 把軟件需求建立一個基線供軟件工程和管理使用。
2) 軟件計劃、活動和工作產品同軟件需求保持一致。
軟件需求作為軟件工程的基線是很容易理解的,而作為管理的基線可能有些人無法理解。從需求階段稍微向下一個階段延伸就會發現,軟件需求是軟件項目策劃的基礎,只有有了明確的項目需求,才能保證計劃中的任務識別的比較全面,否則計劃的可行性就大打折扣了。當然,需求改變了,軟件計劃、軟件的開發活動、工作產品等就必然要發生變化,計劃、活動與工作產品必須與需求保持一致。
其實需求管理還有一個更高的目標:
3) 軟件需求的復用。
筆者曾經遇到過一位領域專家,他在有20多年的領域工程經驗,積累了大量的領域需求,可是在其每進行一次產品開發時,他總是感到他所理解的需求無法為與他配合的分析人員、設計人員所接受。當我們一起來討論這個問題的時候,共同的一個觀點就是:沒有對需求進行有效的管理,已經形成的需求文檔沒有很好的復用。所以需求管理一個很重要的目標應是提高軟件需求的復用率。

3 需求管理的基本原則與方法
(1)必須與需求工程的其他活動緊密整合
就象在上面討論的那樣,談需求管理一定不能脫離需求工程,從完整意義上講,需求工程包括了:需求獲取、需求分析、需求描述、需求驗證、需求管理,狹義的需求管理指已經建立了軟件需求后,需求變更的管理,而廣義的需求管理自需求獲取階段已經開始了。需求管理的難易層度、好壞和需求的獲取的質量、需求分析的質量、需求描述的方式、需求驗證的充分性是密不可分。從狹義上來講需求管理關心的是需求管理過程的建立,在企業或項目組中需要有一套規范的需求管理過程,而實際上從項目經理的角度上可能還有50%甚至更多的精力是關注結果的,所以對需求內容的管理與對需求形式的管理是密不可分的。

(2)需求必須是文檔化的、正確的、最新的、可管理的、可理解的
筆者曾經被緊急委派主管一個已經進入了編碼后期階段的項目,該項目已經換過2次項目經理了,這是第3次更換項目經理了,用戶方的IT部經理馬上來找我抱怨:“我已經是第3次來給你們講補貨申請的處理規則了!”。我只能表示抱歉,因為我無法找到原來的需求描述,這是一個變更的需求,前任的項目經理講他只是將當時與用戶交流的需求記到2頁草稿紙上,不幸的是,那2頁珍貴的手稿現在已經找不到了!更不幸的是,該IT部經理是在轉述業務部門的需求,當軟件開發完畢后,業務部門講“這不是我們最初給IT部反映的需求,我們說的不是這樣的!”。
所以需求必須有文檔來記錄,該文檔必須是正確的,是經過驗證的,是在受控的狀態下變更的。而很多開發人員會提這樣一個問題:簡單的系統就不用寫需求了吧?這是很多開發人員不寫需求的借口“這么簡單,說說就行了!”。其實簡單的系統未必簡單,想清楚、寫清楚、說清楚才說明真正把需求整理清楚了。有一次,我安排2名開發人員編寫一個單據錄入的模塊,僅給出了數據庫的設計,簡單說了一下模塊的需求,這兩名開發人員以前均做過類似的系統,在大家看來這是一個很簡單的系統,不需要太多的溝通,然后,當系統交付時,才發現想象中的系統與現實的系統差距是如此之大,在需求提出者看來是想當然的問題,開發人員卻全都忽略了!

(3)只要需求變化了,需求變更的影響就必須被評估
在上面我們談到需求漸變的問題,無論需求變化的多少,只要需求變化了就必須進行評估,這是基本的原則??刂菩枨鬂u變需要注意以下幾點:
 需求一定要與投入有顯示的聯系,否則如果需求變更的成本由開發方來承擔,則項目需求的變更就成為必然了。人們常說世上沒有免費的午餐,同樣也不應該有免費的需求變更。但是,接受需求變更目前卻是軟件開發商不得不咽下的苦果。所以,在項目的開始無論是開發方還是出資方都要明確這一條:需求變,軟件開發的投入也要變。²
 需求的變更要經過出資者的認可,需求的變更引起投入的變化,所以要通過出資者的認可,這樣才會對需求的變更有成本的概念,能夠慎重地對待需求的變更。筆者曾經經歷過一個項目,為了避免項目的風險,我們請了用戶代表全程參與了開發過程,結果此用戶代表在開發過程提出了大量的“小”的需求變更,當開發人員按此需求變更修改了軟件時,在項目進入現場實施階段時,卻有大量的這些變更需要改回去,問題就是出在我們的項目組成員視該用戶代表的需求為圣旨,卻忽略了需求是否經過了客戶方真正有決策權的人員的認可。²
 小的需求變更也要經過正規的需求管理流程,否則會積少成多。在實踐中,人們往往不愿意為小的需求變更去執行正規的需求管理過程,認為降低了開發效率,浪費了時間。正式由于這種觀念才使需求的漸變不可控,最終導致項目的失敗。²
 精確的需求與范圍定義并不會阻止需求的變更。并非對需求定義的越細,越能避免需求的漸變,這是2個層面的問題。太細的需求定義對需求漸變沒有任何效果。因為需求的變化是永恒的,并非由于需求寫細了,它就不會變化了。²
 注意溝通的技巧。實際情況是用戶、開發者都認識了到了上面的幾點問題,但是由于需求的變更可能來自客戶方、也可能來自開發方,作為客戶他們可能不愿意為需求的變更付出更多的投資,開發方有可能是主動的變更了需求,他們的目的可能是使軟件做的更“精致”,于是作為需求管理者、項目經理需要采用各種溝通技巧來使項目的各方各得其所。²

在一個項目組中必須明確定義需求管理員,由他負責整個項目的需求管理工作,確保在發生需求變更時,受影響的工作產品必須修改并與需求的變更保持一致,受影響的其他組和客戶必須協商一致。

(4)需求必須分優先級
需求的優先級可能比需求本身更加重要。在我進行的每一次產品開發過程中,都遇到過這個問題:負責產品需求的領域專家羅列了長長的功能列表,每個功能都是需求的,都是不可或缺的,當排出進度表后,發現工期是公司不能接受的,沒辦法,必須裁剪需求。因此,沒有需求就不會有產品,沒有產品就沒有利潤,需求過多,反而可能是陷阱,只有投入,沒有產出。一個好的項目需求,必須有需求的優先級,便于進行項目的整體平衡。

(5)需求一定要分類管理
在做工程項目的時候一定要給需求分出層次,不同層次的需求側重點是不一樣的、描述的方式是不同的、管理的方式也是不同的。比如說在企業里高層領導提出來的是目標性需求,中層管理人員的管理人員提出來的是具體的業務流程的需求,而作業人員提出來的更側重于操作性的需求。對于目標性的需求可能采用簡短的幾句話就可以描述清楚,但這是項目的決策性需求,需要很穩定,不能輕易更改,在確定的時候需要慎之又慎。目標性需求對于雙方所有的人都是約束,而且它不僅僅含有軟件需求,更重要的是對整個系統的需求。對于業務需求而言也是基本穩定的,它一般覆蓋系統的局部,可以比較詳細的用文字描述出來,需求之間的關系錯綜復雜,這類需求一般也變化比較多,需要分析人員、需求管理者花費較大的精力來描述、來管理。操作性需求最適合采用原型的方法來描述,可以比較直觀的刻畫出來,盡管變化多,但是很少有結構性的變化。對于需求還可以從其他方面來分類,如:功能性需求與非功能性需求、技術性需求與非技術需求等,對需求的分類管理有助于我們把握需求的本質,分析不同類需求的特點,根據不同類的需求的特點采用不同的管理方法。

版權所有 北京中標國信認證咨詢有限公司 備案號:京ICP備15058253號-1
認證服務熱線:010-52860542 郵箱:zqiso9000@126.com 網址:www.viagrafhnsau.com 地址:北京市東城區安定路20號1號樓4層417室
OEM:201107272203261305
色偷拍 自怕 亚洲 10P-亚洲自偷自拍另类11P-色拍自拍亚洲综合图区