国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

敏捷思想在軟件研發(fā)中的研究與實(shí)踐

2021-09-24 06:54:16丁慧余亞萍陳杰北京京航計(jì)算通訊研究所
航天工業(yè)管理 2021年8期
關(guān)鍵詞:開發(fā)方法文檔軟件

丁慧、余亞萍、陳杰 /北京京航計(jì)算通訊研究所

隨著信息技術(shù)的快速發(fā)展,硬件配置在不斷升級(jí)優(yōu)化,所承載的軟件功能也日趨龐大和復(fù)雜。對(duì)于軟件研發(fā)企業(yè),是否能夠采用高效、適宜的開發(fā)方法,以快速響應(yīng)市場(chǎng)需求,交付用戶有價(jià)值的產(chǎn)品,是其取得核心競(jìng)爭(zhēng)力的關(guān)鍵。

傳統(tǒng)的開發(fā)方法,如影響軟件業(yè)40 年之久、至今仍被廣泛應(yīng)用的瀑布型開發(fā)模式,借鑒創(chuàng)造業(yè)流水線的開發(fā)思路,將軟件研發(fā)過程劃分為需求、設(shè)計(jì)、開發(fā)、驗(yàn)證、確認(rèn)、維護(hù)等階段,前一個(gè)階段夯實(shí)了,下一個(gè)階段才開啟,這種接力的開發(fā)方法在應(yīng)對(duì)需求多變、開發(fā)周期較長的復(fù)雜項(xiàng)目時(shí),顯得力不從心。

傳統(tǒng)開發(fā)方式弊端的暴露誘發(fā)了敏捷運(yùn)動(dòng)。2001 年,一群志同道合的軟件開發(fā)實(shí)踐者提出了新的開發(fā)方法,稱之為敏捷開發(fā)方法,它以輕量級(jí)、高適應(yīng)性的特點(diǎn)贏得了業(yè)界的認(rèn)可和推廣。

北京京航計(jì)算通訊研究所從2018 年開始組織敏捷開發(fā)理念和應(yīng)用實(shí)踐的研究,并選擇部分項(xiàng)目做試點(diǎn),經(jīng)過近兩年的實(shí)踐已取得一定成效。因此,本文的核心內(nèi)容是基于敏捷思想,總結(jié)敏捷開發(fā)方法在項(xiàng)目中的實(shí)踐經(jīng)驗(yàn)。

一、敏捷開發(fā)思想

1.敏捷思想的核心價(jià)值觀

敏捷的先行實(shí)踐者對(duì)達(dá)成一致的敏捷理念形成了4 條敏捷宣言,如圖1 所示。

圖1 敏捷宣言

敏捷思想的第一條價(jià)值觀是以人為本。軟件開發(fā)是一個(gè)高智力活動(dòng),在開發(fā)復(fù)雜系統(tǒng)時(shí),人才是最重要的,敏捷開發(fā)將個(gè)人潛能的激發(fā)及團(tuán)隊(duì)協(xié)作作為首要價(jià)值目標(biāo),流程和工具是保證團(tuán)隊(duì)成員能夠有效工作的機(jī)制,只有在人的能效充分發(fā)揮的基礎(chǔ)上才能起到作用。

敏捷思想的第二條價(jià)值觀是目標(biāo)導(dǎo)向。敏捷同其他的管理理論和模型一樣,也認(rèn)同目標(biāo)導(dǎo)向是項(xiàng)目成功的關(guān)鍵,明確闡明軟件開發(fā)的目標(biāo)是可工作的軟件,而非面面俱到的文檔,文檔在某種程度上可以支持開發(fā)和項(xiàng)目后期運(yùn)維,需要但要把控度,避免掉入紛繁和迷失目標(biāo)。

