利用Visual Studio 2010流程模板實現Scrum敏捷開發
在我14年的編程生涯中,我從瀑布模型遷移到了迭代模型,然后又遷移到了Scrum,最后遷移到了Scrum-ban。下面是瀑布式的軟件開發流程,迭代式的軟件開發流程和Scrum軟件開發流程的示意圖。關于Kanban和Scrum-ban,我會在將來的博文中詳細說明。在這篇文章中,我主要想通過一個Demo,來說明如何使用Microsoft Visual Studio Scrum 1.0,Microsoft Visual Studio Scrum 1.0是專門為Scrum團隊構建的流程模板。
(圖1:瀑布式的軟件開發流程,迭代式的軟件開發流程和Scrum軟件開發流程的示意圖)
瀑布式的開發方法風險性較高,而且和敏捷方法比起來,瀑布式的開發方法成本更高,但是效率卻更低。如果采用瀑布式的開發方法,在創造任何真正的商業價值以前,首先需要建立一些文檔。換句話說,直到項目結束以前,你都無法創造任何的價值。說什么產品開發是瀑布式的,或者項目預期的時間表在很久以后,這些都是在混淆視聽。推遲創造商業價值的時間點很明顯是這種開發方法的一大劣勢。
想想80-20法則:80%的產品價值來自于20%的產品功能。從這方面來考慮的話,我們能想到要構建一個只有20%功能的軟件產品嗎?是的,我們可以交付一個只有20%功能的“版本1”,以后,我們再交付一個功能略多一些的“版本2”,再以后,我們再交付一個“版本3”。這種方法的好處是開發20%的功能并不會花費100%的項目時間和預算:我們可以在項目的早期創造更多的價值。
迭代式的瀑布開發方法致力于交付一個sprint的工作,而不是一系列具有商業價值的,可用的小版本。根據我的經驗,在這種開發流程中,最常見的問題是你交付了很多代碼,但是一直把它們放到那里,直到最后一分鐘才開始測試它們。這樣的話,解決一個問題要比預期花費更長的時間,最終,你會錯過最后期限,并且你可能什么也交付不出來。
這種開發方法的另外一個常見的弊病是“過度承諾”。如果使用這種分階段的方式,當一個階段即將結束的時候,要估算和一個具體的用戶故事/功能相關的總體效果是很困難的。你可能被迫要對每個階段做出估算(例如:在拋開測試的情況下,單獨估算開發的時間)——這沒有什么意義,因為每個階段都不是獨立的,它們是一個有機的整體。例如,如果你通過測試發現了一個問題,你必須要回到開發階段來處理這個問題。整個團隊必須要把注意力集中在需要交付最終的目標上,而不是把注意力集中在一些獨立的階段上。值得注意的是,在這種環境下,velocity和燃燒圖并沒有太大的用處——你無法從早期的警告中獲得好處,因為在這個sprint結束以前,你無法知曉自己是否走在正軌上。
Scrum開發方法致力于交付經過全面測試的,獨立的,具有一定價值的,但是功能較少的版本。這樣的話,我的風險就被分散了——如果一個功能出現了問題,那么它不會影響到其他的功能。話雖這樣說,我們仍然需要規劃我們的迭代工作,在每次迭代結束的時候,我們都要發布一個新版本。
讓我們看一個具體的例子,如果我們讓同一個團隊開發兩個項目,這兩項目的需求相同,項目周期也相同(比如說:都是一年),但是其中一個項目使用瀑布式的開發流程來開發,而另一個項目使用Scrum流程來開發。
假設,你對Scrum和瀑布式的開發流程都很熟悉,如果你觀察一下這兩個項目在6個月以后的交付情況,那會是一件相當有趣的事情。在6個月以后,使用瀑布式的開發流程的那個項目也許已經到達了這樣一個階段:需求分析已經全部完成了,設計也完成了,編程已經開始了,并且已經完成一半了。如果我是一個客戶,這個階段能給我帶來多少商業價值呢?這還用考慮嗎?
于此同時,Scrum的項目團隊給需要完成的任務劃分了優先級,在每個sprint(通常每兩個月進行4個Scrum周期)以后,都會交付一個可用的產品。Scrum致力于在小的迭代周期內交付可用的產品,這樣不僅可以在項目生命周期中的任意時刻提供最好的商業價值,而且在開發過程中還允許做出變更,這些變更可以在將來的sprint中處理。
Microsoft Visual Studio Scrum 1.0流程模板
幾周以前,微軟發布了Microsoft Visual Studio Scrum 1.0,它是專門為Scrum團隊構建的流程模板。下面采用step by step的方式來說明如何下載和安裝Microsoft Visual Studio Scrum 1.0,以及如何為項目團隊構建Scrum開發流程。
步驟1:下載Microsoft Visual Studio Scrum 1.0流程模板
有兩種方式可以下載這個模板。
選擇1:可以從這個鏈接直接下載:
http://visualstudiogallery.msdn.microsoft.com/en-us/59ac03e3-df99-4776-be39-1917cbfc5d8e
選擇2:可以通過Visual Studio 2010來下載Microsoft Visual Studio Scrum 1.0,步驟如下:
1,打開VS 2010
2,在“Tools”菜單上,點擊“Extension Manager”
3,在Extension Manager中,在左面的窗格中,點擊“Online Gallery”
4,在Online Gallery中,展開“Tools”,然后選擇“Process Templates”
5,在右邊的窗格中,選擇“Microsoft Visual Studio Scrum 1.0”,然后點擊“Download”按鈕。
6,這會把Microsoft_Visual_Studio_Scrum_1.0.MSI下載到你在下載對話框中指定的目錄下。
7,雙擊Microsoft_Visual_Studio_Scrum_1.0.MSI文件開始安裝。
8,在默認情況下,MSI會在如下路徑安裝必需的文件:C:\Program Files (x86)\Microsoft\Microsoft Visual Studio Scrum 1.0(我使用的是64位的Windows7操作系統)
步驟2:在Visual Studio 2010中運行Process Template Explorer
如果你已經連接到了Team Foundation Server,請忽略步驟A到步驟D,直接從步驟“1”開始。
前提條件:下面的步驟需要連接到Team Foundation Server。在我的例子中,我把Microsoft Team Foundation Server 2010安裝到了本地,一臺運行Windows 7的PC上。下面是連接到Team Foundation Server(team project collection)的一些步驟。
步驟A:在Visual Studio中,在“Team”菜單上,點擊“Connect to Team Foundation Server”。
注意:如果你沒有看到這個選項,那說明你沒有安裝Team Explorer。如果你想看到“connect to Team Foundation Server”這個選項,那么你必須安裝Team Explorer才可以。
步驟B:在“Connect to Team Project”對話框中,在“Select a Team Foundation Server”下拉列表中,選擇一個包含了你要使用的team project collection的服務器。
注意:如果下拉列表是空的,那么你可以點擊“Servers”按鈕來手動輸入服務器的連接設置。你可以聯系你的Team Foundation管理員,或是team project管理員來獲取連接設置。
步驟C:從目錄列表中選擇你要把team project添加到其中的project collection的名字。
步驟D:點擊“Connect”。Team Explorer會顯示你選擇的team project。下面是我的team project的截圖。
1,在VS 2010種,點擊“Team”菜單
2,選擇“Team Project Collection Settings”-〉Process Template Manager。
或者,在Team Explorer窗口中,在那個collection上點擊右鍵,然后選擇“Team Project Collection Settings”-〉Process Template Manager.
3,點擊“Upload”按鈕,然后選擇安裝Microsoft Visual Studio Scrum 1.0流程模板的那個文件夾(默認情況下,這個文件夾是:C:\Program Files (x86)\Microsoft\Microsoft Visual Studio Scrum 1.0\Process Template)。點擊“Select Folder”
4,安裝以后,點擊“Make Default”按鈕,讓它成為默認的流程模板。Microsoft Visual Studio Scrum 1.0應該出現在Process Template Manager的列表中,如圖所示:
建立一個Team Project
1,在Team Explorer,右擊一個project collection,然后點擊“New Team Project”。
或者,打開“File”菜單,指向“New”,然后點擊“Team Project”
2,在“Specify the Team Project Settings”頁面上,在“What is the name of the team project?”框中,給你的team project輸入一個名字,然后輸入關于這個項目的一些描述。
3,點擊“Next”。在“Select a Process Template”頁面上,在“Which process template should be used to create the team project?”列表中,選擇“Microsoft Visual Studio Scrum 1.0”模板。點擊“Finish”。
下列任務會自動地完成:
為你的team project建立一個SharePoint站點
為你的team project建立一個空的版本控制文件夾
Team Explorer會顯示下面的信息:
要開始使用Scrum流程,可以參考這個站點:http://msdn.microsoft.com/en-us/library/ff731587.aspx
【原文標題】:
Scrum Process for Software Development using Microsoft Visual Studio Scrum 1.0 Process Template