大話項目管理工具之Jira篇
來源:程序員人生 發(fā)布時間:2014-09-09 23:16:56 閱讀次數(shù):6360次
前言
上一篇文章談的是知識管理工具 ―― Confluence,它來自澳大利亞 Atlassian 公司。很湊巧的是,今天要介紹的 JIRA 也是來自 Atlassian 公司的。但他不再是知識管理工具了,而是項目與事務(wù)跟蹤工具,被廣泛應(yīng)用于缺陷跟蹤、客戶服務(wù)、需求收集、流程審批、任務(wù)跟蹤、項目跟蹤和敏捷管理等工作領(lǐng)域。
背景
在談 JIRA 之前,就不得不說說敏捷開發(fā)了。正式由于項目是基于敏捷開發(fā)進行的,因此才引入了 JIRA 這款適合于敏捷開發(fā)的項目管理工具。當然,這里不會大篇章的介紹敏捷開發(fā),之前的文章有詳細講過《敏捷開發(fā)系列終極之旅》。這里簡單的再回憶一下敏捷開發(fā)的流程。
流程
說到敏捷開發(fā),也是近幾年很流行的軟件開發(fā)模式。而在敏捷開發(fā)中,又分了很多種。在我們的開發(fā)過程中,選擇的是 Scrum 。Scrum是一種靈活的軟件管理過程,它可以幫助駕馭迭代、遞增的軟件開發(fā)過程,主要用于產(chǎn)品開發(fā)或工作管理。
Scrum敏捷開發(fā),是對流程控制比較嚴格的。每個環(huán)節(jié)都有一套完整的過程和嚴格的時間控制,我們項目組的主要開發(fā)過程如下圖所示:
介紹
了解了敏捷開發(fā) Scrum 的流程之后,我們再來談?wù)?JIRA 。正如前邊所說,JIRA 是一款優(yōu)秀的問題跟蹤及管理工具。JIRA 采用 J2EE 技術(shù),能夠跨平臺部署。當然,對我們來說,他還有最重要的一個功能,就是協(xié)助管理敏捷開發(fā),在經(jīng)過 Sprint 計劃會議之后,產(chǎn)品經(jīng)理把討論好的 Sprint 任務(wù)列表添加到 JIRA 的 Story 中。而且都包含著開發(fā)的具體業(yè)務(wù),開發(fā)用時,技術(shù)難度等。組員們可以去
JIRA 上隨意選擇自己喜歡的任務(wù)領(lǐng)取。于是,就開始了一次開發(fā)迭代。
功能
考慮到 JIRA 的安裝和配置都比較簡單,而且網(wǎng)上也有很多這方面的教程,這里就不再贅述了。這里推薦一篇文章,就是講 JIRA 的安裝和配置《 jira5.0+greenhopper6.1.6的安裝》。當然我這里也有一份比較詳細的教程,是項目開發(fā)時用于培訓的,由于篇幅比較多,就不再博客上貼了,有需要的聯(lián)系我就行。這里,我打算選幾個重要的功能跟大家說一下。
安裝好 JIRA 之后,需要首先創(chuàng)建一個項目,這里我們以權(quán)限系統(tǒng)為例。簡單的介紹一下新項目的添加以及設(shè)置。
項目添加好之后,JIRA 默認的是 Bug 類型,而我們要進行的是管理敏捷開發(fā)流程,因此需要對應(yīng)于敏捷開發(fā)中的 Task,這就需要手動的修改一下默認的 Issue 及 Issue 的順序。
JIRA 是基于工作流進行的,而且他也提供了很強大的工作流管理。JIRA 提供的默認工作流為五個狀態(tài):Open,Close,Resolve,In Progress,ReOpen。而我們真正使用的時候,這幾個狀態(tài)往往滿足不了需求,例如,一個正在進行的任務(wù),突然發(fā)現(xiàn)不符合條件進行,需要掛起,那么應(yīng)該放到哪個里面呢?
GreenHopper看板上面會把Story,Task,Sub-Task等都列上來,而對于Story和Task在我們的思路里,是不希望它們是一樣的處理流程,例如,對于Story我們只希望它從Open到Resolve或Close即可,不需要進入In Progress。基于這些問題,我們需要自己創(chuàng)建一個適合我們項目開發(fā)的工作流。
而 JIRA 正是提供了自定義的工作流,讓你自己去設(shè)置工作流,以滿足工作的需要。下面來看一下具體的配置。
首先,把默認工作流中用不到的狀態(tài)去掉,然后保存。
到此處為止,我們就把不需要的狀態(tài)已經(jīng)刪除了。當然,為了完成我們自己的工作流,還需要添加一個狀態(tài)。
到這里,自定義工作流就完成了。接下來還需要在配置一下工作流方案,這里就不再一 一介紹了,有需要的找我就好。
感受
由于之前的項目中,也用過一款國內(nèi)的項目管理工具 ―― 禪道,不過對于敏捷開發(fā)來說,基于 Scrum 的理念、開發(fā)流程等,總覺得禪道有些不合適(個人感覺),不可否認,禪道已經(jīng)做的很好了,只是感覺不適合我們這個敏捷開發(fā)的項目罷了,各位勿噴。而熟悉了 JIRA 之后,發(fā)現(xiàn) JIRA 更適合敏捷開發(fā)。
在 JIRA 的設(shè)計理念中,就存在對 Scrum 的一系列支持。當你開始一次迭代時,JIRA 會幫你記錄任何一個時間點,由 待辦 → 處理中 → 掛起 → 完成 。這幾個狀態(tài)可以相互轉(zhuǎn)換,根據(jù)具體的條件、具體的任務(wù)、具體的環(huán)境相互轉(zhuǎn)換。沒完成一個狀態(tài)時,都會有詳細的記錄。而且,JIRA 還會記錄每個人的工作量,統(tǒng)計每個組員完成的任務(wù)量。這在績效考核中也是很重要的一部分。
結(jié)束語
通過 JIRA,使得我們能夠快速的實施敏捷開發(fā),自動化的管理敏捷開發(fā)中的各個環(huán)節(jié),使我們能夠把精力集中到業(yè)務(wù)的實現(xiàn)、技術(shù)點的攻克上。而且,有了 JIRA,在敏捷開發(fā)中,組員之間的相互協(xié)作也更加高效,不會再出現(xiàn)“有人忙得要死,有人閑的要死”的局面了。任務(wù)進行的條件無法滿足時,可以先把任務(wù)掛起,重新開一個新的任務(wù),當前一個任務(wù)滿足條件時,再重新激活。
在我看來,敏捷開發(fā)就是把任務(wù)簡化,把任務(wù)細化。然后把開發(fā)時間精細到每個任務(wù),在最短的時間內(nèi)集中精力完成任務(wù)。這也是為什么敏捷開發(fā)不提倡加班的原因。重要的不是敏捷開發(fā)的過程,而是敏捷開發(fā)的思想。
JIRA,不僅僅是一款項目管理工具,同時也代表了一種敏捷開發(fā)的思想。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