敏捷思想的第三條價(jià)值觀是客戶為先。合同約定了項(xiàng)目范圍及雙方應(yīng)盡的義務(wù)和責(zé)任,是雙方利益的保障,但項(xiàng)目的前期用戶通常沒有能力準(zhǔn)確描述產(chǎn)品需求,成功的開發(fā)團(tuán)隊(duì)會(huì)把用戶看成團(tuán)隊(duì)成員,通過迭代不斷獲取用戶反饋,在開發(fā)中逐步理解用戶的真正需求,從而在產(chǎn)品價(jià)值上與用戶達(dá)成一致。

敏捷的第四條價(jià)值觀是擁抱變化。變化是項(xiàng)目開發(fā)中的常態(tài),客戶對(duì)業(yè)務(wù)領(lǐng)域理解的加深、商業(yè)環(huán)境變化、技術(shù)變化、人員變動(dòng)都能引起項(xiàng)目的變化。傳統(tǒng)的開發(fā)方法不愿意正視變化,總是試圖用詳盡的計(jì)劃去窮舉變化,試圖通過嚴(yán)格的執(zhí)行計(jì)劃來控制變化的發(fā)生。事實(shí)上,不可避免的變化很可能將項(xiàng)目帶到絕境。而敏捷開發(fā)承認(rèn)變化是開發(fā)的一部分,認(rèn)為用戶正是在不斷的需求變化中明晰自己的真正需要,所以敏捷積極擁抱變化,并能坦然應(yīng)對(duì)變化。

2.敏捷開發(fā)遵循的12 條原則

(1)盡早、持續(xù)交付有價(jià)值的軟件是滿足客戶的最優(yōu)先考慮因素。

(2)即使到了開發(fā)的后期,也歡迎需求變更。敏捷過程利用變更為客戶創(chuàng)造競(jìng)爭(zhēng)優(yōu)勢(shì)。

(3)頻繁交付可以工作的軟件,交付周期越短越好,可以從一兩周到一兩個(gè)月。

(4)在項(xiàng)目開發(fā)期間,業(yè)務(wù)人員和開發(fā)人員必須隨時(shí)保持溝通。

(5)圍繞項(xiàng)目中有動(dòng)力的人開展工作,并給與他們所需的支持和信任。

(6)面對(duì)面的溝通是一個(gè)團(tuán)隊(duì)最有效的信息傳遞方式。

(7)可工作的軟件是軟件研發(fā)進(jìn)度的首要度量指標(biāo)。

(8)提倡可持續(xù)開發(fā)。產(chǎn)品的開發(fā)者、用戶等相關(guān)干系人應(yīng)能保持一個(gè)長期、恒定的開發(fā)節(jié)奏。

(9)持續(xù)關(guān)注卓越的技術(shù)及優(yōu)秀設(shè)計(jì)能力能夠增強(qiáng)敏捷能力。

(10)最大化地減少不必要的工作。

(11)自我組織的團(tuán)隊(duì)在不斷實(shí)踐中能夠形成最適合的架構(gòu)、需求和設(shè)計(jì)。

(12)團(tuán)隊(duì)?wèi)?yīng)定期就如何更有效工作進(jìn)行反省總結(jié),并就問題作出相應(yīng)調(diào)整。

敏捷的4 條價(jià)值及12 條原則,明確表達(dá)了支持什么反對(duì)什么,也清楚地指明了什么是敏捷。一個(gè)開發(fā)模式如果能夠身體力行地踐行這些價(jià)值觀和原則,那么它就是敏捷模式,否則就不是。敏捷原則體現(xiàn)了敏捷開發(fā)的典型特征:循序漸進(jìn)的迭代開發(fā)、簡潔輕量、自組織自管理,交付用戶剛好價(jià)值的產(chǎn)品。這更加符合事物的發(fā)展規(guī)律和人對(duì)事物的認(rèn)識(shí)過程,如果說把軟件開發(fā)過程比喻成一株植物的生長,那么傳統(tǒng)開發(fā)模式展現(xiàn)給用戶的是一粒種子而后是枝繁葉茂的大樹,敏捷開發(fā)模式則是從種子到萌芽,再到抽枝散葉、開花結(jié)果,是一個(gè)延續(xù)的從雛形到成熟的演變過程,每一個(gè)階段呈現(xiàn)的都是一株植物完整的樣子。

