覃琳 楊程 孫衛寧 覃宏秋
【摘 要】文章探討了在協同創新平臺上引用敏捷開發模式,幫助孵化器的中小型企業在創新創業路上,從需求管理、計劃管理、迭代任務管理、測試管理、代碼庫管理、自動化測試工具等方面對項目研發的全生命周期進行跟蹤,改善原有研發流程,規范項目開發文檔,提升研發團隊的項目管理能力、軟件開發能力,提高工作效率,降低研發的成本和風險。敏捷開發模式進一步提升了孵化器的管理能力和服務能力。
【關鍵詞】創新創業;敏捷開發;項目管理;流程管理
【中圖分類號】TP3 【文獻標識碼】A 【文章編號】1674-0688(2019)02-0009-02
科技創業活動日益活躍,科技型中小企業大量涌現,科技企業孵化器在總體上發展良好,但是自身團隊在軟件研發過程的初期普遍存在軟件需求和定位不清晰,具體功能不確定,團隊的分工不明確等問題,導致研發效率低,時間長,過程反復,研發出來的軟件偏離客戶需求等,因此,我們引入敏捷開發模式,從項目需求管理、計劃管理、迭代任務管理、測試管理、代碼庫管理、自動化測試工具等方面,幫助中小企業提升軟件研發的能力,讓開發中各個環節更緊湊、可控,實現工作過程的流程化,項目管理的正規化,以便提高軟件質量,按期交付。
1 敏捷開發模式與傳統開發模式比較
敏捷開發作為一種新的軟件工程方法,是一種與傳統瀑布流開發相反的軟件開發過程,與傳統相比更加注重人的因素,注重開發者之間的互動及開發者和用戶之間的互動,同時因為增加了交流和協作使得開發的項目更加靈活和易于修改。
2 敏捷開發模式特性
敏捷開發的核心是用戶的需求變化。在敏捷開發中,項目一開始就被分切成多個相互聯系,但也可以獨立運行的子項目,各個子項目的成果都經過測試,具備可視、可集成和可運行使用的特征。
3 協同創新管理服務平臺能力提升
3.1 需求管理
需求管理可以分為客戶需求管理、產品開發需求管理等,客戶需求管理屬于原始的需求,是客戶的業務流程或是產品應用場景;產品開發需求是站在客戶的角度去記錄和思考,包括使用場景、業務流程的劃分,用戶想讓系統實現什么,如何去執行等,把收集到的信息進行匯總,通過對客戶需求進行分析和梳理之后,然后形成產品的需求目錄,產品的需求目錄和客戶的需求是相互關聯,并且可以進行跟蹤管理。
3.2 計劃管理
計劃管理,在產品開發需求管理的基礎上,制定一個交付計劃,包括任務分解、研發進度和資源分配等方面,每一個計劃盡可能的小,計劃的劃分要有獨立性,可協商性、可預測和測試性,并對計劃進行估算和排序,形成迭代任務。
3.3 迭代任務管理
在敏捷開發中,迭代任務分為Sprint計劃、Sprint開發、Sprint回顧、Sprint跟蹤等4個部分。
(1)Sprint計劃,根據計劃管理的任務進行劃分,確定需要完成的任務量,對任務的時間、難度進行估算和排序,團隊人員進行任務領用。
(2)Sprint開發,采用可視化的任務看板形式,展示迭代任務的開發狀態和進度,團隊開發人員可以實時地了解到迭代任務的消耗時間、剩余時間,任務是在構建過程還是在測試過程還是已經發布等。
(3)Sprint回顧,對迭代的任務進行總結分析,統計任務的完成情況。
(4)Sprint跟蹤,在Sprint中通過燃盡圖來跟蹤整個迭代計劃的進展,燃盡圖記錄了迭代任務完成情況和變化趨勢。
3.4 測試管理
測試管理貫穿整個項目的全過程,從需求規劃開始,一直到項目交付。在敏捷開發模式中集成了測試用例、測試用例設計、缺陷跟蹤、缺陷管理等4個功能。測試管理給項目團隊人員提供高效、便捷的測試平臺。通過測試管理功能,項目團隊可以實時了解項目的質量情況。
(1)建立測試類別,測試人員根據測試的方案,選擇測試的類別,也就是需要進行哪一類的測試,如性能測試、安全測試和功能測試等。
(2)建立測試庫,測試人員根據所需要測試的內容,建立測試中所需要的用例,這是后期進行測試的基礎。
(3)建立測試周期,測試人員根據測試的方案來制定測試的周期,在每一項功能可能需要反復多次的測試,如功能測試、回歸測試等。
(4)建立測試用例,測試人員可以根據系統的測試內容建立測試用例,包括測試用例的數據、添加操作、修改操作、刪除操作等。也可以通過已存在的模板進行相應修改后,進行測試。
(5)執行測試用例,測試人員使用測試用例進行測試,并且記錄測試數據,如各功能模塊執行的結果數據、缺陷數據等。
3.5 代碼庫管理
中小企業在團隊開發過程中,因為客戶需求不斷變化,軟件也在不斷地迭代,軟件在不斷修改和升級過程中,代碼質量可能會變差,比如,軟件的版本混亂、代碼沖突、代碼分散,閱讀性變差、代碼修改變得復雜,以及耦合度過高使得測試變得越來越繁瑣。因此,為了提高研發人員在軟件開發和維護的效率,減少開發和維護成本,對軟件代碼質量進行實時監控,以及時了解代碼質量變化和及時修正,采用代碼庫進行管理。
代碼管理工具是軟件開發中重要的工具,能讓開發人員有效地管理自己的代碼,能夠清晰地記錄代碼文件的修改內容及歷史版本,每個開發人員在自己的版本庫上可以任意地執行提交代碼、創建分支等行為。采用代碼庫,不僅能保證代碼安全,還可以讓團隊成員異地同步開發,不影響項目進度,提高發開效率。
(1)代碼庫管理的基本功能。開發人員使用開發工具將代碼同步到庫管理中,在庫中可以設置訪問策略,是否允許瀏覽、克隆、下載和查看庫中各分支的差異。
(2)代碼庫管理的代碼分析功能。庫管理能提供源代碼的行數、有效代碼行數等質量分析,一方面集成了自動化代碼度量工具進行軟件代碼的評估,如耦合度、方法長度等,另一方面通過版本庫和BUG庫中的數據對比,進行缺陷預測,讓開發人員關注容易出錯代碼,幫助開發人員及時找到原因,改善代碼質量。
3.6 自動化測試工具
軟件測試是驗證軟件的正確性、完整性、安全性的過程,是驗證軟件的質量是否能滿足設計要求的評估過程。軟件的測試可分為單元測試、集成測試、系統測試等,單元測試一般是對象的單項功能,測試內容一般包括局部數據結構、覆蓋條件、邊界條件等,集成測試主要是測試接口之間的問題,系統測試是將被測軟件相關聯的外部設備結合,實際環境下對系統的測試。軟件自動化測試主要是通過測試工具、腳本等來實現,易操作、可重復測試、效率高。在平臺上,引入了一些自動化工具,提供中小企業使用,提高用戶的研發效率。
(1)QTP自動化工具。QTP是功能自動化測試工具,應用于軟件的回歸測試中,它不僅可以測試傳統的windows應用軟件,還可以測試在WEB上的應用,同時也提供多種插件支持,可以應用于多個類型產品[2]。
(2)WinRunner功能測試工具。WinRunner功能測試,主要是檢查軟件是否能正常運行,能否達到預期的功能。WinRunner通過錄制、檢測和回放用戶的應用操作,有效地幫助測試人員在不同的版上進行反復測試,提高人員的工作效率,確保軟件所有功能的正常運行[3]。
(3)LoadRunner性能測試。LoadRunner是一個自動負載測試工具,用于預測系統行為和優化軟件性能測試工具,LoadRunner可以模擬千萬用戶進行訪問,并且實時記錄軟件的負載情況,幫助用戶更快地查找問題和發現問題,能有效地避免系統上線后,因為用戶訪問量過大,造成系統緩慢或是崩潰等問題。
參 考 文 獻
[1]伊華,王志堅.基于Scrum敏捷開發的軟件實訓設計[J].計算機教育,2016(6):65-69.
[2]彭賢生,張花萍.自動化測試工具QTP在軟件項目中的應用[J].中國高新技術企業,2014(12):291.
[3]李明澤.淺談軟件自動化測試技術[J].科教導刊,2016(31):171-172.
[責任編輯:鄧進利]