【PM實戰】新產品開發流程(五):Agile Development(敏捷開發法)

Agile Development(敏捷開發法)是一種90年代起才引起廣泛關注的新型軟體開發方法,是一種應對快速變化需求而產生的一種軟體開發能力。

【PM實戰】新產品開發流程(四)中,筆者先介紹Stage-Gate法(階段關卡法),本篇將介紹Agile Development(敏捷開發法):

  • Agile Development的源起與概述
  • Agile Development的3-5-3框架
  • Agile Development的三大特點

Agile Development的源起與概述

Agile Development(敏捷開發法)是一種90年代起才引起廣泛關注的新型軟體開發方法,是一種應對快速變化需求而產生的一種軟體開發能力。

2001年由Jeff Sutherland、Ken Schwaber和Alistair Cockburn等17位軟體開發人員發起輕量級的開發方法(Agile),並一同發布了「敏捷軟體開發宣言(Manifesto for Agile Software Development)」。

藉著親自並協助他人進行軟體開發,我們正致力於發掘更優良的軟體開發方法。透過這樣的努力,我們已建立以下價值觀:

  • 個人與互動 重於 流程與工具
  • 可用的軟體 重於 詳盡的文件
  • 與客戶合作 重於 合約協商 
  • 回應變化 重於 遵循計劃 

也就是說,雖然右側項目有其價值,但我們更重視左側項目。

相對於傳統開發模式(如:瀑布式開發法),它比較注重以用戶需求為核心,採用持續迭代,循序漸進的開發方式,嚴格來說,敏捷開發並不是一種完整的End-to-End開發方法,而是在軟體產品開發階段加速開發能力的一種方法,所以敏捷開發在需求的變更上並不在意,因為產品開發專案從始至終都處於不斷地調整中,這一點在客戶滿意度上來說,無疑是非常具有競爭力的。 近年來,敏捷軟體開發的框架不斷的發展,最廣泛被使用的有Scrum、XP、Kanban等。

Agile Development法的3-5-3框架

SCRUM敏捷實戰手冊》的作者同時也是Scrum Inc. 的執行長 JJ Sutherland 提出了實踐Agile的Scrum 3-5-3框架,做為團隊快速檢查的工具,茲說明如下:

圖片來源:scruminc.com

Scrum的三大角色

1.Product Owner(產品負責人)

主要負責和客戶溝通確定產品的功能和達到要求的標準,並指定軟體的發布日期和交付的內容,同時有權力接受或拒絕開發團隊的工作成果,一般是由產品經理擔任(有關PO與PM的分別請參考筆者這篇文章)。主要工作內容如下:

  • 制定產品待辦清單(Product backlog item)與優先順序調整(Prioritize or De-prioritize)
  • 對產品有遠見,並與開發團隊及其他團隊保持一致,以確保實現該產品。
  • 負責與利害關係人和客戶進行溝通,並對產品績效負責。

2.Scrum Master

主要負責確保開發團隊遵循正確的Scrum結構,同時也扮演開發團隊的教練或指導者,甚至是捍衛者。當團隊出現瓶頸時,Scrum Masters會立即積極地消除障礙,以確保團隊的工作順利進行。

一個成功的Scrum Master知道團隊的成功就是他們的成功。

3.Development Team(開發團隊)

主要負責軟體產品在Scrum規定流程下進行開發工作,確保完成Sprint待辦清單(Sprint backlog)。人數控制在5~9人左右,每個成員可能負責不同的技術方面,但要求每成員必須要有很強的自我管理能力,同時具有一定的表達能力;不論過程只問結果!只要能達到目標,不論任何工作時間及方式。

開發團隊,他們作為團隊共同努力,以不斷生產高質量,高價值的產品。 如果缺少具有跨部能和共同協作精神的開發團隊,組織將無法創建具高品質的產品或服務。

Scrum的五大事件

1.The Sprint(衝刺)

整個Scrum框架的核心就是 Sprint(衝刺)。每個Sprint都以計劃會議開始,在此期間,產品負責人和開發團隊就Sprint期間將要完成的工作達成一致。而每個Sprint的周期(長度),由Scrum Master決定,可以是一周到一個月不等(通常建議是兩個星期),如果沒有Sprint,Scrum將缺乏節奏感,工作流程勢必受到干擾。

此外,一旦Sprint開始後,產品負責人將回到管控的角色,負責專案最後的驗收,而開發團隊的實際運作則由Scrum Master負責。

圖片來源:gv.com

2.Sprint Planning(衝刺計畫)

Sprint Planning(衝刺計畫)的主要任務在於確定高價值的工作。在衝刺計畫過程中,必須決定要關注的重點,並製定計劃以有效地完成工作。

此外,衝刺計畫在整個Scrum運行過程當中是不可或缺的重要過程,因為它是對可交付成果和流程的正式協議。

3.Daily Scrum(每日 Scrum 會議)

Scrum是團隊每天舉行的15分鐘站立會議(Stand-up meeting),討論到目前為止的進度以及接下來的24小時將如何使用。簡單來說就是開發團隊中每個人的狀態報告。一般情況,Scrum Master或產品負責人沒有必要參加,主要是讓開發團隊成員彼此討論他們的工作,而不是專注於向Scrum Master或產品負責人報告。

此外,由於團隊中的每個人都更新了每個成員的進度,因此,如果需要進行更改以更快地實現目標,則更容易檢查和調整。