二、敏捷開發(fā)實(shí)踐

敏捷實(shí)踐推行的前期產(chǎn)生了很多錯(cuò)誤的理解,包括敏捷是一種小瀑布,敏捷是無序的,敏捷不需要文檔、設(shè)計(jì)和計(jì)劃等,因此有必要對(duì)敏捷建立統(tǒng)一的認(rèn)識(shí)。對(duì)敏捷的理解可以分3 個(gè)層次:敏捷思想、優(yōu)秀實(shí)踐和具體應(yīng)用。敏捷開發(fā)過程是團(tuán)隊(duì)在透徹理解敏捷思想的基礎(chǔ)上,因地制宜地選擇適合自己的優(yōu)秀實(shí)踐并應(yīng)用到項(xiàng)目中的過程,實(shí)踐的組合是多樣的,實(shí)踐的選擇也遵從“增量實(shí)施,先易后難”,如圖2 所示。對(duì)于一個(gè)需求多變的項(xiàng)目來說,Scrum 架構(gòu)是最為理想的選擇之一,它是一個(gè)簡單的實(shí)驗(yàn)過程,規(guī)定了敏捷的流程約束、角色職責(zé)、文檔要求及相應(yīng)的管理與技術(shù)實(shí)踐活動(dòng),很好地詮釋了敏捷價(jià)值和敏捷原則。

圖2 敏捷開發(fā)的實(shí)踐組合

1.Scrum 管理流程

Scrum 管理流程將整個(gè)項(xiàng)目周期劃分為多次迭代的過程,每次迭代遵循一定的流程約束,如圖3 所示。在一個(gè)迭代周期中,產(chǎn)品負(fù)責(zé)人首先要與用戶及開發(fā)團(tuán)隊(duì)對(duì)產(chǎn)品業(yè)務(wù)目標(biāo)形成共識(shí),建立和維護(hù)一個(gè)動(dòng)態(tài)的需求列表。在迭代開始前,開發(fā)團(tuán)隊(duì)需要從產(chǎn)品列表中篩選出高優(yōu)先級(jí)的需求納入本輪的迭代開發(fā)中;在迭代周期內(nèi),開發(fā)團(tuán)隊(duì)細(xì)化本輪的迭代需求,開展每日站會(huì)、特性開發(fā)、持續(xù)集成,保證在迭代周期內(nèi)完成本輪的迭代任務(wù);迭代結(jié)束后,開展評(píng)審會(huì)和反思會(huì)。在整個(gè)迭代過程中,Scrum過程經(jīng)理會(huì)指導(dǎo)團(tuán)隊(duì)關(guān)注迭代目標(biāo)的實(shí)現(xiàn)并遵循Scrum實(shí)踐原則。

圖3 Scrum管理流程

2.Scrum 團(tuán)隊(duì)組建

Scrum 的項(xiàng)目實(shí)踐包括3 個(gè)重要角色:產(chǎn)品負(fù)責(zé)人、過程經(jīng)理和團(tuán)隊(duì)。

產(chǎn)品負(fù)責(zé)人在傳統(tǒng)開發(fā)模式與敏捷模式下,對(duì)項(xiàng)目的參與程度不同。在傳統(tǒng)模式下,產(chǎn)品責(zé)任人的介入主要是一頭一尾;而在敏捷模式下,產(chǎn)品責(zé)任人要全程參與,所以在前期組建團(tuán)隊(duì)時(shí)要充分考慮產(chǎn)品責(zé)任人的適宜性,這個(gè)角色必須對(duì)市場(chǎng)前景有很好的感知能力,能夠很好地梳理市場(chǎng)和用戶反饋。在組織中,產(chǎn)品經(jīng)理的角色選擇要視情況而定,產(chǎn)品線經(jīng)理、業(yè)務(wù)分析師、運(yùn)維負(fù)責(zé)人都是在可選擇的范圍內(nèi)。

