偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

敏捷軟件開發(fā):原則、團隊結(jié)構(gòu)和框架

譯文
開發(fā) 前端
本文介紹了人們需要了解的關(guān)于Scrum、極限編程、動態(tài)系統(tǒng)開發(fā)方法(DSDM) 和特征驅(qū)動開發(fā)(FDD)等內(nèi)容。

[[419124]]

【51CTO.com快譯】本文介紹了人們需要了解的關(guān)于Scrum、極限編程、動態(tài)系統(tǒng)開發(fā)方法(DSDM) 和特征驅(qū)動開發(fā)(FDD)等內(nèi)容。

敏捷軟件開發(fā)使企業(yè)能夠在短時間內(nèi)將產(chǎn)品推向市場。為了讓企業(yè)高管了解敏捷方法是否適合,文中分享了敏捷軟件開發(fā)的基本原則、首選團隊結(jié)構(gòu)、常見方法等信息,例如Scrum、極限編程(XP)、動態(tài)系統(tǒng)開發(fā)方法(DSDM)和特征驅(qū)動開發(fā)(FDD)。

1.什么是軟件開發(fā)的敏捷方法?

敏捷是一種獨特的軟件開發(fā)方法,它考慮了不同的組件,例如客戶的需求、持續(xù)學(xué)習(xí)和測試、迭代開發(fā)、每兩周后的有形增值等因素。

2.敏捷軟件開發(fā)的基本原則

(1)溝通與反饋

不同軟件開發(fā)團隊成員之間的溝通可能是一個挑戰(zhàn),尤其是在冠狀病毒疫情蔓延期間,因為大多數(shù)人都在家遠(yuǎn)程工作。在這種情況下,可以使用通信工具使軟件開發(fā)團隊成員的工作保持同步,同時密切合作以創(chuàng)建最小可行性產(chǎn)品(MVP)。

在使用敏捷方法時,團隊成員在同一時間工作,他們可以幾乎實時地協(xié)作、分享關(guān)注點、提供反饋,并高效地協(xié)同工作。

在敏捷軟件開發(fā)過程中需要遵循“更少的計劃變更”的概念。經(jīng)過幾個sprint周期之后,這些變更將生效,需要仔細(xì)分析客戶反饋。根據(jù)分析,在當(dāng)前或即將到來的sprint周期中選擇的待辦事項列表中添加更多的更改。

(2)適應(yīng)性

創(chuàng)建敏捷軟件開發(fā)過程時應(yīng)該考慮的兩個基本要求是:一是以恒定的速度推進項目;二是處理壓力的能力,例如由于需求變化而導(dǎo)致的截止日期、預(yù)算增加等。為了有效管理和提高生產(chǎn)力,可以先開展快節(jié)奏的sprint工作,然后休息一段時間。在所有sprint周期中保持更高的生產(chǎn)力和快節(jié)奏的工作是可以強制的,但這種方法通常是不可持續(xù)的。

(3)信任

選擇團隊成員使用敏捷方法進行軟件開發(fā)項目是重要的一個步驟。選擇過程的另外重要部分是考慮技能組合和責(zé)任,此外還應(yīng)該有工作環(huán)境的個性化匹配。團隊成員應(yīng)該是優(yōu)秀的專業(yè)人士,能夠自我管理并且能夠相互信任。

自我管理的質(zhì)量在敏捷方法中至關(guān)重要,因為工作節(jié)奏通常很快,并且需要獨立解決問題。另一方面需要避免微觀的管理或指導(dǎo),因為這些做法通常需要花費更多時間。團隊成員事先清楚了解軟件開發(fā)要求很重要,這也意味著需要了解產(chǎn)品路線圖。

(4)協(xié)作

在軟件開發(fā)中,有兩種常見的開發(fā)模型——瀑布模型和敏捷模型。在瀑布模型中只收集一次需求,這也意味著客戶可以一次性參與。而在敏捷模型中,客戶在開發(fā)過程中一直參與以收集需求。因此,客戶在維護產(chǎn)品待辦事項方面將發(fā)揮積極作用。在其他時候,客戶可能會在修改需求方面發(fā)揮積極作用,例如在提供產(chǎn)品演示、在日常會議期間等等。

