歐萊禮出版

你要如何將各式各樣的敏捷想法落實到實際的敏捷團隊上?練習!大量的練習!

即使沒有正式記錄下來的文件,每個團隊都有自己遵循的工作方式──流程或方法。該方法反映了軟體開發的基本理念,儘管該理念很少被闡明,而且也不一定是能夠自圓其說。

要追求「真」敏捷,你需要改變你的流程來體現敏捷的理念。相較於聽起來,要實現這句話既容易,卻又困難。容易是因為在大多數情況下,你可以從眾多現成的敏捷方法開始做起;困難是因為你需要改變自己的工作方式,而這代表會改變很多習慣。

實踐敏捷

敏捷社群將這些習慣稱為實務做法。本書的大部分內容都專注於這些做法,比方說規劃會議、自動化建置和向利害關係人展示(stakeholder demos)之類的做法。大多數的做法已經存在了幾十年,只是敏捷方法以獨特的方式將它們結合起來,突出那些支持敏捷哲學的部分,捨棄其餘部分,並同時混合一些新的想法。最終產出的是一個精實的、強大的、能自我強化的成套做法。

敏捷的實務做法常常能夠承擔兩倍和三倍的任務、同時解決多個問題、並以巧妙和令人驚訝的方式相互支持。直到你看到它的實際運行一段時間後,你才會真正理解敏捷方法有效的理由。

因此,儘管「從一開始就將敏捷方法客製成你想要的樣子」的想法相當誘人,但是最好的做法仍然是照著本書告訴你的方式進行。或許你會很想要去除最不熟悉的實務做法,但如果你想要追求「真」敏捷,它們往往是你最需要的做法。

精通敏捷之道

掌握敏捷開發的藝術需要實際的經驗,而這些經驗必須是基於具體的、有明確定義的敏捷方法。從書本上所描述的方法開始,然後將它們全面地付諸實踐,並花費幾個月的時間來完善你的用法,以及理解它為什麼有效。接著才是進行客製。從一個需要改善的地方開始,對實際的狀況進行有根據的假定,然後重複這樣過程,直到完善。

本書就是為了讓你精通敏捷之道而編寫的。這是一套在實務中得到證明且精心策劃的敏捷實務做法。如果想要使用它來掌握敏捷開發的藝術,或者僅僅只是想要使用敏捷的實務做法來取得更大的成功,請遵循以下步驟:

1.     選擇一部分的敏捷想法來掌握。

2.     根據第一步選定的想法,盡可能地採用對應的實務做法。敏捷的實務做法能強化彼此的價值,所以當你一起使用它們的時候,可以得到最好的效果。

3. 嚴格並且一致地運用這些實務做法。如果某一個實務做法沒有產生作用,請試著更仔細地遵循該做法。剛接觸敏捷的團隊往往沒有充分地運用這些實務做法,預計需要兩到三個月的時間才會開始習慣這些做法,並且需要再花費兩到六個月,讓這些做法成為本能。

4. 當你確信你正確地運用了這些實務做法的時候,再花費幾個月的時間,開始嘗試改變這些做法。每次對做法進行改變時,請觀察發生的情況,然後再進一步改善。

5. 沒有最後一步。敏捷軟體開發是一個不斷學習和改進的過程。永遠不要停止練習、實驗和進化。

下圖說明了前述的整個過程。先遵守規則;然後打破規則;最後把規則拋在腦後。

如何導入敏捷

如果你正在幫助你的組織創建敏捷團隊,或者你想說服組織採用敏捷,請使用以下清單,來保持一切的過程都井井有條。

首先,確認敏捷是否適合你的公司:

●    選擇一個達成敏捷的方式,而且是組織所支持的方式。

●    為成功地達成敏捷,確定組織需要做些什麼?

●    為試驗敏捷,尋求支持。

●    如果你有多個團隊,請決定如何將敏捷規模化。

在團隊嘗試敏捷之前的幾週內:

●    確定團隊的教練或教練群是誰,並且確定至少一個人擔任團隊的產品經理。

●    讓團隊的產品經理與來自高階管理的團隊支持者和主要的利害關係者會面,以製定目標草案。

●    確保團隊擁有實體或虛擬的團隊空間。

●    安排並主持團隊的章程會議。

●    要求團隊審視新的實務做法。提供本書副本供成員自學,建議他們在當前工作中嘗試一些實務做法,並思考為看起來具有挑戰性的實務做法提供培訓。

當一個團隊準備好開始時,深呼吸並且:

●    讓團隊成員規劃他們開始的第一週。

採用個別的敏捷實務做法:將敏捷實務做法加到你現有的流程中

當你全心投入敏捷的轉變時,能獲得敏捷最大的好處,但如果這樣的要求並不適合你,你可以將一些敏捷實務做法加到你現有的流程中,而以下這些地方是很好的切入點:

每日計畫。如果你經常為工作被中斷所困擾,請嘗試採用為期一天的迭代。每一天的開始都使用規劃遊戲和團隊所評估的產能來進行聯合規劃會議,然後把所有會產生工作中斷的事情推遲到第二天的計畫會議裡。務必確保成員對他們的任務進行評估。

迭代。如果你沒有經常苦於被中斷工作,但仍想改進你的規劃能力,請嘗試使用每週迭代。在這種情況下,每日站立會議和定期向利害關係人展示仍可能對你是有幫助的。隨著時間的推移,請考慮使用索引卡進行規劃,並使用大圖表來顯示接下來要處理的工作。

回顧。經常性的回顧是你的團隊調適與改善流程的絕佳方式。

快速回饋。快速、自動化的建置將對你的生活品質產生重大的影響,並且還能為其他的改善創造機會。

持續整合。持續整合(指的是這個實務做法的理念,而不是專注於工具的使用)不僅減少了整合的問題,還推動了建置和測試的改進。

測試驅動的開發。儘管測試驅動開發不像其他實務做法那樣容易被採用,但它能帶來相當大的好處。測試驅動開發是減少錯誤、提高開發速度、提高重構能力和減少技術債的基礎。掌握它可能需要一些時間,所以要有耐心。(本文摘錄整理自《敏捷開發的藝術》第二章,碁峰資訊提供)

 

圖片來源_碁峰資訊

 書名  敏捷開發的藝術(第二版)

James Shore, Shane Warden/著;盧建成/譯

歐萊禮出版

定價:780元

 作者簡介 

James Shore

James Shore自1999年起帶領團隊實踐敏捷開發,並將多年累積的實務經驗與對敏捷概念的深刻見解融合為一體。敏捷聯盟為了表彰他對於敏捷實務作法的貢獻,授予他Gordon Pask大獎。他同時也是數個軟體開發直播節目的主持人,以及敏捷熟練度模型(Agile Fluency Model)的共同創造者。圖片來源/James Shore

熱門新聞

Advertisement