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

一個優(yōu)秀的團隊該不該使用敏捷開發(fā)

移動開發(fā)
我們大部分人都學(xué)過瀑布開發(fā)模型,它是以文檔為驅(qū)動的。因為在瀑布的整個開發(fā)過程中,開發(fā)人員根據(jù)需求文檔進行開發(fā),一切以文檔為依據(jù)。敏捷開發(fā)(Agile Development)是一種以人為核心、迭代、循序漸進的開發(fā)方法,是一種軟件開發(fā)的流程,它會指導(dǎo)我們用規(guī)定的環(huán)節(jié)去一步一步完成項目的開發(fā);而這種開發(fā)方式的主要驅(qū)動核心是人,注重的是人與人之間,面對面的交流;它只寫有必要的文檔,或盡量少寫文檔;采用的是迭代式開發(fā)。

[[164863]]

在CMM(能力成熟度模型Capability Maturity Model的縮寫,是一種側(cè)重于軟件開發(fā)過程的管理及工程能力的提高與評估的開發(fā)模型)神話崩潰以后,敏捷開發(fā)逐漸引起了人們的關(guān)注,并被寄予厚望。下面我們就來談一談敏捷開發(fā)相關(guān)的一些知識。

敏捷開發(fā)的起源

我們大部分人都學(xué)過瀑布開發(fā)模型,它是以文檔為驅(qū)動的。因為在瀑布的整個開發(fā)過程中,開發(fā)人員根據(jù)需求文檔進行開發(fā),一切以文檔為依據(jù)。敏捷開發(fā)(Agile Development)是一種以人為核心、迭代、循序漸進的開發(fā)方法,是一種軟件開發(fā)的流程,它會指導(dǎo)我們用規(guī)定的環(huán)節(jié)去一步一步完成項目的開發(fā);而這種開發(fā)方式的主要驅(qū)動核心是人,注重的是人與人之間,面對面的交流;它只寫有必要的文檔,或盡量少寫文檔;采用的是迭代式開發(fā)。

敏捷開發(fā)提倡將一個完整的軟件版本劃分為多個迭代,每個迭代實現(xiàn)不同的特性。重大的、優(yōu)先級高的特性優(yōu)先實現(xiàn),風(fēng)險高的特性優(yōu)先實現(xiàn)。在項目的早期就將軟件的原型開發(fā)出來,并基于這個原型在后續(xù)的迭代不斷完善。迭代開發(fā)的好處是:盡早編碼,盡早暴露項目的技術(shù)風(fēng)險。盡早使客戶見到可運行的軟件,并提出優(yōu)化意見??梢苑蛛A段提早向不同的客戶交付可用的版本。

在每個迭代中,架構(gòu)師負責(zé)將所有的特性分解成多個Story Card。每個Story可以視為一個獨立的特性。每個Story應(yīng)該可以在最多1個星期內(nèi)完成開發(fā),交付提前測試(Pre-Test)。當(dāng)一個迭代中的所有Story開發(fā)完畢以后,測試組再進行完整的測試。在整個測試過程中(pre-test,test),基于Daily build,測試組永遠都是每天從配置庫上取下最新編譯的版本進行測試,開發(fā)人員也隨時修改測試人員提交的問題單,并合入配置庫。

敏捷開發(fā)的一個特點是開放式辦公,充分溝通,包括測試人員也和開發(fā)人員一起辦公?;赟tory Card的開發(fā)方式,團隊會在開放式辦公區(qū)域放置一塊白板,上面粘貼著所有的Story Card,按當(dāng)前的開發(fā)狀態(tài)貼在4個區(qū)域中,分別是:未開發(fā),開發(fā)中,預(yù)測試中,測試中。Story Card的開發(fā)人員和測試人員根據(jù)開發(fā)進度在Story Wall上移動Story Card,更新Story Card的狀態(tài)。這種方式可以對項目開發(fā)進度有一個非常直觀的了解。

敏捷開發(fā)宣言

個體和交互 勝過 過程和工具

可以工作的軟件 勝過 面面俱到的文檔

客戶合作 勝過 合同談判

響應(yīng)變化 勝過 遵循計劃

雖然右項也有價值,但是我們認為左項具有更大的價值。

敏捷開發(fā)的方式

敏捷開發(fā)作為一種指導(dǎo)思想或開發(fā)方式,Scrum和XP(Extreme Programming:極限編程)是敏捷開發(fā)的具體方式。Scrum和XP的區(qū)別是,Scrum偏重于過程,XP則偏重于實踐,但是實際中,兩者是結(jié)合一起應(yīng)用的。

Scrum方式

Scrum的英文意思是橄欖球運動的一個專業(yè)術(shù)語,表示“爭球”的動作;把一個開發(fā)流程的名字取名為Scrum,大家像打橄欖球一樣迅速、富有戰(zhàn)斗激情,運用該流程,你就能看到你團隊高效的工作。