過程經(jīng)理在傳統(tǒng)開發(fā)模式下不存在,敏捷模式下的主要職責(zé)是確保敏捷實(shí)踐過程的正確開展,該角色可以兼職或輪崗,一般由項(xiàng)目經(jīng)理、QA 人員、開發(fā)經(jīng)理、資深開發(fā)人員擔(dān)任。

在敏捷開發(fā)中團(tuán)隊(duì)的組建覆蓋了需求分析師、設(shè)計(jì)師、開發(fā)人員、測(cè)試人員、配置人員等崗位人員,以這種跨功能領(lǐng)域的組隊(duì)方式完成以用戶故事為單位的持續(xù)交付。

3 個(gè)核心角色的定義及職責(zé)如表1 所示。

表1 Scrum的項(xiàng)目實(shí)踐中個(gè)角色的定義及職責(zé)

3.Scrum 管理實(shí)踐

(1)迭代計(jì)劃會(huì)議。每次迭代啟動(dòng)前,團(tuán)隊(duì)共同討論本輪迭代詳細(xì)的開發(fā)計(jì)劃,澄清需求,對(duì)完成標(biāo)準(zhǔn)達(dá)成一致;完成迭代需求工作量的評(píng)估,細(xì)化、分配迭代任務(wù)。迭代計(jì)劃會(huì)議的輸入是產(chǎn)品需求列表,輸出是迭代需求列表。

(2)每日站立會(huì)議。每日工作前,由過程經(jīng)理組織全體團(tuán)隊(duì)成員召開站立例會(huì),時(shí)間不超過15 分鐘,參會(huì)的人員就“昨天我做了什么?”“今天我要做什么?”“我需要什么樣的幫助?”3 方面依次發(fā)言。每日站會(huì)有利于增強(qiáng)團(tuán)隊(duì)凝聚力,促進(jìn)團(tuán)隊(duì)內(nèi)部成員的溝通與協(xié)調(diào),有利于及時(shí)暴露風(fēng)險(xiǎn)和問題。

(3)可視化管理。將項(xiàng)目狀態(tài)(進(jìn)度、效率和燃盡圖等)用白板、大屏幕等實(shí)時(shí)展示,讓團(tuán)隊(duì)成員能直觀地獲取當(dāng)前項(xiàng)目的進(jìn)展信息。

(4)迭代評(píng)審會(huì)。每次迭代結(jié)束時(shí),團(tuán)隊(duì)成員對(duì)本次迭代完成的可工作軟件進(jìn)行演示,由產(chǎn)品經(jīng)理判斷是否滿足驗(yàn)收標(biāo)準(zhǔn),同時(shí)收集參會(huì)人員對(duì)產(chǎn)品的反饋,作為對(duì)后續(xù)需求列表調(diào)整的依據(jù)。

(5)迭代反思會(huì)。每次迭代結(jié)束后,團(tuán)隊(duì)成員對(duì)本輪迭代過程進(jìn)行反思,達(dá)到分享好的實(shí)踐經(jīng)驗(yàn)和發(fā)現(xiàn)改進(jìn)點(diǎn)的目的。反思會(huì)一般要先預(yù)定會(huì)議基調(diào),限定某些討論的問題,如果識(shí)別的人和事在團(tuán)隊(duì)之外,反思會(huì)就沒有太大價(jià)值。

4.Scrum 文檔要求