4.Sprint Review(Sprint 評審會議)

Sprint評審會議主要是向利害關係人展示整個Sprint 的成果和決定未來的調適方向。透過向利害關係人展示團隊的工作結果,並討論產品目的之進展情況。

如果沒有Sprint評審會議,團隊將盲目地從事任務或工作,而不知道利害關係人的真正需求。

5.Sprint Retrospective(Sprint 回顧會議)

Sprint 回顧會議的目的是讓Scrum團隊聚在一起討論Sprint過程中的表現,並討論改善下一個Sprint的方法。Sprint 回顧會議有很多種形式,但是最終目標是確定Scrum 團隊可以辨識出最有用的改變以提升其效能。例如:最具衝擊力的改善行動將儘速執行。甚至可以納入到下一個衝刺計畫的 Sprint 待辦清單中。

Scrum的三大工作

1.Product Backlog(產品待辦清單)

產品待辦清單包含產品負責人對產品的願景,是一個小到足以由開發團隊在一個衝刺迭代中完成的工作單元。

產品待辦清單上的工作項目需要被定期維護,由產品負責人負責管理及調整優先順序,例如:如果發現在此期間某項任務很有價值時,應將其添加到待辦事項中,並確保將高優先級、高價值的工作項目放在首位。

2.Sprint Backlog(Sprint待辦清單)

Sprint待辦清單可視為產品待辦清單的子項目,由開發團隊認為可以在當前Sprint中完成的任務組成。開發團隊和產品負責人可以共同協商Sprint待辦清單,以確保實現最高價值的項目。然後,由Scrum Master確保開發團隊承擔的工作不會超出他們的能力。

3.Product Increment(產品增量)

根據Scrum Guide的定義,Product Increment是Sprint期間完成的所有產品待辦清單的總和,以及所有先前Sprint的增量值。如同大家所知,Scrum是一個迭代過程。因此,每次迭代的結果都是該產品的增量,每個產品的增量都有助於團隊更接近於交付最終產品。

Agile Development的三大特點

相較於傳統的軟體開發方法(如:瀑布式開發或迭代式開發等),「敏捷開發」有以下三個特點:

第一,「敏捷開發」周期相對較短。它能更快的滿足客戶的需求,當客戶需求有變更時,它也能更快的做出相對應的改變。正如它的名字一樣,敏捷所代表的即是「最快的速度」。

第二,「敏捷開發」能夠更好地適應快速變化的需求。很多時候,需求都不可能是一成不變的。相信PM們都有共同的經驗,那就是,無論在規劃前期考慮得多麼周到,為了適應快速變化的市場,為了讓軟體系統更加完善,需求永遠都是在不停地改變。例如:我們目前正在開發的功能,或許在它還沒上線的時候,客戶可能已經不需要了。因此,「敏捷開發」較能夠駕馭需求的變化,它主張可以接受變更,以做出更快的回應。

第三,「敏捷開發」採用迭代方式、可頻繁交付、可使用的軟體。在敏捷開發中,可能一個星期就要更新一個版本,交付一個可使用的軟體。然後根據市場需求的變化,快速的交付另一個迭代產品。在這樣頻繁交付過程中,更好的滿足客戶的需求,以適應需求的變化。

結語

綜上所述,「敏捷開發」在技術上的適用範圍可以歸納如下:

1.專案團隊的人數不能太多

2.專案經常發生變更

3.高風險的專案實施

4.開發人員可以參與決策

相信對於「敏捷」有一定了解的PM們應該都清楚,其實「敏捷開發」並不是一種特定的、完整的產品開發方法,而是因應環境及客戶需求快速變化的一種軟體開發能力。「敏捷」兩字對於NPDP知識體而言,是一種提升軟體在產品開發階段更具效率與效果的思維方式(如:Scrum只是Implement Agile 的一種方式)。

對企業高層及產品經理來說,應該根據自身的業務特點和研發體系的成熟度和適應性,針對不同專案來適時選擇不同的產品開發方法。

以上是關於Agile Development(敏捷開發法)的說明,下一篇筆者將針對【市場上常見的新產品開發流程的比較、適用場景及流程治理】來跟大家分享,敬請期待!

本文作者:PM大叔

圖片來源: Image by Julián Amé from Pixabay

若有轉貼需求,請來信(service@pmtone.com)討論。 轉貼時禁止修改內容及標題、須保持所有連結、禁止商業使用,並且必須註明原文標題、連結、及作者訊息。

覺得這篇文章好嗎? 請分享給您的朋友吧~

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on email
Email
Share on print
列印
Gary Hsia (夏松明)

Gary Hsia (夏松明)

夏松明(PM大叔):產品管理專家,企業數位轉型輔導顧問,FB「產品經理菁英會」社團創辦人,PM Tone | 產品通 產品經理知識社群網站 站長,目前從事顧問諮詢及培訓講師一職,主要以企業培訓及輔導企業產品開發、經營管理及業務行銷等顧問講師工作。 同時擁有「PMP國際專案管理師證照」、「WBSA高階策劃師認證」及「NPDP新產品開發專業證照」,也受邀至企業內部、大專院校授課並擔任公開班講師,是業界少數具備「經營管理」、「新產品開發」與「品牌行銷」等專業領域的資深顧問。

延伸閱讀