3.敏捷軟件開發(fā)的首選團隊結(jié)構(gòu)

作為敏捷軟件開發(fā)的核心,協(xié)作扮演著重要的角色。協(xié)作發(fā)生在具有特定角色的不同團隊成員之間??紤]到Scrum框架,其名稱和角色解釋如下:

  • 業(yè)務(wù)主管:業(yè)務(wù)主管在最小可行性軟件產(chǎn)品(MVSP)的開發(fā)中發(fā)揮積極作用。業(yè)務(wù)主管主要與Scrum主管和產(chǎn)品主管進行協(xié)調(diào)。
  • 產(chǎn)品主管:產(chǎn)品主管在創(chuàng)建最小可行性軟件產(chǎn)品(MVSP)的同時確保從開發(fā)工作中獲得最大的投資回報(ROI)。產(chǎn)品主管通過設(shè)置優(yōu)先級來做到這一點。產(chǎn)品主管的三個主要職責(zé)是:管理Scrum待辦事項、發(fā)布以及利益相關(guān)者管理。
  • Scrum主管:Scrum主管負(fù)責(zé)將產(chǎn)品主管或業(yè)務(wù)主管共享的方向轉(zhuǎn)化為有形價值。為此,Scrum主管協(xié)助管理待辦事項,并協(xié)助開發(fā)團隊自我組織、管理潛在障礙等工作。
  • 設(shè)計、開發(fā)和測試團隊:在理想情況下,設(shè)計、開發(fā)和軟件測試團隊成員緊密協(xié)作。一旦開發(fā)了Web應(yīng)用程序的前端,開發(fā)團隊成員就會添加功能。最后,測試團隊成員將通過開發(fā)不同的案例來檢查功能。
  • 主題專家:潛在客戶需要解決其行業(yè)難點的解決方案。端到端Web和移動應(yīng)用程序開發(fā)服務(wù)提供商可能擁有協(xié)助開發(fā)團隊以及Scrum主管的主題專家。

4.敏捷中的通用方法和框架

(1)Scrum

Scrum是一種廣泛流行的用于開發(fā)軟件產(chǎn)品的框架。其重點主要是產(chǎn)品的設(shè)計、開發(fā)、測試和部署。開發(fā)是在sprints中完成的,通常需要兩到三周的時間。Scrum團隊由產(chǎn)品主管、Scrum主管、開發(fā)團隊、主題專家等成員組成。

敏捷軟件開發(fā)項目的進度是通過每天在15分鐘內(nèi)完成的Scrum會議來衡量的。

(2)Scrum框架的工作流程

Scrum框架由不同的組件組成,例如sprint、sprint規(guī)劃、每日Scrum、sprint審查、sprint回顧、待辦事項細(xì)化以及取消sprint。以下是對上述每個術(shù)語的簡要概述。

  • sprint:sprint通常持續(xù)兩周的時間。在sprint期間會生成一個待辦事項,其中包含有關(guān)當(dāng)前sprint的可交付成果的信息。
  • sprint計劃:sprint計劃流程以邀請Scrum團隊的會議開始。團隊就目標(biāo)達(dá)成一致,并確定有助于實現(xiàn)該目標(biāo)的待辦事項。
  • 每日Scrum:每日Scrum會議是一個限時15分鐘的活動。在進行日常Scrum時要遵循某些指導(dǎo)方針,例如開發(fā)人員發(fā)言、識別瓶頸和風(fēng)險等等。
  • sprint評審:在sprint周期結(jié)束之后,進行sprint評審。在理想情況下,產(chǎn)品主管應(yīng)該在場,因為可交付成果向利益相關(guān)者展示。這提供了接收反饋的機會。
  • Sprint回顧:由于Scrum框架補充了持續(xù)學(xué)習(xí)的理念,因此在sprint完成后的回顧會議中討論學(xué)習(xí)情況。其總體思路是討論哪些進展順利,哪些不順利。如果事情沒有按計劃進行,那么也將討論其背后的原因。
  • 待辦事項細(xì)化:為了保持待辦事項中的質(zhì)量,添加了細(xì)化步驟。待辦事項細(xì)化步驟使團隊成員能夠?qū)⑤^大的需求分解為較小的需求、識別依賴關(guān)系、修改優(yōu)先級等等。
  • 取消sprint:如果在sprint:中沒有實現(xiàn)目標(biāo),產(chǎn)品負(fù)責(zé)人可以取消sprint。

