作為一個開發(fā)人員,我們也該懂一些項目管理的知識,今天我們來講一個基于Scrum的項目管理工具禪道。本文將從禪道的安裝部署開始講起,然后講講Scrum的核心概念,最后通過禪道的一套操作來實踐下Scrum的開發(fā)流程。
禪道簡介
禪道由青島易軟天創(chuàng)網(wǎng)絡(luò)科技有限公司開發(fā),國產(chǎn)開源項目管理軟件。它集產(chǎn)品管理、項目管理、質(zhì)量管理、文檔管理、組織管理和事務(wù)管理于一體,是一款專業(yè)的研發(fā)項目管理軟件,完整覆蓋了研發(fā)項目管理的核心流程。禪道項目管理軟件的主要管理思想基于國際流行的敏捷項目管理方法—Scrum。Scrum方法注重實效,操作性強,非常適合軟件研發(fā)項目的快速迭代開發(fā)。禪道在遵循其管理方式基礎(chǔ)上,結(jié)合國內(nèi)研發(fā)現(xiàn)狀,整合了Bug管理,測試用例管理,發(fā)布管理,文檔管理等功能,完整的覆蓋了軟件研發(fā)項目的整個生命周期。
安裝及部署
禪道的安裝方式有很多,這里我們使用它在Docker環(huán)境下的安裝方式。
- 下載禪道的Docker鏡像:
docker pull idoop/zentao:latest
- 在Docker容器中運行禪道:
docker run -d -p 80:80 -p 4306:3306 --name zentao-server -e ADMINER_USER="admin" -e ADMINER_PASSWD="123456" -e BIND_ADDRESS="false" -v /mydata/zbox/:/opt/zbox/ --add-host smtp.exmail.qq.com:163.177.90.125 -d idoop/zentao:latest
- 啟動參數(shù)說明:
- ADMINER_USER:管理員賬號;
- ADMINER_PASSWD:管理員密碼;
- BIND_ADDRESS:若設(shè)置參數(shù)為"false",禪道數(shù)據(jù)庫啟動后允許遠程訪問,選填;
- SMTP_HOST:設(shè)置smtp服務(wù)IP和主機名,用于解決無法發(fā)送郵件的問題。
- 安裝成功后,訪問該地址即可登錄禪道系統(tǒng),登錄用戶名和密碼為admin:123456:http://192.168.6.132/
Scrum的核心概念
敏捷開發(fā)的產(chǎn)生
我們比較熟知的軟件項目管理方法是瀑布,其基本流程是需求->設(shè)計->開發(fā)->測試。基本假設(shè)只要每個環(huán)節(jié)都做正確,那么終得到的結(jié)果也是正確的。但從總體來講,瀑布項目失敗率比較高。國外的軟件先行者們針對瀑布開發(fā)中暴露出來的問題進行了一系列的探索、思考和總結(jié),最終提出了敏捷開發(fā)的概念。敏捷開發(fā)有很多種方式,其中Scrum是比較流行的一種。
Scrum中的角色
Scrum是由產(chǎn)品經(jīng)理(product owner)、項目經(jīng)理(scrum master)和研發(fā)團隊(dev team)組成的。
- 其中產(chǎn)品經(jīng)理負責整理用戶故事(user story),定義其商業(yè)價值,對其進行排序,制定發(fā)布計劃,對產(chǎn)品負責;
- 項目經(jīng)理負責召開各種會議,協(xié)調(diào)項目,為研發(fā)團隊服務(wù);
- 研發(fā)團隊則由不同技能的成員組成,通過緊密協(xié)同,完成每一次迭代的目標,交付產(chǎn)品。
這里我們講下什么是用戶故事:所謂用戶故事,就是來描述一件事情,作為什么用戶,希望如何,這樣做的目的或者價值何在,這樣有用戶角色,有行為,也有目的和價值所在,非常方便與團隊成員進行溝通。
Scrum中的迭代開發(fā)
與瀑布不同,Scrum將產(chǎn)品的開發(fā)分解為若干個小迭代(sprint),其周期從1周到4周不等,但不會超過4周。參與的團隊成員一般是5到9人,每期迭代要完成的用戶故事是固定的,每次迭代會產(chǎn)生一定的交付。
Scrum的基本流程
Scrum的基本流程如上圖所示:
- 產(chǎn)品經(jīng)理負責整理用戶故事,形成左側(cè)的產(chǎn)品訂單(product backlog);
- 發(fā)布計劃會議:項目經(jīng)理負責講解用戶故事,對其進行估算和排序,發(fā)布計劃會議的產(chǎn)出就是制定出這一期迭代要完成的用戶故事列表,即迭代訂單(sprint backlog);
- 迭代計劃會議:項目團隊對每一個用戶故事進行任務(wù)分解,分解的標準是完成該用戶故事的所有任務(wù),最終每個任務(wù)都有明確的負責人,并完成工時的初估計;
- 每日例會:每天項目經(jīng)理召集站立會議,團隊成員回答昨天做了什么,今天計劃做什么,遇到了什么問題;
- 演示會議:迭代結(jié)束之后,召開演示會議,相關(guān)人員都受邀參加,團隊負責向大家展示本次迭代取得的成果。期間大家的反饋記錄下來,由產(chǎn)品經(jīng)理整理,形成新的用戶故事;
- 回顧會議:項目團隊對本期迭代進行總結(jié),發(fā)現(xiàn)不足,制定改進計劃,下一次迭代繼續(xù)改進,已達到持續(xù)改進的效果。
禪道使用
接下來我們將按角色來講講如何使用禪道來實現(xiàn)基于Scrum的項目管理。
管理員
禪道安裝成功之后,管理員的第一件要做的事情就是設(shè)置部門結(jié)構(gòu),并添加用戶賬號。
- 通過組織->用戶->維護部門可以為企業(yè)添加部門結(jié)構(gòu):
- 通過組織->用戶->添加用戶可以為企業(yè)添加用戶:
- 注意添加用戶是需要添加職位和權(quán)限分組的:
- 這里我們添加了產(chǎn)品經(jīng)理、項目經(jīng)理、研發(fā)主管、測試主管四個賬號以便下面使用。
產(chǎn)品經(jīng)理
產(chǎn)品經(jīng)理對于公司來講,至關(guān)重要。只有做出好的產(chǎn)品或者服務(wù)出來,才能贏得市場,謀求發(fā)展和生存。下面我們用產(chǎn)品經(jīng)理的賬號登錄,來演示下產(chǎn)品經(jīng)理在敏捷開發(fā)中所要做的事情。
- 通過產(chǎn)品左上角的下拉菜單可以添加產(chǎn)品:
- 添加產(chǎn)品時需要完善相關(guān)信息:
- 添加完產(chǎn)品后產(chǎn)品經(jīng)理可以通過產(chǎn)品->需求->維護模塊來創(chuàng)建產(chǎn)品的模塊:
- 在相應(yīng)模塊中通過產(chǎn)品->需求->提需求可以創(chuàng)建需求:
- 之后可以完善需求的信息并進行創(chuàng)建:
- 創(chuàng)建完需求后還需要對需求進行評審操作,只有評審?fù)ㄟ^的需求才會由項目經(jīng)理進行任務(wù)分解,從而轉(zhuǎn)為為開發(fā)任務(wù)指派給開發(fā)團隊:
- 評審時選擇評審結(jié)果為確認通過后該需求就會被激活了:
- 當然產(chǎn)品經(jīng)理也可以對當前的需求進行變更操作,但是變更完的需求需要開發(fā)團隊確認后才能進行后續(xù)開發(fā);
- 產(chǎn)品經(jīng)理還可以創(chuàng)建計劃,規(guī)定需求的完成時間:
- 完善計劃信息時,主要是要完善計劃的開始和截止時間:
- 可以通過關(guān)聯(lián)需求,指定此次產(chǎn)品計劃需要完成的需求:
項目經(jīng)理
項目經(jīng)理主要負責管理開發(fā)團隊,將產(chǎn)品經(jīng)理的需求講解給開發(fā)團隊聽,確定項目要完成的需求列表,對需求進行任務(wù)分解并指派給開發(fā)團隊,以及各種會議的組織。下面我們用項目經(jīng)理的賬號登錄,來演示下項目經(jīng)理在敏捷開發(fā)中所要做的事情。
- 在禪道中項目其實對應(yīng)的是敏捷開發(fā)里面的迭代的概念,項目經(jīng)理首先需要創(chuàng)建一個項目:
- 創(chuàng)建時需要完善項目信息,設(shè)定項目開發(fā)時間以及關(guān)聯(lián)相關(guān)產(chǎn)品與計劃:
- 接下來項目經(jīng)理要做的就是創(chuàng)建項目團隊,可以通過項目->團隊->團隊管理來為項目團隊添加成員:
- 項目團隊組建完畢之后,項目經(jīng)理通過關(guān)聯(lián)產(chǎn)品即可將項目和產(chǎn)品進行關(guān)聯(lián):
- 然后通過關(guān)聯(lián)需求即可確定當前項目要做的需求,可以選擇關(guān)聯(lián)需求或按計劃關(guān)聯(lián)需求:
- 需求確定之后,項目中幾個關(guān)鍵的因素都有了:周期確定、資源確定、需求確定。下面項目經(jīng)理要做的事情就是為每一個需求做任務(wù)分解:
- 任務(wù)分解時需要完善任務(wù)詳情,明確任務(wù)的執(zhí)行時間:
- 這里把商品管理功能這個需求分解為了商品列表、添加商品和編輯商品三個任務(wù)并指派給了開發(fā)人員。
開發(fā)團隊
項目的任務(wù)分解完畢之后,開發(fā)團隊成員需要領(lǐng)取自己的任務(wù),開始每天的開發(fā)。除了日常的編碼工作之外,還應(yīng)當每天花點時間在禪道里面更新下任務(wù)的狀態(tài)以及消耗情況。下面我們用開發(fā)人員的賬號登錄,來演示下開發(fā)人員在敏捷開發(fā)中所要做的事情。
- 首先開發(fā)人員需要找到自己需要完成的任務(wù),從項目->任務(wù)中可以查看到指派給自己的任務(wù):
- 開發(fā)人員開始做任務(wù)時點擊開始按鈕,完成任務(wù)時點擊完成按鈕:
- 任務(wù)開始時需要填寫自己的預(yù)計剩余時間,最初預(yù)計工時可以在編輯任務(wù)里設(shè)置:
- 任務(wù)完成時需要填寫自己的本次消耗時間:
- 物理介質(zhì)的看板比較直觀,是Scrum標準的管理工具,禪道里面也有一個電子看板:
- 當項目的任務(wù)都完成以后,開發(fā)人員可以創(chuàng)建版本:
- 完善完版本信息后即可創(chuàng)建版本:
- 有了版本以后,才可以根據(jù)當前版本創(chuàng)建測試單:
- 創(chuàng)建測試單需要完善版本、負責人、名稱等信息:
測試團隊
測試團隊是項目質(zhì)量的保證,測試團隊主要負責對項目的版本進行測試,提出Bug指派給開發(fā)人員,開發(fā)人員解決Bug后對Bug進行驗證并關(guān)閉。下面我們用測試人員的賬號登錄,來演示下測試人員在敏捷開發(fā)中所要做的事情。
- 測試人員開始測試時,需要把測試單狀態(tài)設(shè)置為進行中:
- 測試人員可以在測試->Bug中提出測試過程中發(fā)現(xiàn)的Bug:
- 需要完善BUG信息并指派給相應(yīng)開發(fā)人員:
- 當開發(fā)人員解決完Bug后可以把Bug標記為已經(jīng)解決:
- 此時該Bug會自動指派給測試人員,測試人員確認已經(jīng)解決后可以關(guān)閉該問題,如未解決,可以激活該問題。
總結(jié)
我們通過在禪道里面的一系列操作完整地演示了一套基于Scrum敏捷開發(fā)流程,其實所有角色的職責可以用下圖來概況。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。