準(zhǔn)備把敏捷管理的專(zhuān)題在今年完成,主要談一下Atlassian的實(shí)踐,先做一下搬運(yùn)工,講去年寫(xiě)的兩篇弄過(guò)來(lái)。
Dream big, work smart, deliver fast
使用Atlassian的產(chǎn)品已經(jīng)有三年多,但是大部分主要以JIRA和Confluence為主,2015年年初加入一創(chuàng)業(yè)團(tuán)隊(duì)負(fù)責(zé)技術(shù)團(tuán)隊(duì)的搭建,從零開(kāi)始通過(guò)部署Atlassian產(chǎn)品、制定開(kāi)發(fā)流程,由于創(chuàng)業(yè)團(tuán)隊(duì)人手不夠,自身也參與了大部分的開(kāi)發(fā)工作,開(kāi)始有一些考慮不周的地方,隨著工作的展開(kāi)不斷調(diào)整,通過(guò)半年的努力也引來(lái)了第一輪的投資,可能創(chuàng)始人國(guó)企非技術(shù)出生背景的關(guān)系,在對(duì)技術(shù)團(tuán)隊(duì)的價(jià)值看待上分歧很大,最后還是選擇了離開(kāi)。機(jī)緣巧合,馬上又加入了另外一個(gè)創(chuàng)業(yè)團(tuán)隊(duì),依然主要負(fù)責(zé)技術(shù)團(tuán)隊(duì)的搭建。這次吸取了之前碰到的一些經(jīng)驗(yàn)進(jìn)行改進(jìn),并且加入其他一些想法。下面主要就這兩次經(jīng)歷,簡(jiǎn)單談一下Atlassian的使用經(jīng)驗(yàn),可能還有不少問(wèn)題存在,還請(qǐng)各位大牛指點(diǎn)!
目前我們使用的Atlassian產(chǎn)品
JIRA:用來(lái)做項(xiàng)目管理、流程控制、缺陷跟蹤、版本管理等
JIRA Agile:JIRA的插件,主要用來(lái)做Scrum敏捷管理
Confluence:團(tuán)隊(duì)協(xié)作工具,文檔管理,任務(wù)管理,資源管理
Fisheye + Crucible:用于做代碼評(píng)審
Bamboo:用于構(gòu)建持續(xù)交付的測(cè)試環(huán)境
HipChat : 用于團(tuán)隊(duì)溝通,主要看中可以整合JIRA和Confluence等的實(shí)時(shí)提醒
其他工具
SVN:代碼版本庫(kù)
Nexus:私有的Maven倉(cāng)庫(kù),通過(guò)VPN快速下載JAR包(天朝網(wǎng)絡(luò)大家都懂的)
產(chǎn)品安裝
安裝過(guò)程比較簡(jiǎn)單,這里不加贅述,主要說(shuō)一些可能要注意的點(diǎn)(大家若在安裝中有疑問(wèn)問(wèn)題,歡迎留言交流):
- 由于用戶不多,這里沒(méi)有使用Crowd做統(tǒng)一用戶管理,所有用戶都使用JIRA的用戶管理,因此先安裝JIRA,然后再安裝其他的產(chǎn)品,并將用戶管理配置到JIRA的服務(wù)器上。
- 默認(rèn)的安裝包中不包含mysql的驅(qū)動(dòng),需要自己復(fù)制到lib目錄下,并重啟服務(wù)
- Bamboo單獨(dú)安裝一臺(tái)服務(wù)器,作為持續(xù)交付的測(cè)試服務(wù)器。(具體的部署機(jī)器的分配視具體配置和資源使用而定)
產(chǎn)品使用
我們采用Scrum的敏捷管理模式,達(dá)到快速迭代的效果。下面通過(guò)從產(chǎn)品設(shè)計(jì)開(kāi)始到開(kāi)發(fā)、測(cè)試的過(guò)程描述整個(gè)軟件過(guò)程中產(chǎn)品的使用方法
準(zhǔn)備工作
: JIRA中創(chuàng)建Project,每個(gè)Project管理一個(gè)產(chǎn)品
: 修改流程,增加Code Review步驟
: Confluence中創(chuàng)建對(duì)應(yīng)的Team Space
: SVN中創(chuàng)建項(xiàng)目版本庫(kù),并在Fisheye中配置該庫(kù)
: Bamboo所在機(jī)器上安裝Maven、Java、Tomcat、Nodejs等需要的產(chǎn)品運(yùn)行環(huán)境,并將Maven的倉(cāng)庫(kù)路徑配置到我們的Nexus服務(wù)器所在位置
: 為JIRA、Confluence等根據(jù)需要配置郵件提醒
產(chǎn)品設(shè)計(jì)(Confluence)
: 產(chǎn)品經(jīng)理在Confluence中完成所有產(chǎn)品設(shè)計(jì),編寫(xiě)產(chǎn)品需求文檔,每個(gè)產(chǎn)品需求文檔為一個(gè)Epic、多個(gè)Story(新版Confluence支持在Confluence中直接創(chuàng)建JIRA的Issue,非常便捷)
: 為達(dá)到快速迭代的預(yù)期,每個(gè)Epic的開(kāi)發(fā)測(cè)試的周期盡量控制在1個(gè)月,其中具體執(zhí)行分2-4個(gè)Sprint完成開(kāi)發(fā)。
: 附上產(chǎn)品設(shè)計(jì)原型
會(huì)議紀(jì)要(Confluence)
: 產(chǎn)品設(shè)計(jì)完成后,需要經(jīng)過(guò)多次迭代修改,最終定稿,所有會(huì)議內(nèi)容需要記錄和轉(zhuǎn)換任務(wù)
: 每次會(huì)議前創(chuàng)建會(huì)議頁(yè)面,并指定參加者和編寫(xiě)會(huì)議討論內(nèi)容,只要配置過(guò)confluence的郵件提醒,會(huì)給參與者發(fā)送郵件提示。
: 會(huì)議過(guò)程中實(shí)時(shí)記錄會(huì)議討論結(jié)果或轉(zhuǎn)化的后續(xù)任務(wù),并設(shè)定任務(wù)的執(zhí)行人和截止時(shí)間,用于跟蹤任務(wù)情況
開(kāi)發(fā)預(yù)估(JIRA + JIRA Agile)
: 完成產(chǎn)品設(shè)計(jì)后,開(kāi)發(fā)經(jīng)理在JIRA Agile中對(duì)Epic中包含的Story先做Story Point評(píng)估,有需要再分割的任務(wù)創(chuàng)建Sub-Task并分配具體執(zhí)行人。
: 同步進(jìn)行UI設(shè)計(jì)和實(shí)體設(shè)計(jì)
沖刺制定(JIRA + JIRA Agile)
: 完成開(kāi)發(fā)預(yù)估之后,開(kāi)始執(zhí)行階段沖刺(我們采用1-2周一個(gè)沖刺),根據(jù)評(píng)估進(jìn)行分配。
: 每次沖刺結(jié)束后,需要?jiǎng)?chuàng)建沖刺回顧文檔,分析本次沖刺中好的部分和做得不夠的部分,以指導(dǎo)下一次沖刺指定的標(biāo)準(zhǔn)
持續(xù)交付(Fisheye + Crucible + Bamboo)
: 沖刺制定之后,進(jìn)入開(kāi)發(fā)階段,開(kāi)發(fā)人員的代碼提交,通過(guò)Crucible完成Code review
: Bamboo構(gòu)建策略采用定時(shí)構(gòu)建,我們?cè)O(shè)置在晚上12點(diǎn)進(jìn)行構(gòu)建,從SVN中檢出代碼,跑單元測(cè)試,打包,自動(dòng)部署到Tomcat上,并發(fā)送構(gòu)建報(bào)告給項(xiàng)目成員,第二天產(chǎn)品經(jīng)理和測(cè)試人員就可以通過(guò)測(cè)試環(huán)境對(duì)完成的任務(wù)進(jìn)行測(cè)試,若發(fā)現(xiàn)問(wèn)題,則進(jìn)入JIRA創(chuàng)建BUG,待后續(xù)迭代修正
產(chǎn)品購(gòu)買(mǎi)渠道
通過(guò)CSDN購(gòu)買(mǎi):http://atlassian.csdn.net , 入門(mén)版本為99¥
通過(guò)Atlassian官網(wǎng)購(gòu)買(mǎi):https://www.atlassian.com, 入門(mén)版本為10$
相比之下,官網(wǎng)更便宜一些,第一次搭建的時(shí)候在CSDN購(gòu)買(mǎi),后來(lái)發(fā)現(xiàn)了后者,第二次搭建的時(shí)候部分產(chǎn)品在官網(wǎng)購(gòu)買(mǎi)了,相差不大,大家自己考慮咯。
總結(jié)
本文主要描述一下各個(gè)產(chǎn)品在我們目前團(tuán)隊(duì)的過(guò)程管理中起到的作用,可能真正用的時(shí)候讀者還會(huì)有不少疑問(wèn)和不解的地方,歡迎留言交流,后續(xù)有空時(shí)候針對(duì)每個(gè)產(chǎn)品再詳細(xì)寫(xiě)一些經(jīng)驗(yàn)分享。比如:Bamboo的中文資料一直很少,可能對(duì)初次使用有一些迷惑。