(3)極限編程

極限編程主要側(cè)重于廣泛的測試,為此使用了“結(jié)對編程”的概念??紤]到將常規(guī)軟件開發(fā)實踐提升到極端水平的一般方法,該名稱包括“極端”這個術(shù)語。

極限編程中的常見活動:

  • 編碼:極限編程中的編碼實踐包括來自其他程序員的大量反饋,因為該框架主要以“測試”為重點。
  • 測試:在軟件開發(fā)階段之后,測試對于消除錯誤(bug)至關(guān)重要。根據(jù)測試階段所用的時間,軟件產(chǎn)品的質(zhì)量可能會有所不同。在極限編程中,將測試的概念發(fā)揮到極致,以消除數(shù)量最大的錯誤。這是通過“結(jié)對編程”實現(xiàn)的。極限編程中有兩種不同的測試方法——單元測試和驗收測試。
  • 傾聽:在極限編程中,程序員通過傾聽客戶的需求發(fā)揮著重要作用。為此,程序員應(yīng)該清楚哪些功能可以真正幫助客戶,以及可能需要哪些業(yè)務(wù)邏輯更改。
  • 設(shè)計:良好的軟件設(shè)計易于維護。它還通過避免可能增加復(fù)雜性的依賴關(guān)系來增加價值,因為修改軟件的一個模塊可能需要更改多個其他模塊。

(4)動態(tài)系統(tǒng)開發(fā)方法(DSDM)

在動態(tài)系統(tǒng)開發(fā)方法(DSDM)中,預(yù)先確定了成本、質(zhì)量、時間這三個因素。此外,動態(tài)系統(tǒng)開發(fā)方法(DSDM)采用MoSCoW優(yōu)先級方法來修改優(yōu)先級。這樣做可以及時交付軟件。

DSDM的原則:

  • 關(guān)注業(yè)務(wù)需求:在DSDM中,業(yè)務(wù)目標(biāo)與軟件的交付日期同等重要。關(guān)注業(yè)務(wù)需求的管理方式是通過某些實踐完成的,例如MoSCoW優(yōu)先級劃分、通過時間盒將大任務(wù)分解為小任務(wù)、改進可交付成果等。
  • 準(zhǔn)時交付:強調(diào)使用MoSCoW優(yōu)先級、截止日期管理和時間盒技術(shù)來交付可交付成果。
  • 協(xié)作:協(xié)作的概念在DSDM中實施,而利益相關(guān)者參與項目。了解贊助商和用戶的需求很重要,主管將向團隊成員傳達(dá)這一點。
  • 永不妥協(xié)的質(zhì)量:測試階段在DSDM的早期引入,并在整個開發(fā)過程中發(fā)揮積極作用。
  • 從堅實的基礎(chǔ)上逐步構(gòu)建:“充分的預(yù)先設(shè)計”方法使客戶以及敏捷軟件開發(fā)人員能夠理解基本需求。在每次迭代中,團隊成員可以重新考慮優(yōu)先級,并考慮來自利益相關(guān)者的反饋。
  • 迭代開發(fā):迭代方法為項目增加了價值,因為它涉及不斷的測試。迭代軟件開發(fā)方法還補充了對相關(guān)利益反饋的接受。
  • 持續(xù)而清晰的溝通:在DSDM中,通過非正式的日常站立會議加強溝通,這是一個討論各種想法的好地方,研討會以保持產(chǎn)品與利益相關(guān)者的期望保持一致。
  • 展示控制:管理軟件開發(fā)項目和使用DSDM需要主動管理技能。這包括讓利益相關(guān)者和團隊成員保持一致,有效使用報告和分析,并專注于交付的需求。

