楊定定
摘? 要:需求管理在一定程度上會直接或間接影響到項目進度和產(chǎn)品質(zhì)量,在軟件項目建設中,合理的需求管理是項目成功的關鍵。文章從制造業(yè)軟件項目自身特點、需求管理概念及其重要性進行了初步分析,并重點對制造業(yè)軟件項目需求管理存在的問題和如何進行需求控制進行了闡述。通過文章的分析,為制造業(yè)軟件項目的需求管理提供了管理思路和幾項針對性的控制方法。
關鍵詞:制造業(yè)軟件項目;需求管理;問題;方法
中圖分類號:TP311.52 文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2020)29-0185-02
Abstract: To some extent, demand management will directly or indirectly affect the project progress and product quality. In the software project construction, reasonable demand management is the key to the success of the project. This paper analyzes the characteristics, the concept and the importance of demand management of software project in manufacturing industry, and focuses on the problems existing in demand management of software project in manufacturing industry and how to control demand. Through the analysis of this paper, it provides management ideas and several targeted control methods for the demand management of manufacturing software projects.
Keywords: manufacturing software project; requirement management; problem; method
引言
需求是項目整個項目生命周期中的先決條件,做好一個項目的需求管理,可以客觀地分析好需求的可行性,約定好合同規(guī)定的需求范圍和具體的交付成果,同時更合理地做好變更控制,直接或間接地決定項目進度和產(chǎn)品質(zhì)量。對于制造業(yè)軟件項目而言,需求管理更為復雜,需要究其原因,充分運用好控制方法,把控好需求變化的度和項目執(zhí)行的果。
1 制造業(yè)軟件項目需求管理的背景
1.1 制造業(yè)軟件項目的特點
20世紀60年代只有航空、航天、國防和建筑工業(yè)才愿意采用項目管理;70年代,項目管理在新產(chǎn)品開發(fā)領域中擴展到了中型企業(yè);80年代,越來越多的中小型企業(yè)已將項目管理靈活地運用于企業(yè)管理的各項活動中;80年代末,項目管理已被公認為是一種有生命力并能實現(xiàn)復雜企業(yè)目標的良好方法。[1]其中制造業(yè)軟件以其專業(yè)性強、復雜度高、涉及面廣等原因,一直重視運用項目管理理念管理企業(yè)系統(tǒng)軟件的實施。制造業(yè)企業(yè)多數(shù)輻射領域廣,建企歷史相對較長,受國家政策、市場競爭、技術革新等影響較大,軟件項目規(guī)模大小不一、實施架構各異,業(yè)務工作流程在數(shù)字化實施中發(fā)現(xiàn)了不少“瓶頸”,運營了多年的企業(yè)管理體系和質(zhì)量控制要求,都給軟件需求分析帶來了一定的邊界限制及變更可能。
1.2 需求管理概念與其重要性
IEEE軟件工程標準詞匯表(1997年)中將需求定義為用戶解決問題或達到目標所需的條件或權能;系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其它正式規(guī)定文檔所需的條件或權能。軟件需求包含業(yè)務需求、用戶需求、功能需求及一些非功能需求等。需求管理是將這一系列軟件需求經(jīng)過組織、優(yōu)化、記錄形成有序的方案,并使用戶和項目實施團隊在項目全生命周期中實現(xiàn)需求、跟蹤需求和保持需求一致性的過程。據(jù)不完全統(tǒng)計,影響軟件項目成敗的因素中需求因素占比35%左右,其中包括過少的用戶輸入、不完整的需求、需求變更等。所以一個項目的成敗,合理的需求管理尤為重要。在軟件實施過程中,需求管理貫穿于項目的全生命周期,需求是項目的開端,源頭出現(xiàn)偏差,這對于項目是致命的。需求管理做得好,軟件質(zhì)量和項目效果也更易得到用戶肯定。系統(tǒng)需求的變化、功能的完善升級、用戶體驗的更高要求等是事物發(fā)展的客觀規(guī)律,所以項目經(jīng)理必然會面臨把控需求工作,控制不到位,勢必會造成計劃紊亂、交付延期、士氣受影響、成本攀升、質(zhì)量大打折扣,所以有效地控制時間、進度、成本、質(zhì)量成為衡量項目成功、項目經(jīng)理優(yōu)異的指標。
2 制造業(yè)軟件項目需求管理存在的問題
2.1 過多的概念需求設計
概念設計是由分析用戶需求到生成概念產(chǎn)品的一系列有序的、可組織的、有目標的設計活動組成的,它表現(xiàn)為一個由粗到精、由模糊到清晰、由抽象到具體的不斷進化的過程。[2]對于制造業(yè)軟件項目來說,業(yè)務需求可能會受經(jīng)濟波動、科學發(fā)展、市場競爭、法規(guī)變化、公司決策等多種因素的影響,所以多數(shù)用戶不希望在項目前期將需求嚴格固化。這種做法將導致項目全生命周期中需求時限延長,產(chǎn)生了過多的概念需求。概念需求設計雖為一些敏捷開發(fā)項目提供初步輸入,但其因沒有過多的設計限制,給開發(fā)者的自由發(fā)揮空間太大,往往造成需求的偏離,也為后續(xù)項目變更帶來潛在問題。
2.2 需求與技術的博弈
制造業(yè)軟件一般分為兩類,一種是專業(yè)性很強的客制化軟件,另一種是通用性的管理類軟件。前者往往受限于客制化軟件本身的技術架構要求,對靈活變通的業(yè)務要求很難實現(xiàn),需求和體驗的讓步無法避免;后者大多是基于通用或開源的架構,靈活度相對較高,用戶在實施推進中也許會提出更高的功能及特色要求。而這些要求往往準確性不夠,需求描述的準確性對開發(fā)者而言至關重要,開發(fā)者曲解或誤解了用戶需求,最終系統(tǒng)將會出現(xiàn)需求不一致現(xiàn)象,帶來無比龐大的維護費用,項目可能陷入僵局,進而成為一個失敗的項目。
2.3 業(yè)務部門對項目管理的理解
“術業(yè)有專攻”這句話用在項目各干系人間非常貼切。業(yè)務部門更關注需求本身,需求是否被完全或超常實現(xiàn),是否系統(tǒng)產(chǎn)生了價值或體現(xiàn)了亮點,他們往往不關注需求的細化程度、項目的周期和成本。軟件系統(tǒng)的需求是源源不絕、形形色色的,將其全部囊括是不現(xiàn)實的,同時隨著用戶使用程度的加深,更多新的需求將會被提出。[3]這也就是為何在項目中要設置基線、凍結(jié)需求的原因,需求必須在項目實施中達到平衡,并不是業(yè)務部門提出的所有需求都要被滿足,也許一個需求的實現(xiàn)帶來的好處遠遠彌補不了它對整個項目帶來的損失。
2.4 頻繁的需求變更
在制造業(yè)軟件項目中,需求變更是在項目實施過程中最常見的,項目經(jīng)理與其說管理好項目,更看重的可能就是管控好需求。需求的變更輕則影響項目計劃,重則推翻再來,也就是需求分析、設計、開發(fā)、測試重來一遍。好的項目需求必須嚴格可控,不得隨意變更,執(zhí)行嚴格的需求變更流程,甚至上升到合同變更。在很多項目實施時,需求一開始要求的是畫個蘋果,經(jīng)過多輪需求變更后,系統(tǒng)實現(xiàn)的卻是畫成了西瓜,這也許是用戶和實施方都無法預料到的。
3 制造業(yè)軟件項目需求管理控制方法
3.1 良好的需求開發(fā)和管理過程
需求管理與需求開發(fā)是相輔相成、緊密相連的。一個需求工程包含需求開發(fā)和需求管理,需求開發(fā)完成問題獲取、分析、規(guī)格說明編寫、驗證,確定產(chǎn)品所期望的用戶類,獲取每一類用戶的需求,進行分析分解,規(guī)劃優(yōu)先級和模型,驗證評審需求的正確性和完整性。需求管理進行變更控制、版本控制、需求跟蹤、需求狀態(tài)跟蹤,定義需求基線,控制好需求變更,與項目計劃保持一致,并為后續(xù)項目推進做好輸入和跟蹤。在需求開發(fā)和管理過程中,需要與用戶保持密切溝通,通過評審手段定好需求基線,特別對于制造業(yè)軟件項目,干系人涉及較廣,在用戶類需求識別中一定要識別到位,降低需求空白可能,減少實施過程中需求變更情況。若確實出現(xiàn)變更,執(zhí)行變更管理流程,做好計劃調(diào)整、版本控制及實施情況追蹤。
3.2 合理的需求獲取方法
合理的需求獲取最主要的目的就是與用戶建立良好的溝通渠道和方式,確保溝通的有效性。在制造業(yè)軟件項目中,多數(shù)采用專題討論會、調(diào)研訪談等常規(guī)方法,需要注意的是要盡可能覆蓋到所有干系人的需求,做好記錄和追蹤。對于涉及復雜系統(tǒng)集成時,可進行場景串聯(lián)、頭腦風暴,盡可能識別出用戶未提出的需求,對用戶提出建議,項目可在需求調(diào)研后、系統(tǒng)實施前制作動態(tài)原型,讓需求具體化,進一步獲取用戶的細化需求。與用戶充分的溝通交流、整理需求,并最終得到用戶的確認,可以很大程度地降低需求基線確定后的需求變更。在溝通中要營造需求人員與用戶的統(tǒng)一戰(zhàn)線、互相協(xié)作的氛圍,盡量規(guī)避“妥協(xié)”、“刁難”等現(xiàn)象,提高項目溝通成效,統(tǒng)一產(chǎn)品的認知。
3.3 巧用需求分析建模方法
需求分析建模的目的是通過一定的手段有效地表現(xiàn)需求,確保需求有效地被用戶和實施方理解和明確,避免誤解和歧義。常用的需求分析建模方法有用例分析法、原型分析法、結(jié)構化分析法等。用例分析法多用在場景下用戶和系統(tǒng)的交互,源于面向?qū)ο笏枷?,采用統(tǒng)一建模語言UML,比較直觀、易于理解。原型分析法多為了快速開發(fā)系統(tǒng),讓用戶直觀感受系統(tǒng),提出差異,縮短開發(fā)周期,降低開發(fā)風險。結(jié)構化分析法更多的是強調(diào)開發(fā)方法或軟件的結(jié)構合理性,面向開發(fā)更易理解,用戶的可讀性差,可以達到加快開發(fā)設計的目的。不同的需求分析建模方法可以組合使用,更清晰地細化需求的落實,讓用戶和開發(fā)者均可高度理解和參與。
4 結(jié)束語
對于制造業(yè)軟件項目而言,業(yè)務部門往往站主導地位,需求管理的藝術性不僅需要標準的項目管理方式、優(yōu)異的技術實現(xiàn)手段、高超的溝通技巧,還需要業(yè)務解讀的專業(yè)性。需求管理是用戶與實施方靈感碰撞的過程管理,它是持續(xù)的、可變的,往往項目的失敗正來源于需求分析的錯誤、無止境的變更。它在項目全生命周期中占有決定性地位,采取有效的需求控制方法,可以盡可能地減低對項目的影響,提升產(chǎn)品質(zhì)量和安全性,實現(xiàn)項目成功,達到雙贏。
參考文獻:
[1]白思俊.現(xiàn)代項目管理[M].機械工業(yè)出版社,2018.
[2]百度百科.https://baike.baidu.com/item/概念設計/1200478?fr=Aladdin[EB/OL].
[3]陳鵬.淺談軟件項目需求管理[J].計算機光盤軟件與應用,2012(15):58.