敏捷開發下的專案管理

在敏捷開發的過程,最重要的起頭式就是要探討:這個計畫究竟要達到什麼目的? 請注意,這裏不是詢問「要做什麼事」而是詢問「結果要什麼」? 例如,如果結果是「自己做出一個蛋糕」,我就要列下所需要的材料、需要的工具、需要的教學,適合的空間等。於是除了繁瑣的步驟(也許你選擇了複雜程序的蛋糕)與其一頭熱投入,還不如列出每個階段要做什麼。

敏捷開發的定義

“Scrum是用於開發、交付和維持錯綜複雜產品 (complex products) 的敏捷框架 (framework) 。最初著重於軟體開發,之後已被用應用於其他領域,包括研究、銷售、營銷和其他先進技術領域。

…Scrum 團隊在每個 Sprint 都專注在唯一一個共同的目標 (Sprint Goal),每天的 Daily Scrum 團隊中的開發人員 (Developers) 都檢視朝向這共同目標的進度,和調適當下的計畫。在 Sprint 結束時,團隊會進行 Sprint 審查 (Sprint Review) 跟利害關係人 (Stakeholders) 一起檢視當下的結果與調適計畫,這是互相資訊交流的機會。最後,團隊會進行 Sprint 回顧 (Sprint Retrospective) 來持續改善。”

-wikipedia

敏捷開發的精神

敏捷開發的精神

你可以把Scrum想成一個合作模式、專案管理的流程,或是:

「在一段期間,完成一堆任務的工作方式。」

其中,我們最重視的是「在期間完成」這個重要指標。

於是我們撇棄了傳統的瀑布式專案管理模式:列出密密麻麻的各項細節,一股腦的投入執行。在其中問題累積越來越多,發現到末了我們跟本沒辦法即時完成,於是用了最讓人詬病的「加班+壓縮時間」的方式,強迫一個人當兩個人用、一天當10小時用的惡性循環。

是的!沒有人希望不在期間完成,但是除了緊迫住環環相扣的螺絲釘。還有一個更有效、更快速完成的方法:它就是SCRUM(敏捷開發)。

Scrum其實並不難上手,甚至生活的情境中都能運用,只要稍微理解後,要立刻Scrum模式都沒問題。

敏捷開發下的專案流程

首先在敏捷開發的過程,最重要的起頭式就是要探討:這個計畫究竟要達到什麼目的?

請注意,這裏不是詢問「要做什麼事」而是詢問「結果要什麼」?

於是,產品經理或持有人,就會從客戶、團隊、主管蒐集足夠的資訊整理,探討這次的專案,我們究竟要「達到什麼效果」。

這樣好了,如果我的結果是「自己做出一個蛋糕」,我就要列下所需要的材料、需要的工具、需要的教學,適合的空間等。於是除了繁瑣的步驟(也許你選擇了複雜程序的蛋糕)與其一頭熱投入,還不如列下階段性需要完成的部分:

1.完成底座

2.完成奶油覆蓋

3.準備好裝飾的配料

4.準備裝盒 

於是這一整串步驟,都有了清楚的意義,自己也會很清楚,我在這個階段,要完成多少進度在那個時間日期。每個階段,都會有1-4週(通常是兩週)的SPRINT(衝刺),每次的衝刺,都是短期但目標明確,使參與的團員獲得成就解鎖但是又不會長時間耗的精疲力盡。一次又一次的衝刺,發現自己已經離終點不遠了 

然而每一次的衝刺,並不是都會非常順利。回到蛋糕的例子:底座烤焦了、奶油沒有買到、裝飾的用品不了、突然發現自己想做的是巧克力蛋糕而不是提拉米蘇等等的難題就會在「每日站立式會議」中提出。

於是,每一天團隊就會知道問題發生在哪裏,還有多少時間修補、還有沒有其他的解決方法。不會到專案結束的前一個月,才會發現「最後是達不到的」這種分段式的完成專案,帶給團隊更多的彈性修正、接受變化並更顯著的提升效率。每一次的衝刺結束也會有主持人檢討這次的階段,是不是符合開發進度的需求,讓團隊更加進步。而每一次的衝刺都有負責帶領衝刺的Scrum Master扮演著小隊長的任務,負責帶領團隊完成階段性任務。

首先在敏捷開發的過程,最重要的起頭式就是要探討:

這個計畫究竟要達到什麼目的?

請注意,這裏不是詢問「要做什麼事」而是詢問「結果要什麼」?

於是,產品經理或持有人,就會從客戶、團隊、主管蒐集足夠的資訊整理,探討這次的專案,我們究竟要「達到什麼效果」。

我的專案適合敏捷開發嗎?

若符合以下三項條件會比較容易去施行。

小型團隊

當參與的團隊人數不多,約3-7人,最多不超過9人。可以實現每天-每週緊密的合作方式,那麼這就是敏捷開發理想的團隊尺寸。

框架自由

當計畫沒有一定的執行步驟,也沒有指定的工具。發揮創意激盪的最佳方式就是敏捷開發,因為如果有什麼好點子,大家能在每日會議中了解並且及時修改方向。

階級扁平

當互信溝通成為衝刺成功的重要條件,多餘的辦公室政治、等級、部門衝突就稱了敏捷的障礙。當一個組織內大家可以說出真正的想法、尊重每個成員,那麼敏捷開發就是一股活水注入,讓大家能夠痛快的激盪出火花。

結語

如何真正發揮敏捷開發的精神,當然還有許多細節就不在本篇敘述。概要的精髓在於:

  1. 在期間內完成任務

  2. 聚焦及優先順序

  3. 密集快速衝刺 

尤其適合小型、自由、不講究職等階級的團隊,發揮出「以小博大」的威力。每次的衝刺過程可以回顧、改善,造就一班不畏環境變化、突發狀況及時間壓力的「精兵部隊」,就是敏捷開發最中心的思維。

如果想更深入瞭解它,除了可以購買坊間敏捷開發理論的書籍、閱讀文章,最佳方案就是與鐵支路開始洽談合作,因為我們就是用這樣的專案管理方式,相信在不久的將來,你或你的團隊將會有巨大的成長!