(5)特征驅(qū)動開發(fā)(FDD)

要理解特征驅(qū)動開發(fā)(FDD),需要考慮其三個基本組成部分。創(chuàng)建FDD的第一個組件是對象建模,第二個組件是使用特征列表來管理需求,功能驅(qū)動開發(fā)的創(chuàng)建者Jeff De Luca利用自己的專業(yè)經(jīng)驗設(shè)計了第三個組件。

特征驅(qū)動開發(fā)(FDD)中的活動:

  • 開發(fā)整體模型:在這項活動中,軟件開發(fā)項目的范圍通過高級演練最終確定。創(chuàng)建不同的模型并在同行評審會議中進行評審,選定的模型最終會合并到整體模型中。
  • 構(gòu)建特征列表:在第一項活動完成之后,需要將復(fù)雜的特征簡化并轉(zhuǎn)換為小特征。這些特征代表了客戶需求和業(yè)務(wù)活動的混合。在理想情況下,每個特征預(yù)計在兩周內(nèi)在特征驅(qū)動開發(fā)(FDD)中開發(fā)。
  • 按性質(zhì)規(guī)劃:一旦最終確定特征,它們將被進一步劃分并分配給每個程序員,然后他們努力改進類。這是一個三步過程;首先確定開發(fā)順序,將業(yè)務(wù)活動分配給首席程序員,再將類分配給其他開發(fā)人員。
  • 按特征設(shè)計:考慮到時間盒方法,最終確定特征列表。在特征選擇后不久,序列圖就被創(chuàng)建。最后進行設(shè)計檢查。
  • 按特征構(gòu)建:在這個迭代活動中進行實際編碼。單元測試在代碼檢查之后很快執(zhí)行。如果沒有發(fā)現(xiàn)錯誤,則將代碼添加到主構(gòu)建中。

結(jié)論

敏捷軟件開發(fā)方法在過去幾年中發(fā)生了根本性的變化。敏捷的應(yīng)用可以在其他領(lǐng)域找到,例如營銷和銷售等領(lǐng)域。有了切實的成果,企業(yè)高管和項目經(jīng)理必須了解敏捷軟件開發(fā)的重要性并實施相關(guān)實踐,并創(chuàng)建以客戶為中心的產(chǎn)品或提供更多以客戶為中心的服務(wù)。

原文標(biāo)題:Agile Software Development: Principles, Team Structure, and Frameworks,作者:Ramesh Lal

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2017-03-17 08:15:17

敏捷軟件開發(fā)軟件開發(fā)

2022-02-28 08:00:00

軟件開發(fā)敏捷方法技術(shù)

2012-02-02 15:04:02

軟件開發(fā)

2011-11-08 09:28:28

開發(fā)團隊

2010-12-17 09:59:15

敏捷軟件開發(fā)聯(lián)盟

2009-03-30 16:01:54

敏捷開發(fā)需求分析重構(gòu)

2018-05-23 20:56:49

開發(fā)原因原則

2018-07-03 15:29:00

2010-12-03 11:10:58

互聯(lián)網(wǎng)

2021-11-04 10:42:43

汽車軟件技術(shù)

2011-05-30 15:44:07

敏捷開發(fā)

2017-12-13 17:01:41

華為云

2009-06-12 11:35:28

模式框架軟件設(shè)計

2014-01-16 14:06:18

軟件開發(fā)團隊管理

2011-06-23 10:39:43

ibmdw虛擬化敏捷開發(fā)

2023-01-13 15:37:27

團隊軟件開發(fā)集成

2012-03-06 09:02:41

軟件開發(fā)

2012-06-27 09:36:37

軟件開發(fā)軟件開發(fā)

2020-07-09 14:44:10

開發(fā)技能團隊

2011-09-09 09:18:43

軟件開發(fā)團隊
點贊
收藏

51CTO技術(shù)棧公眾號