快速認識Scrum的三四三口訣 - iThome

文章推薦指數: 80 %
投票人數:10人

在Scrum敏捷開發框架的核心元素中,包括了3種角色、4個會議和3項產出,開發人員掌握這些核心元素就能快速認識Scrum開發流程. 移至主內容 文/iThome | 2011-06-17發表 ML(UnifiedModelingLanguage)在1991年成為標準的物件導向分析設計語言,因此終結了纏鬥多年的物件導向開發方法之戰。

不過,UML並不完整,事實上,UML三位創辦人當時暫時切除了提出統一開發程序的事務,才讓UML順利產出。

由此可以想見,提出統一的「開發程序」(developmentprocess),遠比提出統一的「建模語言」(modelinglanguage),要來得困難多了。

至此,UML非常順利地站穩標準的、統一的建模語言的地位,而被分割出去的開發程序則顛沛流離,一直到近來,似乎終於在「敏捷方法」(AgileMethod)之地,開出一片小黃花。

再多說一點,脫離了UML之後,開發流程後續的發展為何?UML三位創辦人正式推出了UML之後,其實後續還是提出了一套整合的開發流程,也就是鼎鼎有名的RUP(RationalUnifiedProcess)。

當時UML三位大師所在的公司是Rational,也就是RUP中R的由來,只是後來,Rational被IBM併購了,不過從RUP的名稱上頭,可以想見,當時這些大師們企圖將RUP打造成統一的開發程序。

RUP是一套完善且龐大的開發程序,對於大型專案可能很有貢獻。

但是,對於中小型專案而言,可能過於沉重且昂貴。

因此,RUP的命運並不如UML這般光采。

後來,開始出現一些簡化版的RUP,諸如:AUP(AgileUnifiedProcess)、或者EssUP(EssentialUnifiedProcess)等等的輕量級開發程序。

AUP是簡化版的RUP,而EssUP則是UML創始人之一IvarJacobson彙總了RUP、CMMI和敏捷式開發方法三者特色後提出的軟體開發程序。

由此現象,我們可以發現,輕量級的、敏捷式(agile)的開發程序,逐步受到重視,開始嶄露頭角。

就目前來說,敏捷式開發程序中,最受歡迎的支派,就是「Scrum」了。

所以,我們就不去學厚重的RUP,也省去經歷其他敏捷式開發程序的麻煩,直接進入最受歡迎的Scrum,做為前進敏捷開發的第一步吧!三四三話Scrum如果,你跟我一樣想要用最迅速、敏捷的方式來認識Scrum,我自己慣用的口訣是「三四三」。

其實,Scrum敏捷開發只是一個簡單的框架(Framework),核心元素包含有:3種角色、4個會議、3項產出。

● 3種角色:Scrum教練、產品負責人和團隊。

● 4個會議:衝刺規畫會議、每日站立會議、衝刺審查會議以及衝刺回顧會議。

● 3項產出:產品待辦清單、衝刺待辦清單和燃盡表。

所以,我經常用「三四三」這個口訣,來記憶Scrum框架的核心元素,與你分享之。

Scrum的3種角色在Scrum敏捷開發中,提出了3種主要的角色,分別說明如下:● 產品負責人(ProductOwner):其實,產品負責人這個角色有點像是客戶代表。

他會站在比較接近客戶的立場,去設定產品待辦項目的優先順序,以及為團隊說明客戶的需求。

● Scrum教練(ScrumMaster):顧名思義,Scrum教練必須熟知整個Scrum敏捷開發,以便能夠協助產品負責人和團隊的運作。

● 團隊(Team):就是一般的開發團隊,通常是跨職能的組成,也就是團隊成員混合著架構師、分析師、設計師、程序員、測試員等等。

Scrum的4個會議在每一個衝刺(Sprint)期間,除了團隊需要實際執行分內的任務外,Scrum還定義了4個重要的會議,分別簡單敘述如下:● 衝刺計畫會議(SprintPlanningMeeting):每個衝刺期間的一開始必須先舉行衝刺計畫會議,主要用來決定該衝刺期間的待辦項目,以及團隊的衝刺任務。

● 每日站立會議(DailyStandupMeeting):衝刺期間的每一天早上,都要執行15分鐘的站立會議,主要可以用來了解團隊的工作執行狀況。

● 衝刺審查會議(SprintReviewMeeting):每個衝刺的最後一天會先執行衝刺審查會議,隨後執行衝刺回顧會議。

在衝刺審查會議中,主要用來展示並了解該衝刺的待辦項目達成狀況。

