自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Visual Studio 2010敏捷利劍:詳解Scrum

開發(fā) 后端
文章將介紹Visual Studio 2010 Ultimate Beta2版本中的MSF for Agile Software Development V5.0的Scrum思想以及實施方法,通過對這些內(nèi)容的闡述,讓讀者了解VSTS 2010的敏捷之道。

隨著微軟Visual Studio 2010 Ultimate Beta2版本的發(fā)布,除了它提供協(xié)同一致的ALM(應(yīng)用程序生命周期)管理工具外,MSF for Agile Software Development過程框架從4.2升級到5.0,并且是以Scrum模型為基礎(chǔ)導(dǎo)向擴(kuò)展,并且結(jié)合了VSTS 2010工具的眾多特性,從而成為微軟.NET相關(guān)技術(shù)人員手中不可多得的利器。

1.引言

道是天地萬物演變的本體或本原,是存在之根本。一個行業(yè)或者一個事物既然現(xiàn)實地存在著,那么它的發(fā)展必然遵循著本身的自然規(guī)律。軟件開發(fā)的敏捷之道也是如此,當(dāng)開發(fā)團(tuán)隊為了求得高質(zhì)量、高效的完成軟件產(chǎn)品的交互過程,無論項目管理者還是團(tuán)隊成員都需要全方面地學(xué)習(xí),包括工具的熟練使用、學(xué)習(xí)UML、OOAD等技術(shù)和收集前人開發(fā)過程中的經(jīng)驗等等,從而使個人以及 團(tuán)隊綜合素質(zhì)的大大增強(qiáng),這就是為學(xué)的過程,最后把這些零碎無序的知識系統(tǒng)化后再全部統(tǒng)統(tǒng)忘掉,達(dá)到出手無招、隨心所欲,全是下意識自然而然的行動,無變之變,這就是敏捷之道,這可能就是做項目管理及開發(fā)的最高境界吧!

敏捷的含義就是速度的最大化。當(dāng)你咖啡杯從你的手中悄然滑落的時 候,你卻下意識地接到了它,這種直線運動是最快的,其實里面蘊(yùn)藏著一種意境和思想。這種下意識就是一種境界思維,它沒有經(jīng)過大腦,條件反射的方式以最短最 快的速度取得了結(jié)果。

這種現(xiàn)象又讓筆者又聯(lián)想起了李小龍的截拳道,它的一個特點就是充分運用節(jié)約的經(jīng)濟(jì)線(兩點間的直線)的技 擊原理,所以它打擊對方的機(jī)會和實用性最佳,而且最快,這種下意識的境界就是一種太極哲理,搏擊之最高境界。萬物皆有道,這都是從道的本體中演化出來的!

2.敏捷之簡易

簡單通常是一個好的設(shè)計具備特征,這些設(shè)計是經(jīng)典的并且很難再改進(jìn)的。敏捷團(tuán)隊注重簡易,這樣做可以消除那些沒必要的復(fù)雜。只需專注于開發(fā)當(dāng)前所 需要的功能和最簡單的設(shè)計。如果能使用簡單來幫助一個敏捷團(tuán)隊開發(fā)出馬上就需要的軟件,而不浪費人力和資源,這就是他們給那些投資的用戶以最好和最直接利 益的方法。

我們再從《易經(jīng)》中的簡易、變易、不易的角度思考,可以把它看做是對易理的高度抽象易理對宇宙的高度抽象 簡易指變與不變都是道的體現(xiàn),自然而然而非刻意求變,萬事萬物都只是按其本性生生不息而已。所以,簡易之理是對大自然萬事萬物高度的抽象;變 易是指變化,任何生生不息都是處在不斷的變化之中,沒有停止過,宇宙中的萬物沒有一樣?xùn)|西是不變的;不易是指萬事萬物的變化都有其不變的本 性,同時又有當(dāng)變則變、不當(dāng)變則不變的含義。宇宙中萬事萬物雖然不斷變化著,但是卻有一項永遠(yuǎn)不變的東西存在,就是能變出萬事萬物的那個東西,是 永恒存在的,中國傳統(tǒng)哲學(xué)里稱之為道。

