敏捷開發管理在我司的實踐
我們研發團隊(產品、研發、測試)規模30多,網際網路電商,快速成長中。
就個人經驗來看,技術主管的管理能力絕對達到一定水平,團隊研發管理井井有條,很有效率(基於已有積累,很快速的一個月上線新產品,快速迭代完成產品需求)。下面就結合我所見所聞,結合SCRUM的理論,結合我們公司來進行描述,一邊反觀一邊學習先進的管理的理念和配套工具、流程規範。
目前採用的是Visual Studio Team Foundation Server,作為scrum的工具。
Scrum 是一個用於開發和維持複雜產品的框架 ,是一個增量的、迭代的開發過程。在這個框架中,整個開發過程由若干個短的迭代週期組成,一個短的迭代週期稱為一個Sprint,每個Sprint的建議長度是2到4周(網際網路產品研發可以使用1周的Sprint)。
在Scrum中,使用產品Backlog來管理產品的需求,產品backlog是一個按照商業價值排序的需求列表,列表條目的體現形式通常為使用者故事。Scrum團隊總是先開發對客戶具有較高價值的需求。在Sprint中,Scrum團隊從產品Backlog中挑選最高優先順序的需求進行開發。挑選的需求在Sprint計劃會議上經過討論、分析和估算得到相應的任務列表,我們稱它為Sprint backlog。在每個迭代結束時,Scrum團隊將遞交潛在可交付的產品增量。 Scrum起源於軟體開發專案,但它適用於任何複雜的或是創新性的專案。
Scrum流程如下圖:
Scrum框架包括3個角色、3個工件、5個事件、5個價值、4個支柱
3個角色
Scrum團隊中包括三個角色,他們分別是:
- 產品負責人
- 開發團隊
- Scrum Master
我司有專職產品2名,兼職產品2名(架構和Scrum Master兼)。
開發團隊人數28(全員),分為的數個行政管理單元:開發一組、開發二組、開發三組、測試組、前端組。就人員配置看,每組開發組人員2-6人規模不等,是由最開始的一個組分裂成的(人員規模擴大)。
Scrum Master,數年電商和技術管理經驗,srum理念的推動者。
3個工件
- 產品Backlog(Product Backlog)
- SprintBacklog
- 產品增量(Increment) 產品作為產品Backlog的生產者,對產品負責,使用sftp方式對外交付原型設計,做產品和測試依據,迭代。 SprintBacklog,按周定義衝刺,衝刺內容為產品Backlog的拆分項,通常按照:原型設計、UI設計、ERP設計及review、程式碼實現、測試、釋出來進行。
5個事件
5個價值
在我司主要體現在:
1、KPI的考核上。主要原則:積壓工作會列入每月的考核,需要完成,若不能完成需給出合理理由,靈活控制。
2、周例會看板及看板許可權的開放;
3、平等對話。
4、開放的知識庫。
5、相互協助。
4個支柱
我司對迭代的運用較為深化,主要表現在:
1、產品原型設計是快速生產的,所以允許修改和完善,等於在一個產品迭代週期內,原型是會被小優化迭代的,不限於開發階段、測試階段、上線後。
2、程式碼研發和測試本身就是一個迭代。
增量交付方面:
1、研發組內,我主導的持續釋出,研發持續交付程式碼到測試,測試反饋直到符合釋出條件。
2、公司級內,某個產品的第一期迭代上線交付,第N期上線交付。
自組織團地方面:
1、我們採用的矩陣方式進行人員管理和配置。簡單說,按職能分小組成為一個行政體質上的管理單元,小組長負責成員考核,但是在開發任務迭代中,則是由不同小組抽調的人員組成專案組來完成工作。針對具體任務主要基調是前端抽調和測試抽調+某開發小組(人員較為固定)。
不學習不知道,原來管理還是很多門道。如果我作為一個scrum master角色,需要學習的會有很多內容。我是從公司創立初期就進入,見證了scrum由最初團隊成員不理解、忽略,在scrum master不斷的宣傳、督促下,研發團隊的日常運作和微軟Scrum管理工具TFS融合起來,對技術管理者的管理能力,服!有幸協助master對TFS的自定義模版進行配置,所以延伸瞭解了微軟在Scrum配置管理的一些內容,作為測試對整個管理結構進行梳理,提高。