● 衝刺回顧會議(SprintRetrospectiveMeeting):相較之下,前述的衝刺審查會議,其討論的主題鎖定在「產品」上頭。

而此處的衝刺回顧會議,其討論的主題則聚焦在團隊的「開發程序」上頭,主要用來討論並調整下一期衝刺的開發程序。

在物件導向技術中,建議採用反覆式的開發方式,而不是過去的瀑布式開發方式。

簡單來說,所謂的反覆式的開發方式是指,在一小段的反覆期中,執行了分析、設計、實作、測試等等的開發步驟,以便迅速地修訂錯誤。

而在Scrum敏捷開發中,同樣採用反覆式的開發方式。

不過,在物件導向技術中,稱為這樣的一小段時期為一個「反覆」(Iteration,也有另一個常見的譯詞為「循環」)。

到了Scrum敏捷開發中,則稱為一個「衝刺」(Sprint,SprintIteration)。

Scrum的3項產出在Scrum敏捷開發中,一共有3項重要的產出,分別簡述如下:● 產品待辦清單(ProductBacklog):其實,產品待辦清單的概念很簡單,它主要包含了一般常見的功能性需求和非功能性需求;不過,比較特別的是,它還包含了技術團隊提出的需求,而不只是照顧到客戶的需求而已。

也因此,Scrum敏捷開發特別採用了「產品待辦清單」(ProductBacklog)的字眼,用來跟傳統作法上只照顧客戶的系統需求,做字面上的分野。

● 衝刺待辦清單(SprintBacklog):衝刺待辦清單中的待辦項目,其實是產品待辦清單的子集。

在每一次的衝刺規畫會議中,才會開會決定要處理哪些待辦項目。

● 燃盡圖(BurndownChart):簡單來說,我們可以繪製燃盡圖,來呈現一個時間區段中,剩餘的工作量。

所以,有些文章或書籍中,也將「BurndownChart」中譯為「剩餘工作圖」或者是「剩餘時間圖」,原因正是如此。

對Scrum的「三四三」有了初步的概念以後,接下來在這個系列文章中,將模擬一個五人團隊如何使用Scrum敏捷開發基金系統作為例子,來介紹Scrum敏捷開發的核心元素,並且結合UML的使用,讓你可以看了立即上手。

Scrum敏捷開發是一種「增值流程」(value-upprocess)講具體些,就是每一次的「衝刺」都會具體實現「顧客價值」(businessvalue),說更加具體些,每一次的衝刺都會產出可以執行的程式碼,而且這些可執行碼能夠提供給顧客滿意的軟體服務。

但是,萬丈高樓平地起,住戶看不到的地基不重要嗎?顧客摸不著的基礎架構不重要嗎?所以呢,在開始傾全力往前衝刺之時,我們得先執行一個「衝刺0」的階段,這個階段主要目標就是在打好地基,做好基礎建設及規畫,下一回將從這個打地基工作開始談起。

作者簡介:邱郁惠研究UML/OOAD十餘年,創辦UMLBlog(www.umltw.com)推廣UML,出版多本UML/OOAD專業書籍,擁有OCUP/UML三級認證、PMP、ITIL、OOAD認證。

目前為自由工作者,專職於企業內訓、專案輔導、自辦課程、專欄寫作。

作者簡介:施奇宏投身軟體開發領域逾15年,任職於金融產業,有豐富金融IT實戰開發經驗。

對於Java、.NET、C++等都有涉獵。

最近著迷於軟體工程,尤其是測試驅動開發(TDD)及領域驅動設計(DDD)。

熱門新聞 Windows可能將改為3年1次大改版,但1年最多4次功能更新 2022-07-15 臺灣企業資安投資抵稅正式上路,最新投資抵減辦法7月公布 2022-07-11 聯想筆電再爆UEFI韌體漏洞,70餘機種受影響 2022-07-14 經濟前景不明,微軟傳裁員、Google也警告聘僱放緩 2022-07-13 WindowsAutopatch正式上線了 2022-07-12 悠遊卡終於將提供跨境消費,年底前可望在日本沖繩使用 2022-07-12 微軟仍決定預設封鎖Office中的VBA巨集 2022-07-12 微軟揭露鎖定Office365用戶且可繞過多因素認證的大規模網釣活動 2022-07-13 Advertisement 專題報導 千億營收電商的SRE之旅 摩根大通2022科技新戰略 紅帽邊緣運算新戰略 【法律科技大創新】用區塊鏈貫穿司法流程,打造被民眾信任的司法聯盟鏈 【不讓x86架構專美於前,憑低功耗與更多核心獲寵】Arm走入公有雲世界 更多專題報導



請為這篇文章評分?