3.Scrum 敏捷過程模型

在Visual Studio 2010中,項目過程模板變化很大,微軟把Scrum作為基本Agile開發(fā)模型(Scrum模型為基礎(chǔ)參考導(dǎo)向),如圖所示。TFS2010中集成了 MSF for Agile Software Development v5.0,可操作性上又融合了敏捷等軟件開發(fā)流程思想模型。

Scrum最初的含義是英式橄欖球爭球隊,是敏捷軟件開發(fā)模型中的一種。Scrum 將軟件開發(fā)團(tuán)隊比擬成橄欖球隊,有明確的最高目標(biāo),熟悉開發(fā)流程中所需具備的最佳技術(shù),具有高度自主權(quán),緊密地溝通合作,以高度彈性解決各種挑戰(zhàn),確保每天、每個階段都明確的朝向目標(biāo)推進(jìn)。Scrum令人痛苦之處就在于你不得不根據(jù)自己的具體情況來對它進(jìn)行調(diào)整,如果能夠隨心所欲應(yīng)變,那么你就會體會到它的強(qiáng)大。

Scrum for Agile 
Scrum for Agile

敏捷Scrum開發(fā)過程框架中,產(chǎn)品backlog是 Scrum的核心,也是一切的起源。從根本上說,它就是一個需求、或故事、或特性等組成的列表,按照重要性的級別進(jìn)行了排序。它里面包含的是客戶想要的東 西,并用客戶的術(shù)語加以描述,通常叫它故事(story),有時候也叫做backlog條目:

產(chǎn)品BACKLOG(示例) 
表1 產(chǎn)品BACKLOG(示例)  #p#

我們的故事包括這樣一些字段:

ID:統(tǒng)一標(biāo)識符,就是個自增長的數(shù)字而已,以防重命名故事以后找不到它們。

名稱(Name):簡短的、描述性的故事名。它必須要含義明確,這樣可以跟其他故事區(qū)分開。

重要性:(Importance):產(chǎn)品負(fù)責(zé)人評出一個數(shù)值,指示這個故事有多重要。例如:

20或100,分?jǐn)?shù)越高越重要。避免優(yōu)先級這個說法,因為一般說來優(yōu)先級1都表示最高優(yōu)先級,如果后來有其他更重要的東西就麻煩了。它的優(yōu)先級評級應(yīng)該是什么呢?優(yōu)先級0?優(yōu)先級-1?

初始估算(Initial estimate):團(tuán)隊的初步估算,表示與其他故事相比,

完成該故事所需的工作量:最小的單位是故事點(story point),一般大致相當(dāng)于一個理想的人天(man-day)。

如何做演示(How to demo):它大略描述了這個故事應(yīng)該如何在sprint 演示上進(jìn)行規(guī)范,本質(zhì)就是一個簡單的測試規(guī)范。

筆者借鑒過很多敏捷書籍和在實戰(zhàn)的應(yīng)用中嘗試過很多字段,但最后發(fā)現(xiàn),只有上面提到的六個字段我們會一直使用下去,這也就是一種最簡化。我們可以把backlog存放在TFS2010服務(wù)器上,或者共享在TFS2010的Excel或者Project文檔里面,這是為了多個用戶可以同時編輯它。

在TFS2010中的Project Product Backlog模板 
在TFS2010中的Project Product Backlog模板

雖然正規(guī)意義上 這個文檔應(yīng)該歸產(chǎn)品負(fù)責(zé)人所有,但是我們并不想把其他用戶排斥在外,開發(fā)人員常常要打開這個文檔,弄清一些事情,或者修改估算值。VSTS 2010已經(jīng)支持Scrum的Product Backlog的模板,并且可以進(jìn)行Backlog的迭代,如下圖所示。

Product Backlog模板 
Product Backlog模板

打開Product Backlog,建立User Story,如圖所示。