Scrum整個開發(fā)過程由若干個短的迭代周期組成,一個短的迭代周期稱為一個Sprint,每個Sprint的建議長度是2到4周(互聯(lián)網(wǎng)產(chǎn)品研發(fā)可以使用1周的Sprint)。在Scrum中,使用Product Backlog來管理產(chǎn)品的需求,Product backlog是一個按照商業(yè)價值排序的需求列表,Scrum團隊總是先開發(fā)對客戶具有較高價值的需求。在Sprint中,Scrum團隊從產(chǎn)品Backlog中挑選最高優(yōu)先級的需求進行開發(fā)。挑選的需求在Sprint計劃會議上經(jīng)過討論、分析和估算得到相應(yīng)的任務(wù)列表,我們稱它為Sprint backlog。在每個迭代結(jié)束時,Scrum團隊將遞交潛在可交付的產(chǎn)品增量。Scrum 采用迭代、增量的方法來優(yōu)化可預(yù)見性并控制風(fēng)險。

Scrum開發(fā)流程中的三大角色

產(chǎn)品負責(zé)人(Product Owner)

主要負責(zé)確定產(chǎn)品的功能和達到要求的標(biāo)準,指定軟件的發(fā)布日期和交付的內(nèi)容,同時有權(quán)力接受或拒絕開發(fā)團隊的工作成果。

流程管理員(Scrum Master)

主要負責(zé)整個Scrum流程在項目中的順利實施和進行,以及清除擋在客戶和開發(fā)工作之間的溝通障礙,使得客戶可以直接驅(qū)動開發(fā)。

開發(fā)團隊(Scrum Team)

主要負責(zé)軟件產(chǎn)品在Scrum規(guī)定流程下進行開發(fā)工作,人數(shù)控制在5~10人左右,每個成員可能負責(zé)不同的技術(shù)方面,但要求每成員必須要有很強的自我管理能力,同時具有一定的表達能力;成員可以采用任何工作方式,只要能達到Sprint的目標(biāo)。

進行Scrum開發(fā)的流程

1、我們首先需要確定一個Product Backlog(按優(yōu)先順序排列的一個產(chǎn)品需求列表),這個是由Product Owner 負責(zé)的;

2、Scrum Team根據(jù)Product Backlog列表,做工作量的預(yù)估和安排;

3、有了Product Backlog列表,我們需要通過 Sprint Planning Meeting(Sprint計劃會議) 來從中挑選出一個Story作為本次迭代完成的目標(biāo),這個目標(biāo)的時間周期是1~4個星期,然后把這個Story進行細化,形成一個Sprint Backlog;

4、Sprint Backlog是由Scrum Team去完成的,每個成員根據(jù)Sprint Backlog再細化成更小的任務(wù)(細到每個任務(wù)的工作量在2天內(nèi)能完成);

 [[164864]]

5、在Scrum Team完成計劃會議上選出的Sprint Backlog過程中,需要進行 Daily Scrum Meeting(每日站立會議),每次會議控制在15分鐘左右,每個人都必須發(fā)言,并且要向所有成員當(dāng)面匯報你昨天完成了什么,并且向所有成員承諾你今天要完成什么,同時遇到不能解決的問題也可以提出,每個人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃盡圖);

 [[164865]]

6、做到每日集成,也就是每天都要有一個可以成功編譯、并且可以演示的版本;很多人可能還沒有用過自動化的每日集成,其實TFS就有這個功能,它可以支持每次有成員進行簽入操作的時候,在服務(wù)器上自動獲取最新版本,然后在服務(wù)器中編譯,如果通過則馬上再執(zhí)行單元測試代碼,如果也全部通過,則將該版本發(fā)布,這時一次正式的簽入操作才保存到TFS中,中間有任何失敗,都會用郵件通知項目管理人員;

7、當(dāng)一個Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,這時,我們要進行 Srpint Review Meeting(演示會議),也稱為評審會議,產(chǎn)品負責(zé)人和客戶都要參加(最好本公司老板也參加),每一個Scrum Team的成員都要向他們演示自己完成的軟件產(chǎn)品(這個會議非常重要,一定不能取消);

8、最后就是 Sprint Retrospective Meeting(回顧會議),也稱為總結(jié)會議,以輪流發(fā)言方式進行,每個人都要發(fā)言,總結(jié)并討論改進的地方,放入下一輪Sprint的產(chǎn)品需求中;

XP方式

極限編程是一個輕量級的、靈巧的軟件開發(fā)方法;同時它也是一個非常嚴謹和周密的方法。它的基礎(chǔ)和價值觀是交流、樸素、反饋和勇氣;即,任何一個軟件項目都可以從四個方面入手進行改善:加強交流;從簡單做起;尋求反饋;勇于實事求是。XP是一種近螺旋式的開發(fā)方法,它將復(fù)雜的開發(fā)過程分解為一個個相對比較簡單的小周期;通過積極的交流、反饋以及其它一系列的方法,開發(fā)人員和客戶可以非常清楚開發(fā)進度、變化、待解決的問題和潛在的困難等,并根據(jù)實際情況及時地調(diào)整開發(fā)過程。

 

