趙俊 石春
摘要:隨著計算機相關設備的不斷普及與軟件開發技術的完善,軟件設計與開發逐漸趨于個性化、多元化,對軟件開發的質量與效率也提出了新的要求。然而,傳統的瀑布式開發方式較為笨重難以滿足社會發展需求,亟須一種更加便捷靈活的開發方式。21世紀初期,敏捷思想作為一種輕量級的軟件開發思想逐漸被軟件開發人員所認可和接受,逐漸應用于軟件開發與設計中。因此,該文基于敏捷思想的基本概念與內涵等探究敏捷思想在軟件開發中的應用。
關鍵詞:計算機;軟件開發;敏捷思想
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)09-0098-02
目前,隨著社會進步,軟件成為人們日常生活與工作中必不可少的一部分,軟件開發在軟件產業高度發達的今天為適應社會需求應當更加注重效率,采用更加高效的方式方法。傳統的軟件開發方法譬如說于1970年被提出的如今被廣泛使用的瀑布式開發方式在對軟件需求多樣化的21世紀就顯得日漸笨拙且所耗費的時間長,太過于強調文檔、沒有迭代與反饋、不適合客戶需求不斷變化的軟件開發、將開發者變成流水線上的軟件文檔開發機器等缺點使得傳統的軟件開發方法不再適應高速發展的軟件行業。為了滿足市場需要,解決問題,國外軟件開發行業提出了一些新的開發方法,這類方法以快捷、輕便的思維方式,得到了業界廣泛的認可與推廣,這類方法被稱為敏捷軟件開發方法。然而,這種“舶來品”在國內的實踐與應用卻不如人意,有的互聯網公司把敏捷做成了“假敏捷”,成為披著敏捷外套的小瀑布,而有的互聯網公司成功應用于實踐中,通過敏捷轉型得到了二次發展。因此,本文基于敏捷開發的核心思想探究其在軟件開發中的實踐應用。
1 敏捷開發思想
敏捷開發思想最初是十幾名軟件開發專家在美國猶他州的滑雪勝地中通過溝通與交流提出,其中最為出名的一名專家名為Martin Fowler,被人稱之為軟件開發大師,這些專家聚集在一起致力于總結實踐經驗能夠發現軟件開發中更好的開發方法。這些專家為了與傳統的軟件開發方法區別開來,將這些方法命名為敏捷開發,并且一起組建了“敏捷聯盟”將會議結果發布為“敏捷聯盟宣言”,首次明確提出了關于敏捷開發思想的核心價值觀與基本原則。
1.1 敏捷開發思想核心價值觀
敏捷聯盟所簽署的敏捷宣言中包含了4個核心價值觀:1)個體和交互勝過過程和工具;2)可以工作的軟件勝過面面俱到的文檔;3)客戶合作勝過合同談判;4)+響應變化勝過遵循計劃。1.2敏捷開發思想12條原則
1)盡早、持續地交付有價值的軟件,使客戶滿意;
2)到了開發的后期,也歡迎改變需求。敏捷過程利用變化來為客戶創造競爭優勢;
3)經常性地交付可以工作的軟件,交付間隔可以從幾個星期到幾個月,交付時間間隔越短越好;
4)在整個項目開發期間,業務人員和開發人員必須天天都在一起工作;
5)圍繞被激勵起來的個體來構建項目。給他們提供所需的環境和支持,并且信任他們能夠完成工作;
6)在團隊內部以及團隊之間,最有效果并且最富有效率的傳遞信息的方式,就是面對面的交談;
7)可以工作的軟件是首要的進度度量標準;
8)敏捷過程提倡可持續的開發速度。責任人、開發者和用戶應該能夠保持一個長期的、恒定的開發速度;
9)不斷地關注優秀的技能和好的設計會增強敏捷的能力;
10)簡單是根本的,它是使未完成的工作最大化的藝術;
11)最好的架構、需求和設計出自自我組織的團隊;
12)每隔一定的時間,團隊會在如何才能更有效地工作方面進行反省,然后相應地調整自己的行為。
根據價值觀和原則可以歸納出三個要點“客戶”“團隊”“以人為本”。因此,敏捷開發思想實際上指以人作為核心,根據用戶不斷變化的需求采用迭代、循序漸進的方法進行靈活開發的一種輕量軟件開發方法。在敏捷開發中,軟件項目在構建初期被切分成多個子項目,各個子項目的成果都經過測試,具備可視、可集成和可運行使用的特征。換言之,就是把一個大項目分為多個相互聯系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態。
2 敏捷思想在計算機軟件開發中的應用
2.1 敏捷思想在計算機軟件開發中應用現狀
近年來,敏捷軟件思想在計算軟件開發領域逐漸推廣開來,許多國外大型互聯網公司都在軟件開發進程中融人敏捷思想,例如google、Vahoo、IBM等都已經使用敏捷開發方法多年。然而,在國內,許多互聯網公司仍舊采用傳統的瀑布式開發方式,而敏捷思想相對來說起步較晚,才剛剛被業界人員所接受,對于敏捷思想的應用與實踐還處于發展階段,只有國內部分企業真正做到了敏捷開發,譬如說華為通過加強敏捷思想開發培訓以推廣落實敏捷軟件開發。然而,存在許多中小企業由于團隊建設薄弱、管理能力較低處于“假敏捷”的狀態,甚至存在為了敏捷而敏捷的情況。因此,探究關于敏捷思想在計算機軟件開發中的應用流程與實踐具有一定的研究價值,值得我們去深入分析。
2.2 敏捷思想在計算機軟件開發中的應用過程
敏捷思想對于計算機軟件開發來說總體上起到一個指導性的作用,具體的實際應用可以遵循以下流程:
2.2.1 敏捷需求分析
敏捷宣言所提到的12條原則中可以看出用戶需求在整個軟件開發進程中起到了非常關鍵的導向作用,因此,在開始新的軟件開發項目的時候,首要的事情就是敏捷需求分析。敏捷需求分析又分為兩個方面,一方面為制定產品需求列表,另一方面為改進和評估需求清單。
制定產品需求列表:首先應當了解用戶需求、明確產品需求,可以通過開展戰略會議,邀請軟件開發團隊、客戶、項目負責人等相關利益者參加會議,分析與討論用戶需求、產品需求、用戶操作場景,并且將需求進行優先級的排定,在會議進程中應當通過對內容的記錄與整理創建出Product backlog。在整個軟件項目開發的進程中這個清單將一直存在,項目開發團隊必須時刻與用戶保持聯系,了解用戶的需求變化,及時隨著用戶需求而更新需求列表以及需求列表的優先級。這些用戶需求是制定軟件開發項目目標與愿景的重要基礎。
改進和評估需求列表:在整個軟件開發流程中,負責項目開發的團隊對創建的Product backlog作出評估與改進是一個至關重要的環節。主要對項目需求列表的明確程度、合理性以及優先級排序進行評估,去除與軟件開發項目無關的、不合理的需求,改進優先級排序錯誤的部分。然后根據用戶的有效需求制定完整的軟件項目開發計劃。
2.2.2 敏捷軟件開發
敏捷軟件開發階段是在之前工作的基礎上,將需求列表拆分成最小粒度的Story,可以通過Sprint計劃會議在Productbacklog中按照優先級挑選出一個Story作為一次迭代計劃目標,完成時間設定為一定周期以內。然后將挑選出的Storv進行進一步的細分,形成一個迭代任務列表。項目開發者應當在規定的周期內,完成迭代任務列表中每一項的編碼工作,及時告知項目進展。需要注意的一點是,目前,國內許多企業為了及時了解項目進度,因此每日召開例會,圍繞昨日進度、今日安排以及所遇到的困難這幾個方面進行匯報與梳理。但是,筆者在實際的工作經驗過程中發現,這樣的做法耗費的時間較多,并沒有起到實質性的作用,尤其在公司團隊規模較大的情況下通過召開例會進行工作匯報的方式反而不利于軟件開發效率。在實際的應用中,可以借助市面上CORNERSTONE、WorktileAgile等相關的敏捷軟件項目開發工具進行記錄。
2.2.3 敏捷測試
在敏捷軟件開發進程中,敏捷測試是其中較為關鍵的一個環節。敏捷測試由單元測試、可接受性測試以及系統及性能測試。開發團隊在完成一個迭代周期沖刺階段之后,需要邀請利益相關者召開會議,由軟件開發者對軟件進行演示,進入這一個Sprint軟件產品的驗收測試階段,在測試過程中通過收集用戶問題反饋并且根據軟件的測試情況由開發團隊確立一個最為重要的待改目標,將其設定為下一個沖刺階段的首要任務,對軟件開發產品進行進一步的優化與完善。
3 結束語
總而言之,相較于羅列大堆功能再進行線性流程開發的傳統開發方式,敏捷開發將軟件開發項目分解為多個迭代任務,通過完成每個階段的任務從而完成整個項目具有一定的優勢與可行性,避免了軟件開發成為枯燥的文檔開發,使得軟件開發變成一個靈活的隨機應變的高效的過程。本文基于敏捷思想的理論基礎上總結出敏捷思想在計算機軟件開發中敏捷需求分析一敏捷軟件開發一敏捷測試的應用流程。在今后關于軟件開發的實踐操作中,敏捷思想將起到重要的指導作用。
參考文獻:
[1]羅昊.計算機軟件開發中敏捷思想的應用探討[J].計算機產品與流通,2019(12):28.
[2] Computers; Researchers from Pontifcal Catholic University ofParana Detail New Studies and Findings in the Area of Com-puters (Usability In Agile Software Development:a TertiaryStudy)[J]. Computers, Networks&Communications,2019.
[3]楊智勇.敏捷項目管理在軟件開發中的應用[Dl.上海:上海交通大學,2014.
[4]嚴智,劉玉恰.淺析敏捷軟件開發方法與工程實踐[Jl.信息化研究,2013,39(2):52-55,59.
[5]謝東強.敏捷軟件開發的雙迭代模型[J].計算機應用與軟件,2012,29 (6):176-17 8,198.
[6]范洪濤.敏捷軟件開發應用研究[D].成都:西南交通大學,2009.
[7]沈成莉.敏捷項目管理在軟件開發中的實踐應用[D].上海:復旦大學,2009.
[8]向佐龍.敏捷管理方法在軟件開發中的應用研究[D].武漢:武漢理工大學,2007.
[9]唐俐威.軟件開發的敏捷管理方法應用研究[D].哈爾濱:哈爾濱工業大學,2006.
【通聯編輯:唐一東】
收稿日期:2020-01-25
基金項目:海南師范大學校級教育教學改革研究項目(hsjg2019-52)
作者簡介:趙俊(1993-),男,四川成都人,工學學士,主要研究方向為無線通信,軟件設計與開發;通訊作者:石春(1977-),男,江西鄱陽人,副教授,工學博士,通訊作者主要研究方向為無線通信,軟件設計與開發。