建立User Story 
建立User Story

編寫相關(guān)Story條目內(nèi)容,如圖所示。

編輯Story條目 
編輯Story條目

當(dāng)編寫完Story條目內(nèi)容后,我們可以在Web端的Project Portal查看user story的內(nèi)容與條目。

打開Web端的Project Portal 
打開Web端的Project Portal

Project Portal顯示條目 
Project Portal顯示條目

在share point的Project Portal中,我們可以對該story進(jìn)行編輯等操作,如圖所示。

share point站點中編輯條目 
share point站點中編輯條目 #p#

我們可以對表1進(jìn)行擴(kuò)展,如表2所示。

產(chǎn)品BACKLOG擴(kuò)展 
產(chǎn)品BACKLOG擴(kuò)展

Backlog組件 ID Important Estimate How To Demo Notes

組件用處 事件的編號 事件的重要性,用一個分?jǐn)?shù)來表示。分?jǐn)?shù)越高越重要(但重要的事件,內(nèi)容不一定多) 初始的估算,也就是完成某個事件所需要的工作量。 事件的簡單測試 用簡潔的語句進(jìn)行注解、說明等。

Backlog組件 Track Components Requestor BugTrack

組件用處對產(chǎn)品的分類產(chǎn)品由哪些部份組成記錄最先提出的需求,并在后續(xù)的開發(fā)過程中進(jìn)行反饋。

注:有顏色的組件可以說是必需的!

在TFS2010中支持Reports的生成Excel報表,內(nèi)容包括backlog、工作項等。

創(chuàng)建報表Excel 
創(chuàng)建報表Excel

選擇創(chuàng)建報表Excel生產(chǎn)類型 
選擇創(chuàng)建報表Excel生產(chǎn)類型

生成Excel報表 
生成Excel報表

在Scrum敏捷框架中,最強(qiáng)的就是快速應(yīng)對客戶需求的靈活變化。Scrum中有四個很標(biāo)致性也很核心的詞:backlog , sprint、迭代、反饋。結(jié)合VSTS 2010的工具,可以快速進(jìn)行story的變化,并且快速完成。例如,在產(chǎn)品 BACKLOG(參考表1),在每個Spint中,實現(xiàn)特性How To Demo,通過VSTS 2010的Architecture繪制SSO統(tǒng)一登錄的UML順序(如圖所示),完成Spint Demo(可以是Spint中一部分)。

繪制SSO統(tǒng)一登錄的UML順序 
繪制SSO統(tǒng)一登錄的UML順序

 

敏捷軟件開發(fā)的核心是:使用項目行為的輕 量但足夠的規(guī)則以及使用以人為本的規(guī)則及面向溝通的規(guī)則。Scrum的Sprint計劃會議非常關(guān)鍵,應(yīng)該算是Scrum中最重要的活動(這當(dāng)然是我的 主觀意見)。要是它執(zhí)行的不好,整個sprint甚至都會被毀掉。

TFS2010集成平臺的開發(fā)項目的合作 
TFS2010集成平臺的開發(fā)項目的合作

Scrom敏捷過程管理實施流程,如圖所示。將整個產(chǎn)品的 backlog分解成Sprint Backlog,這個Sprint Backlog是按照目前的人力物力條件可以完成的。召開sprint planning meeting,劃分,確定這個Sprint內(nèi)需要完成的任務(wù),標(biāo)注任務(wù)的優(yōu)先級并分配給每個成員。注意這里的任務(wù)是以小時計算的,并不是按人天計算。進(jìn) 入sprint開發(fā)周期,在這個周期內(nèi),每天需要召開Daily Scrum meeting。整個sprint周期結(jié)束,召開Sprint review meeting,將成果演示給Product Owner.團(tuán)隊成員最后召開Sprint retrospective meeting,總結(jié)問題和經(jīng)驗。這樣周而復(fù)始,按照同樣的步驟進(jìn)行下一次Sprint。