XP的十三種核心實踐

團隊協(xié)作(Whole Team)

規(guī)劃策略(The Planning Game);

結(jié)對編程(Pair programming)

測試驅(qū)動開發(fā)(Testing-Driven Development)

重構(gòu)(Refactoring)

簡單設(shè)計(Simple Design)

代碼集體所有權(quán)(Collective Code Ownership)

持續(xù)集成(Continuous Integration)

客戶測試(Customer Tests)

小型發(fā)布(Small Release)

每周40小時工作制(40-hour Week)

編碼規(guī)范(Code Standards)

系統(tǒng)隱喻(System Metaphor)

關(guān)于規(guī)劃策略:計劃是持續(xù)的、循序漸進的。每2周,開發(fā)人員就為下2周估算候選特性的成本,而客戶則根據(jù)成本和商務(wù)價值來選擇要實現(xiàn)的特性。

關(guān)于測試驅(qū)動開發(fā):編寫單元測試是一個驗證行為,更是一個設(shè)計行為。同樣,它更是一種編寫文檔的行為。編寫單元測試避免了相當(dāng)數(shù)量的反饋循環(huán),尤其是功功能能驗證方面的反饋循環(huán)。程序員以非常短的循環(huán)周期工作,他們先增加一個失敗的測試,然后使之通過。

關(guān)于隱喻:隱喻同體系結(jié)構(gòu)是同義詞,隱喻用于描述項目的全貌,Story用于描述個別具體的特征。隱喻是將整個系統(tǒng)聯(lián)系在一起的全局視圖;它是系統(tǒng)的未來影像,是它使得所有單獨模塊的位置和外觀變得明顯直觀。如果模塊的外觀與整個隱喻不符,那么你就知道該模塊是錯誤的

XP的一個成功因素是重視客戶的反饋——開發(fā)的目的就是為了滿足客戶的需要。XP方法使開發(fā)人員始終都能自信地面對客戶需求的變化。XP強調(diào)團隊合作,經(jīng)理、客戶和開發(fā)人員都是開發(fā)團隊中的一員。團隊通過相互之間的充分交流和合作,使用XP這種簡單但有效的方式,努力開發(fā)出高質(zhì)量的軟件。XP的設(shè)計簡單而高效;程序員們通過測試獲得客戶反饋,并根據(jù)變化修改代碼和設(shè)計,他們總是爭取盡可能早地將軟件交付給客戶。XP程序員能夠勇于面對需求和技術(shù)上的變化。

什么是優(yōu)秀團隊

有家公司的一個團隊的一個項目用的是"敏捷開發(fā)方法",而當(dāng)時公司的理念恰恰是:開放、協(xié)作性強、扁平化團隊,以用戶為中心;和團隊使用的敏捷方法理念正好相同,結(jié)果毫無懸疑的拿到了優(yōu)秀團隊獎。即使開發(fā)的項目并不是很成功,但公司需要一個團隊來做榜樣,來激勵其他團隊,而那里正好有這么一個團隊。

如果做不了優(yōu)秀的團隊,那么就做一個典型的團隊,公司需要這么一個做示范的話題。優(yōu)秀的團隊并不是拘泥于某種開發(fā)方式的,而是最適合某種方式的。希望您也能在一個優(yōu)秀的團隊。

責(zé)任編輯:倪明 來源: 簡書
相關(guān)推薦

2023-08-14 18:03:32

2013-01-23 14:19:56

健康類App移動應(yīng)用

2013-07-09 09:59:30

創(chuàng)業(yè)團隊人才

2020-07-27 08:31:45

控制流通用結(jié)構(gòu)

2009-07-01 15:33:23

JAVA認證

2022-09-13 07:31:50

工具代碼Lombok

2015-10-20 09:07:44

2010-10-15 10:31:00

2021-04-01 08:49:14

Google黑客美國政府

2012-02-15 09:48:31

移動娛樂廣告封殺

2013-02-18 09:40:28

2010-10-25 14:16:59

扁平化網(wǎng)絡(luò)

2021-05-25 10:28:47

網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)事件

2017-12-14 14:36:54

金融工具敏捷大房間計劃

2015-06-16 09:17:39

金融服務(wù)公有云

2020-07-14 14:50:44

Vue代碼前端

2014-12-30 09:30:57

.net語言選擇

2019-03-28 09:44:33

程序員加薪創(chuàng)業(yè)

2016-12-22 23:55:40

架構(gòu)師代碼技術(shù)

2013-05-23 15:24:57

Wi-Fi無線網(wǎng)絡(luò)設(shè)置無線網(wǎng)絡(luò)展望
點贊
收藏

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