Scrum 架構(gòu)中規(guī)定了3 個(gè)文檔的輸出:產(chǎn)品需求列表、迭代需求列表、版本計(jì)劃,除此之外并未對(duì)其它文檔做出明確要求。敏捷開發(fā)強(qiáng)調(diào)快速交付有價(jià)值、可工作的軟件,弱化文檔要求,但在與用戶的需求溝通、后期系統(tǒng)維護(hù)、知識(shí)傳遞及項(xiàng)目交接中仍需文檔做支撐,只是在敏捷中允許文檔的多樣化,如文字、多媒體、演示等,把杜絕冗余、僅提供有價(jià)值的文檔作為指導(dǎo)思想。表2 是在滿足CMMI 三級(jí)要求下實(shí)施Scrum 團(tuán)隊(duì)角色、活動(dòng)及輸出文檔清單。

表2 Scrum團(tuán)隊(duì)角色、活動(dòng)及輸出文檔清單

5.Scrum 實(shí)施成效

質(zhì)量。敏捷從項(xiàng)目一開始就隨時(shí)構(gòu)建質(zhì)量,發(fā)現(xiàn)缺陷就立即停止,避免技術(shù)債務(wù)的發(fā)生;測(cè)試人員與開發(fā)人員緊密協(xié)作,提前介入軟件的設(shè)計(jì)與開發(fā)中,共同預(yù)防缺陷的產(chǎn)生。從交付的軟件看,遺留至用戶方的缺陷占比明顯降低。

效率。敏捷中所倡導(dǎo)的面對(duì)面溝通、資源共享、不受干擾持續(xù)專注做好工作,使得團(tuán)隊(duì)成員能夠快速進(jìn)入工作狀態(tài)、掌控工作局面,充分利用資源,提高工作效率。

成本。由于前期需求的不明朗,不是用戶提出的每個(gè)需求都有價(jià)值,但每個(gè)需求都有相應(yīng)開發(fā)成本。在敏捷開發(fā)中,最有價(jià)值的需求被最優(yōu)先開發(fā),交付剛剛好的系統(tǒng),減少因開發(fā)無用功能而造成的成本浪費(fèi)。

用戶滿意度。軟件的復(fù)雜、多變、不可見決定了開發(fā)過程的不可控性,敏捷通過迭代的方式實(shí)現(xiàn)多次交付,在每次迭代過程中及時(shí)、充分收集用戶反饋并作出相應(yīng)調(diào)整,確保每次交付的可工作軟件都能滿足用戶最大價(jià)值的功能需求。

團(tuán)隊(duì)能力。敏捷倡導(dǎo)以人為本,要求團(tuán)隊(duì)成員積極主動(dòng)、自我管理,在這種團(tuán)隊(duì)氛圍下,每個(gè)團(tuán)隊(duì)成員的技術(shù)、社交、領(lǐng)導(dǎo)能力都能得以提升。

猜你喜歡
開發(fā)方法文檔軟件
禪宗軟件
英語文摘(2021年10期)2021-11-22 08:02:26
有人一聲不吭向你扔了個(gè)文檔
高中英語校本教材的開發(fā)方法
甘肅教育(2020年14期)2020-09-11 07:58:10
軟件對(duì)對(duì)碰
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
基于RI碼計(jì)算的Word復(fù)制文檔鑒別
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
談軟件的破解與保護(hù)
精品(2015年9期)2015-01-23 01:36:01
基于模型開發(fā)方法(MBD)的ABS控制器開發(fā)
汽車文摘(2014年9期)2014-12-13 13:10:30
職業(yè)教育課程開發(fā)方法應(yīng)用研究
吉安县| 安远县| 沅陵县| 霍山县| 苗栗县| 兴国县| 重庆市| 长春市| 石家庄市| 洪江市| 甘泉县| 德惠市| 张家港市| 府谷县| 阿尔山市| 泰和县| 永新县| 开原市| 山阴县| 隆化县| 伊吾县| 永兴县| 黑河市| 怀来县| 忻城县| 汉源县| 新巴尔虎右旗| 洞头县| 屏山县| 安新县| 威远县| 乐东| 武胜县| 康保县| 博野县| 阳曲县| 太原市| 长宁区| 锦州市| 哈巴河县| 定结县|