最終結(jié)果是,每個Sprint都產(chǎn)生出一個可 見的、可用的交付產(chǎn)品,并向用戶進(jìn)行展示。一個增量可能是中期的,也可能是可交付的,但是它應(yīng)該是獨立的。 Sprint的目標(biāo)是完成盡可能多的優(yōu)質(zhì)軟件來確實質(zhì)性進(jìn)展,而不是用紙上里程碑(paper milestones)作為依據(jù)。

4.Scrum 索引卡

在大多數(shù)sprint 計劃會議上,大家都會討論產(chǎn)品 backlog中的故事細(xì)節(jié)。對故事進(jìn)行估算、重定優(yōu)先級、進(jìn)一步確認(rèn)細(xì)節(jié)、拆分,等等都會在會議上完成。敏捷開發(fā)中提倡建立物理索引卡。要想收到好的效 果,不妨創(chuàng)建一些索引卡,把它們放到墻上。筆者在這里也有個擴(kuò)展方法,可以制作電子版的索引卡,如圖所示??梢?清晰、直觀的顯示燃盡圖和索引卡等信息。

Scrom敏捷過程管理 
Scrom敏捷過程管理

5.總結(jié)

Visual Studio 2010的增強(qiáng)的功能特點結(jié)合MSF for Agile Software Development V5.0中的Scrum敏捷過程框架,使從事在微軟.NET技術(shù)相關(guān)工作方向的人們擁有了一把利劍。

如果我們把微軟Visual Studio 2010工具,看成是敏捷開發(fā)團(tuán)隊中,在不同階段中所使用的劍,隨著你的功夫和意境提高,你手中的利器就顯著不重要了,無劍的境界便是最高的追求。敏捷有時也為靈感所致,如果敏捷團(tuán)隊的人們能鍛煉出這種境界,便是軟件開發(fā)之最高境界,那就是敏捷之道了。所以,敏捷的開發(fā)團(tuán)隊也是講究天人合一(團(tuán)隊敏捷意識合而為一),敏捷也是哲學(xué)的。

內(nèi)因就是驅(qū)動員工愿意干事情,要有內(nèi)在驅(qū)動力。每個人敏感程度不同,給每個類型程序員的驅(qū)動力也不同。所有的員工自動自發(fā)的工作都是有內(nèi)因的,掃描你的團(tuán)隊成員屬于哪種類型。如果程序員是危機(jī)風(fēng)險型,你就提供他創(chuàng)新的機(jī)會和平臺,發(fā)揮他的最大內(nèi)因驅(qū)動力等。當(dāng)然,這都必須結(jié)合外因才會可度量、可操作、可監(jiān)控和有目標(biāo)方向。

【編輯推薦】

  1. Visual Studio 2010 TFS探索之旅
  2. Visual Studio 2010讓敏捷開發(fā)和云計算落地
  3. Visual Studio 2010敏捷之道 
責(zé)任編輯:王曉東 來源: IT168
相關(guān)推薦

2010-07-27 09:40:01

敏捷Visual Stud

2010-07-29 09:41:23

Visual Stud

2010-09-10 09:35:59

Visual Stud

2009-12-15 09:36:32

Visual Stud

2010-02-22 16:43:33

Visual Stud

2009-11-19 09:59:47

Visual Stud

2009-11-19 10:55:33

Visual Stud

2010-02-05 09:06:17

Visual Stud

2010-03-11 09:10:02

VS2010敏捷開發(fā)云計算

2010-11-16 09:23:13

敏捷開發(fā)Visual Stud

2009-12-02 09:43:38

Visual Stud

2010-04-01 14:51:52

Visual Stud

2010-03-19 16:43:37

Visual Stud

2009-11-24 09:00:02

Visual Stud

2009-11-10 13:43:37

Visual Stud

2009-11-12 11:30:13

Scrum

2010-03-22 09:08:24

Visual Stud

2009-11-18 09:14:49

Visual Stud

2010-01-14 14:12:14

Visual Stud

2010-01-22 09:51:31

Visual Stud
點贊
收藏

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