主持人:現在進入第三個話題,進入到需求的管理階段,如何是管理需求的?剛才提到客戶需求會很多,也會很隨意,很亂,變化也會很快,請大家講一下對這個問題是怎樣管理變化需求?各位公司在開發的時候,對于需求變更的流程是怎樣的?是怎樣一個步驟?是否都有一個比較完整一套的變更機制?
張皖秋:以前我們一直用手工的方式來做,今年為了提高我們在這方面的有效性,因為以前手工的方式的時效性,也就是你對變更的控制,比如用EXCL表,對變更狀態的掌握的時效性不是很好,F在用Telelogic的DOORS工具以后,以后每一次變更可以隨時通過各種方式看到變更的狀態,這樣能夠比較好的把這些需求管起來。我認為首先要有機制,你怎么管它,不管通過什么方式,通過專家認可的方式還是什么方式,你要讓它進入到產品來要有一個認可的過程,如果沒有認可的過程,隨意加進來的話,必定對你的項目造成災難性。如果有一個好的機制,讓它更有效,可以引用一些方式在你的工具當中。
張皖秋:如果要管得好,就像剛才前面所說到的用戶有很多需求,用戶有很多需求是因為不能掌控,不能控制它,所以會很多很亂。如果你建立到一套怎樣管好機制的話,就不會覺得亂,因為一切都在你的掌控之中,所有東西都要加以控制。我們公司一般是自己建立了一套機制,2001年我們通過了CMM二級,在需求管理上有一套要求,比如在變更方面,不論從哪個方面來的,都會提供變更請求,項目開發這邊會有一個評估,我增加一個需求或者變更一個需求會有工作量,包括對現有項目的一個評估,然后才決定我做還是不做,一般是這樣一個控制機制。
于波:CMM在需求管理里面有三個活動,第一是實現需求的人,說得比較籠統,比如設計需求變為軟件需求,他們要對總體需求有一個共同的理解。再一個,需求管理要基于需求進行項目管理工程活動的管理,工程活動也是剛才一樣,需求細化、設計、編碼、測試等等這些,都要和它結合在一起,以需求為源頭。另外,需求不可能不變更,這是永遠是一個事實,不管怎么做,前期再大的工程量,需求也是變更的,你怎樣控制需求呢?剛才張皖秋說得比較多。
于波:CMMI模型收集以后變為五個方面來做,跟蹤有工具,CMM也有工具,但比較籠統一些,手工的工具,比如EXCEL表,還有專門用于需求管理的各種需求。另外,前面需求和后面出來雙向跟蹤當中,CMMI進一步強調了,尤其是需求變更了,雙向機制非常有幫助。剛才張皖秋已經談到決定需求變與不變,靠什么?靠影響分析,會影響哪些功能,有哪些風險,新進來的功能能不能實現可測試等等方面,由誰來實現?成本是多少,進度上還要做承諾,能不能按照承諾要求,哪些方面由誰來做,這都要考慮,同樣也跟模型周期有關系。另外,CMM更強調實現需求以及計劃當中的不一致,如果需求通過開發環節,貫徹到產品項目當中,前面的需求、開發、引導做得再好,也沒有實際的意義。這里強調跟蹤性更清楚,而且更清楚強調要達成對需求的理解,而且要進行監控。
吳浩剛:對于CMM方面,對于需求分析之后,建立需求跟蹤的機制。一般對于后期編碼的設置要一一對應。另外,如果中間有一過程要修改需求,或者增加、刪除,就要啟動一套機制通過,是現在做還是以后做,通過以后我們根據要求進入需求變更的程序。還有就是在評審需求的時候還要評審需求識別,在這當中會影響什么產品的需求,否則也會刪除一些產品的需求。
張皖秋:對于隨意性的變更,只是教育客戶,并不體現在隨意性變更。
主持人:剛才各位提到自己有一套比較完整的管理需求變更的流程,但是客戶在提出需求的時候,往往是非常隨意的,這種隨意的需求,有時候需要你很快作出決定,把這些需求才能夠實施,你可能還沒有來得及走這套流程,就要求你做實施了。這種情況下,你們是如何管理客戶這種隨意的變更呢?另外,在工具方面,能不能支持客戶這種嚴格化的變更以及半規化的變更以及隨意性的變更呢?
Kristian Persson:我們簡單一下Telelogic是怎樣處理這些問題,作為Telelogic的產品經理,是負責來寫現在目前用戶的版本,根據用戶說明書,產品開發經理要做系統的需求說明書,寫完系統說明書后會建立鏈接用戶說明書里面去,然后進行判斷,我估計一下需要多少時間,什么東西能實現,什么東西不能實現,要多少人力物力開發。經過這樣工作討論以后,大家在一個達成協議的基礎上,在大家同意目前的版本上定一個期限,定完一個期限以后,產品經理和產品開發經理要在這個期限上簽字,Telelogic提供電子簽名的功能,在DOORS里面進行電子簽名,表達雙方認可。如果將來有任何變化,以后做用戶需求變更,可以根據系統的需求,雙方再討論做互相的讓步,再形成其他的版本。
潘加宇:如果改的話,還是沒有通過流程變更。
張皖秋:如果是現場開發的話,如果改了,可能要和領導說一下改了會怎么樣的,對整個進度沒有什么影響,或者多加一個小時的班可以搞定就OK了。
潘加宇:現實開發存在很多這種情況,尤其是客戶和開發商很熟的時候,客戶說你改這么一點點,實際上沒有變更的需求,很隨意就改掉了。因為是舉手之勞,我想這怎么應對呢?
張皖秋:每周都有一個報告,你最開始沒有問到那個地方,是一步一步深入,到那個點上肯定會有各方面的報告,可以看出那個狀況。尤其在現場開發的時候,經常打電話,一周之內不知道要打多少次電話,有可能要跑到現場了解情況,就像你剛才所說的,包括你去問用戶的情況,也會要問領導層,而且你不能隨意添加什么東西,你添加了以后,至少最低限度的就是要做記錄,或者你在報告里要體現出來增加了什么東西。
白慧冬:我后來和電信集團混得很熟了,他們給我們提出需求,我說你這個東西加多少錢會影響什么東西,時間上能不能承受?如果時間能承受就改,如果時間不能承受將來再改。另外我進入了很大一部分文檔,我說如果改得不滿意,我就拿文檔讓他看,一看,30多頁。
張皖秋:尤其國內用戶對待國內的開發商,更是這樣子,國外開發商說要增加一個需求,增加十萬、二十萬,他就乖乖的掏,而對國內開發商就說NO,你不做,有別人做,你要慢慢的培養你的用戶,讓他接受是很難,如果你不做,是永遠做不到這一點。
于波:我們和客戶之間是什么關系?是雙盈嗎?需求管理當中不是需求開發必要的,但是為了更好的把承諾的需求實現了,這是一個保證。白先生說會記錄下來,管理當中要有一個變更請求,看實施還是不實施。但是從另外一個角度考慮為什么提出這個變更,為什么早期的時候沒有分析這個需求后期會有變化。另外一個,需求給你變了,你不給我加錢,可能晚交貨,或者另外一個功能切換了一下,這個功能上,另外一個功能就要晚一些。我們要讓客戶理解我們工作的特點,如果不這樣管理就不會有好的產品管理和質量,只有把這些記錄記錄下來,才能把所有修改的需求體現到產品里面去。
主持人:我還是同意張皖秋老師的觀點,可能教育這個詞是打一個引號的。因為我原來印象中跟潘加宇辦過一次活動,是邀請國外一位在需求方面非常有名的專家,當時也有提問,如果客戶不斷提出隨意需求的話,你怎么去做?當時這位專家建議就是要告訴他,如果我給你改的話,你要為此付出代價,如果你這樣做的話,會怎么怎么樣,把后果告訴他,你還會不會選擇這樣去做,你幫助客戶分析這個需求,是否真的值得這樣做,而不是客戶來了就去做,要分析真正的需求。
張皖秋:必須有記載,上次你提了10個,我改了7個,你沒有記錄,就沒有辦法跟別用戶交流,我認為這是起碼的東西。
Kristian Persson:在Telelogic當中有工具來滿足這種現狀,可以建立鏈接的功能,可以把相關需求鏈接在一起,對于變更可以進行多級分析來實現,而且在變更過程,有一個變更的管理系統可以管理變更的過程。當某一項有變化的時候,Telelogic工具有警告的系統。
主持人:我想問一下,Telelogic的工具方面有沒有這種功能可以迎合隨意的需求和變更呢?
Kristian Persson:利用工具可以非常好展現出來為什么這種改變會很難實現,因為通過工具管理的鏈接,可以做一個多級的分析,可以看到你這種改變會涉及到哪些操作,會告訴他帶來的后果,他會認真考慮為什么會帶來更多的后果。
主持人:我們遇到需求泛濫的情況下,來自不同渠道、不同聲音,很多需求一塊兒匯總到你這邊來,這種情況下你是如何來做的呢?有沒有漏掉的需求,客戶反饋來找你,怎樣提高管理需求的效率呢?
于波:這要看企業方向的能力。如果你需求不明確,這種變更很麻煩的。我們國內是客戶是上帝,尤其是在現場開發的時候,這是很危險的。如果一時提出很多需求的話,綜合需求也是很重要的,對于管理來講,也不是完全拒絕封閉的。
主持人:有網友問到,如何可以有效的將需求變更控制在一個合理的范圍內呢?
殷志梅:我認為畢竟是一個工具,如果是一個工具并不能阻擋,我認為最主要是機制,如果你想增加工具的話,根本就阻擋不了這種需求。
主持人:是否這跟你們產品需求做得很到位的原因呢?
吳浩剛:做產品開發的時候,提出的需求比較少,但也有需求提出來,我們首先是要審批這個需求值不值得我們現在做,有可能我們會選擇當場做,但也要根據流程做,也會選擇一段形成的需求以后再整體的做。
于波:需求管理的時候,誰來做兼職的決策,比如由產品角色管理,有需求變更沒有問題,產品的需求,最終用戶會反映需求,還有內部和外部的,在實現上也會提出來有問題,對于這些需求誰來分析處理,這是一方面。另外,在開發的時候,分析前期、早期以及調研當中,在開發的時候,有些決策你沒有符合到他的需求,這個原因要從哪方面來看?在配置方面,如果要改,可能也會出現其他的情況。
殷志梅:需求有時候看感覺會很多,我們公司做產品,實際上有很多需求是因為用戶不會很用這個產品,很多需求實際上可以使用電話詢問完成,其實有很多產品的功能,用戶用得不熟,我們可以幫助用戶來分析需求,看用戶需求到底是怎樣的。就我的經驗來講,我們公司很多用戶的需求,就是因為根本不會用這個產品,也許是我們的培訓不到位。我們當時用DOORS工具的時候,他說沒有這個功能呀,當時也沒有教我們用,其實這個功能已經具備了。
吳浩剛:我們也有一些工具來幫助管理,現在用EXCEL來管理需求。
歐陽璟:比如沒有購買商業軟件的話,怎樣去測算需求變更?
吳浩剛:有一定關系,我覺得跟產品開發也有關系。
張皖秋:如果用敏捷的話,定項目的話,那種情況比較合適。而他們相對比較穩定,用敏捷的話,對公司整個產品線上都沒有什么好處的。
歐陽璟:有沒有考慮過用一些像敏捷這樣的軟件把它定死呢?
任群力:Telelogic在全球一直都是領先的,從歷史來看,對需求管理的工具來講,是連續七年都是世界上排名第一位的,無論是在功能上面、理念上面還是市場占有率,連續七年排名世界第一。在很多方面創造了第一,比如第一個PC的版本,這是很多年以前的,第一個帶電子簽名的,第一個帶變更系統的,連續很多年都是在領先第一位,這也是產品領先、技術領先,所以市場份額領先,我們客戶廣泛用了以后,我們提供非常好的支持。
主持人:在國內碰到過天融信這樣的情況,有很多公司沒有采用Telelogic的工具,我想問一下Telelogic工具與其他工具相比有什么特點?適合在哪些企業用。
任群力:在提供技術方面,我們有很好的培訓,首先我們不僅有工具本身的培訓,還有需求管理,如何進行有效需求管理,這是我們非常好的一個培訓。用戶在脫離工具的同時,在開始階段就會想到培訓理念的掌握非常重要。另外還有一種方法論就是怎樣寫一個很好的需求,告訴你怎樣一個需求是一個好的需求,這樣一系列的培訓能夠幫助我們快速的上手。除了這個以外,我們還有幾天甚至五天以上的培訓,我們叫PAW,包括和用戶訪談的這段過程,通過幾天的時間,幫助用戶消化他的問題,把模型建立在多少平臺之上,然后教會用戶在這個需求上怎樣做,可以讓用戶很快的上手,這也是我們成功的一大原因。
主持人:從Telelogic角度來講會有一點點自喜。我想聽聽用戶方面對Telelogic工具提出有什么改進的意見?
任群力:另外,今天各位手里拿到一本書叫《需求工程》,這是我們公司一位同事寫的,他是一名工程師,他在需求管理方面的理論也有很多貢獻。前一段時間他來過北京做演講,非常的受歡迎,這也就是為什么Telelogic能夠在市場上做得這么大,而且一直處于領先位置。 跟其他工具比較的話,實際上也就是我剛才說的那些長項,也就是我們之所以做得這么好的原因。剛才講到有沒有特殊功能?從一個功能來說的話,太多了,不適合一點點的交流。
任群力:還有剛才提到領導者委員會,我們經常做一些交流,我們還有用戶大會,用戶可以分享心得,他們給我們提出很好的建議,認為工具當中有哪些地方有缺陷來進行改正和改進,針對目前市場的趨勢來講,應該怎么做。下一步階段就是電子版本,針對頂頭的客戶,這種技術會帶動第一層的客戶,我們一直在當中保持領先性。
殷志梅:一個好處就是時效性方面,我這邊的需求都看得見,過去用EXCL的話,我如果要告訴大家的話,要發E-mail,現在我哪個需求增加了,會告訴他們需求是第幾條,非常的清楚,而且所有的變化,每個人都看得見,非常的清楚。另外還有一個鏈接,這個功能非常的好,因為需求是一個項目源頭,包括設計,還有測試方案,都是同期來的。寫測試方案的人不會像過去那樣隨意,針對需求一條一條的寫測試方案。還包括設計也是一樣的,有設計流程圖,每個類圖都會非常的清楚。
主持人:你利用Telelogic工具的主要原因是什么呢?
林治宇:我知道Telelogic這個工具,但是細節不是很了解。
主持人:林治宇,你們公司也使用了Telelogic這個工具,你們具體了解嗎?
張皖秋:還有一點就是我們做培訓的時候,上手比較快,尤其從管理角度來說,我希望能看到整個變化,比如一月份需求是多少條,或者怎樣的一個變化,還有我到了第二周又可以看到有沒有變或者怎么樣。另外,因為和設計方案或者用例有一個鏈接,可以看到用例需求測試的覆蓋率。以前你可能有一般的EXCL表也可以看到,但沒有這樣方便。另外時效性也很好。
Kristian Persson:還有一點就是剛才大家提到的有效性,用Telelogic的需求跟蹤,更增加投資回報率,這是一方面的考慮。還有就是我們很多客戶是不得不用,因為必須要展現出來開發一種產品符合政策的規定、規則或者標準,或者符合用戶的標準,這是在DOORS工具根據管理方式得到有效性,所以客戶不得不用。
Kristian Persson:實際上Telelogic提供的需求跟蹤并不是我們獨家的產品,實際上管理工具都提供跟蹤性。但是我們看到在跟蹤性方面,Telelogic提供得更有優勢。從兩方面來看,一方面就是非常易會,因為很多工程師在建立這種鏈接的時候,有的工具比較麻煩,而我們這種工具非常的簡單,幾乎沒有額外的工作。另外在DOORS方面提供最強的,也就是在跟蹤方面能夠更好的和客戶進行建立鏈接分析,有很多分析方法,但是我們認為這種鏈接方法是最好的。
主持人:我所了解的DOORS有一個很強的工具是需求跟蹤這方面,是這樣的嗎?
林治宇:因為可以提高更大的效率。剛才也說了我們的需求變更不多,用EXCEL做跟蹤效果不是很好,我們主要是注重效率。
主持人:其實真正是要靠整個機制來提高效率。還有一個問題,想問一下你們在咨詢當中接觸這么多客戶當中,你認為他們的需求管理過程中存在最大的問題是什么?你們又是給他們提供一些解決的方法呢?
潘加宇:我一年到頭跑來跑去,到現在已經有80家軟件組織,像西門子、東方通我都去過了,而且去西門子已經不止一次去了,有些是深入的指導,有些是淺入的。對于面向對象的時候,我們做的話都是做項目公司,很多都是短期行為的,面向對象的時候,大概都是有點長期的行為,做產品的時候可能會考慮下一個版本的拓展。但是做項目的時候不用考慮這些,我現在給你做到了,里面結構亂了也不要緊,如果下面還改的話,下面再談。從我的經歷來看,改變需求,往往是團隊非常樂意做的,而且也是非常容易見效果的。
于波:因為我們是做企業管理咨詢的,首先要幫助企業為什么需要來做管理咨詢,比如你現在的狀態是什么,在管理上會不會有問題,會不會造成人為的一些質量、進度方面的情況,是不規范造成的。我們會按照國際上的一些最典型的方法,通過最佳的實踐來培訓,對他們自身存在的問題,比如我們會進行前期分析,我們分析現在存在的問題是什么,以及怎樣幫助他建立機制或者流程,從而避免這樣的問題。建立機制的過程當中,又包括幫助他選擇一些規范,選擇一些工具,工具包括比較簡單的EXCL表以及專門銷售商的工具,在這當中我們會根據企業自身的特點根據企業的經驗和問題進行評介,以及在實踐結果進一步改變流程,怎樣更有效的利用合理工具,解決他們的問題,使工具加流程更加有效。
潘加宇:但要讓團隊知道需求是一種技能,里面包含很多種技能,像剛才說的合成技能,業務流程要尋找改進點,這是非常復雜的,業務流程只有一個,業務流程就這樣,你說需求會怎么提,有很多種提法,你要研究簡要的目標得出恰當的需求,用例也可以提出很多需求方案,但只有一個是最適合的,這是要研究透的,所以這里面有很多技能,包括管理的技能,把需求從哪里來到哪里去,以及變更呀,我們選需求也是有學問的,知道這一點就好辦了。就像圍棋一樣的,最開始業余的時候就是死活,看能贏多少,一開始看后面死活就不行,就講究別的東西,大概跟這是一樣的。
主持人:其實剛才大家給了我們很多建議,按照我們的慣例,請在座的各位對做需求的工程師說一句話作為寄語。
白慧冬:我做工程比較多,實際上做項目和技術方面來講,需求最難做的就是如何對需求做區分,說得再白一點就是哪些需求是現在要做的,哪些需求是將來要做的,哪些需求是不可以做的,這都要區分出來。
李峻:我覺得需求工程師這個職位應該是很有前途的,比如我們這么大的開發公司,這個名稱在我們公司是剛剛加進入的,原來根本沒有這個職位,現在在招聘網上叫需求工程師這個名稱,如果大家對這個感興趣,認識到它的重要性的話,應該是很有前途的。
林治宇:需求對項目成敗有直接的影響,我們有直接的經驗和教訓。另外,對于跟蹤需求如果價格很合理的話,我愿意考慮。
吳浩剛:需求公司會比軟件公司的發展潛力會更好。需求公司如果做專業的話,一定要加強自己的技能,包括溝通方面,還要加強自己需求開發的方法,從而把需求做得更好。因為需求直接關系到一個產品的成敗,影響非常的大。
潘加宇:需求就是一種技能,大家認識到這一點就行了
于波:需求工程分為需求開發和需求管理,開發出來的需求是整個項目開發活動和管理活動的需求,好的需求活動貫穿全產品項目周期,進一步支持產品開發和管理。
白慧冬:需求是軟件工程資源,好的開始是成功的一半。
于波:需求工程分為需求開發和需求管理,開發出來的需求是整個項目開發活動和管理活動的需求,好的需求活動貫穿全產品項目周期,進一步支持產品開發和管理。
Kristian Persson:我想用需求管理大師在一本書上寫到的一句話,也就是中國《孫子兵法》里面的一句話,原文我也記不太清楚了,大概是要知勝而后戰,而不是戰而求勝,而是要知道你能勝才戰,意思是說你要知道你做的事是什么,然后再去做。
任群力:Telelogic公司,大家都知道,在需求管理方面提供了很好解決方案,我們到這來,并不是來賣東西,你可以考慮形式上是賣東西,實際上是幫助在座的或者幫助用戶來掌握或者開發過程當中最關鍵的一部分需求。
主持人:今天的活動就到此結束。
文章來源于領測軟件測試網 http://www.kjueaiud.com/