知識分享 | 敏捷開發(fā)之旅:從迷惑到覺悟系列 (上)
? ? ?敏捷開發(fā)以用戶需求進化為核心,采用迭代、增量等方法進行軟件開發(fā)。在當今多變的市場競爭中,敏捷開發(fā)已經(jīng)成為精英效能組織的制勝之道。本期我們邀請到西安總部基地研發(fā)經(jīng)理劉浩帶大家走進敏捷開發(fā)的修行之旅。

一、常見的研發(fā)模型到底有什么不同?
(一)流程重要性
不恰當?shù)墓芾砹鞒?失敗。任何開發(fā)活動都是一項工程,在整個工程建設的過程中,需要行之有效的管理體系,對工程的各個環(huán)節(jié)進行控制,以此來保障良好的結(jié)果。
(二)常見模型
常見的研發(fā)模型包括:瀑布、增量和迭代。瀑布模型是不錯的方式,但如果研發(fā)的工程體量大不妨采用增量或迭代的方式,合理對工程進行拆解,優(yōu)先快速交付一些核心功能,將未來風險出現(xiàn)的可能性降到最低。

二、有效的組織是成功的一大半
(一)團隊構(gòu)成
典型敏捷開發(fā)團隊由產(chǎn)品負責人PO、開發(fā)團隊、敏捷教練構(gòu)成。
· 產(chǎn)品負責人PO:客戶或客戶代表,站在客戶角度梳理和審視待開發(fā)內(nèi)容。
· 開發(fā)團隊:自組織的一群人,主要職責是把待開發(fā)內(nèi)容變成可發(fā)布的功能。
· 敏捷教練:帶路黨,確保敏捷思想被理解并正確實施服務所有人,保障團隊高效地前進。
(二)團隊成長
成長是相互的,團隊的成長代表著管理人員的成長。沒有一個人的成功,只有把自己的成就托付給整個團隊,才是可行之道。
?
三、怎么確定我們要做什么?有多大的工作量?
(一)待開發(fā)項
在探索需求的過程中,不知不覺中獲得了很多需求情節(jié)便簽,這些便簽在敏捷方法中,可以視為產(chǎn)品待開發(fā)項,是研發(fā)的最關(guān)鍵部分。
(二)用戶故事
需求情節(jié)的描述,就是傳說中的用戶故事,回顧一下:誰(角色),通過什么樣的操作(活動),達成什么樣的目的(獲取價值)。通過這種方式,我們時刻保持思路開闊,與客戶共筑愿景,明確用戶真正所需。
(三)敏捷估算
敏捷估算同樣也在項目計劃中起到非常重要的作用。有效的估算活動,可以讓團隊心中有譜,降低項目的不確定性,提高預測能力。
(四)估算方法
常用的估算方法有三種:1.經(jīng)驗估算 2.三點估算 3.計劃撲克。敏捷團隊最佳估算方法是計劃撲克,把專家意見、類比和分解結(jié)合到一種令人愉快的估算方法,產(chǎn)生快速可靠的估算。

四、用合理的排序探知未來
(一)優(yōu)先級排序
把最為關(guān)鍵和最有價值的部分放到最前面,越早交付關(guān)鍵部分,越能保障目標的達成。
(二)發(fā)布計劃
偉大的代碼始于偉大的計劃。需要按照優(yōu)先級排列需求,創(chuàng)建可執(zhí)行的發(fā)布計劃,并有信心執(zhí)行和監(jiān)控。
?
五、終于可以開始工作了?
(一)迭代計劃
迭代計劃是階段最明晰的計劃,它將團隊最近階段的所有工作項管理和維護起來。
(二)可視化看板
可視化看板可以讓所有人用最小的成本獲得最關(guān)鍵的信息。看板可以使用物理或線上的方式,但最好部署在公共區(qū)域,不論是領(lǐng)導還是客戶,都可以便捷獲取信息。
(三)燃盡圖
燃盡圖表明了團隊整體工作量的消耗情況,可以不必像傳統(tǒng)方式那樣關(guān)注到團隊每個成員的每一項工作的起止時間,只要關(guān)注團隊工作量的整體消耗情況,就能得知當前進度。

l?課堂筆記
01. 開發(fā)管理流程的重要性
?合理的開發(fā)流程不僅能讓一切有序起來,更是保障成功的關(guān)鍵
02. 敏捷團隊的組成和構(gòu)建
?基于SCRUM的敏捷團隊,由PO、開發(fā)團隊、SM構(gòu)成
?給予足夠授權(quán)、關(guān)注成長是打造高績效團隊的基礎(chǔ)
03. 需求的獲取和工時估算
?頭腦風暴、角色扮演、多觀察
?經(jīng)驗估算、撲克游戲、三點估算
04. 發(fā)布計劃制定和優(yōu)先級
?關(guān)注基本功能,基于價值排列需求優(yōu)先級,并制定迭代發(fā)布計劃
05. 迭代計劃會和可視看板
?通過計劃會向團隊宣布我們開始了,并明確工時和負責人
?使用可視化的手段,讓團隊和他人迅速了解當前情況