日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

农行基于TFS工具的敏捷转型实践

發(fā)布時(shí)間:2023/12/4 编程问答 80 豆豆
生活随笔 收集整理的這篇文章主要介紹了 农行基于TFS工具的敏捷转型实践 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

“春天工程”項(xiàng)目組是應(yīng)用開(kāi)發(fā)二部最早采用敏捷模式的項(xiàng)目組,項(xiàng)目組在項(xiàng)目推進(jìn)過(guò)程中使用Scrum框架,結(jié)合“看板+站會(huì)”形式,積極探索項(xiàng)目推進(jìn)新措施。結(jié)合TFS工具逐步實(shí)現(xiàn)了電子工具與物理看板的有機(jī)融合,并在過(guò)程管理、版本管理、交付質(zhì)量三大方面取得了突破。


物理看板作為“春天工程”項(xiàng)目組日常管理的核心工具,實(shí)現(xiàn)了從“影響地圖”出發(fā)的需求研制與分析,利用“用戶(hù)故事地圖”將需求拆分成用戶(hù)故事及任務(wù),以?xún)芍芤坏念l度交付產(chǎn)品。




截至目前,項(xiàng)目組已完成15輪迭代?!按禾旃こ獭眻F(tuán)隊(duì)依據(jù)自身特點(diǎn),逐步摸索形成更加合理的團(tuán)隊(duì)組織結(jié)構(gòu),并明確了Scrum 主管、產(chǎn)品負(fù)責(zé)人(PO)、產(chǎn)品設(shè)計(jì)負(fù)責(zé)人、開(kāi)發(fā)團(tuán)隊(duì)負(fù)責(zé)人(TL)等角色的職責(zé)定義。


敏捷宣言中有這樣一句話(huà):“個(gè)體和互動(dòng)高于流程和工具”。物理看板有助于團(tuán)隊(duì)的互動(dòng)和協(xié)作,有助于褒優(yōu)貶劣,營(yíng)造競(jìng)爭(zhēng)氛圍。將物理看板置于工作區(qū)內(nèi),所有人高度可見(jiàn),以清晰把控和推進(jìn)工作進(jìn)度。尤其在試點(diǎn)初期,項(xiàng)目組基于項(xiàng)目具體情況,對(duì)看板系統(tǒng)作出變化調(diào)整。項(xiàng)目組在敏捷試點(diǎn)中深刻體會(huì)到物理看板的強(qiáng)大優(yōu)勢(shì)。


為進(jìn)一步節(jié)約人力成本,沉淀歷史數(shù)據(jù),項(xiàng)目組不斷摸索,結(jié)合TFS工具提供的強(qiáng)大功能,逐步實(shí)現(xiàn)了電子工具與物理看板的有機(jī)融合,在工作項(xiàng)、拉入請(qǐng)求、部署工作流等方面持續(xù)研究實(shí)踐,最終通過(guò)七項(xiàng)措施,在過(guò)程管理、版本管理、交付質(zhì)量三大方面取得了新的突破。


成果一:TFS工作項(xiàng)與物理看板相結(jié)合,使過(guò)程管理變得更加容易


物理看板具有易于實(shí)施、直觀靈活、溝通快捷等特點(diǎn),但也存在一些不便:


1.從物理看板上無(wú)法清晰看到用戶(hù)故事與實(shí)施任務(wù)的層級(jí)對(duì)應(yīng)關(guān)系2.已完成的需求和故事歸檔后,在需要復(fù)盤(pán)時(shí)查找起來(lái)比較費(fèi)時(shí)3.過(guò)程數(shù)據(jù)的收集比較困難,需要人工整理便簽并手動(dòng)歸檔4.每輪迭代交付版本時(shí),代碼與故事的對(duì)應(yīng)關(guān)系不夠清晰


為了改進(jìn)上述問(wèn)題,充分發(fā)揮物理看板的優(yōu)勢(shì),項(xiàng)目組啟用了TFS工作項(xiàng)來(lái)管理需求和用戶(hù)故事,在需求、用戶(hù)故事和代碼間建立了清晰的關(guān)聯(lián),過(guò)程數(shù)據(jù)的收集也變得更加容易。


措施一:通過(guò)TFS工作項(xiàng)管理需求和用戶(hù)故事


使用TFS工作項(xiàng)管理需求和用戶(hù)故事后,在積壓工作中,可以清晰的展現(xiàn)需求與故事的對(duì)應(yīng)關(guān)系。通過(guò)累積流圖,可以清晰的統(tǒng)計(jì)出需求與故事的交付情況,便于及時(shí)發(fā)現(xiàn)問(wèn)題,精準(zhǔn)把控迭代進(jìn)度。



每日站會(huì)時(shí),PO會(huì)根據(jù)物理看板上需求和故事的完成情況,拖動(dòng)電子看板上對(duì)應(yīng)工作項(xiàng),及時(shí)更新工作項(xiàng)狀態(tài)。PO只需在TFS中建立簡(jiǎn)單的查詢(xún),迭代評(píng)審回顧會(huì)時(shí)便可及時(shí)統(tǒng)計(jì)出迭代故事的完成情況,無(wú)需再進(jìn)行人工統(tǒng)計(jì)。



需要對(duì)用戶(hù)故事復(fù)盤(pán)時(shí),可以直接按迭代序號(hào),查找出要復(fù)盤(pán)的需求和故事,操作簡(jiǎn)單、且清晰明了。


措施二:通過(guò)TFS工作項(xiàng)實(shí)現(xiàn)代碼關(guān)聯(lián)


通過(guò)TFS工作項(xiàng)維護(hù)需求和用戶(hù)故事以后,開(kāi)發(fā)人員只需輸入工作項(xiàng)ID選擇關(guān)聯(lián)工作項(xiàng),便可實(shí)現(xiàn)用戶(hù)故事和代碼的關(guān)聯(lián)。在構(gòu)建程序版本進(jìn)行分支合并時(shí),也能夠清晰地知道本次提交的代碼實(shí)現(xiàn)了哪些需求及用戶(hù)故事。



成果二:使用代碼庫(kù)和拉取請(qǐng)求,讓版本管理變的清晰有效


項(xiàng)目組前期使用git庫(kù)進(jìn)行代碼管理,遇到以下瓶頸:


1.因項(xiàng)目包含的模塊眾多,開(kāi)發(fā)過(guò)程中測(cè)試版本的匹配相對(duì)模糊2.多人開(kāi)發(fā)的情況下,缺乏便捷的代碼評(píng)審機(jī)制,評(píng)審后難以追溯代碼的修改情況


為了解決上述瓶頸,項(xiàng)目組做了以下實(shí)踐。


措施三:通過(guò)代碼庫(kù)拆分,實(shí)現(xiàn)代碼隔離


項(xiàng)目組按模塊對(duì)代碼庫(kù)進(jìn)行了拆分,將原來(lái)的一個(gè)git庫(kù)拆分為17個(gè)獨(dú)立的git庫(kù),實(shí)現(xiàn)了不同模塊代碼的隔離,便于各模塊獨(dú)立更新代碼,易于版本匹配。同時(shí),基于Master分支分離出測(cè)試分支,實(shí)現(xiàn)開(kāi)發(fā)、測(cè)試、投產(chǎn)代碼的全隔離。



措施四:設(shè)置TFS分支策略,保證代碼評(píng)審簡(jiǎn)單有效


項(xiàng)目組在dev與rel,rel與Master分支間分別設(shè)置TFS拉取請(qǐng)求,在迭代中使用拉取請(qǐng)求的diff功能進(jìn)行代碼評(píng)審。代碼經(jīng)過(guò)評(píng)審并完成集成測(cè)試后合并至rel測(cè)試分支,進(jìn)而完成部署版本的構(gòu)建。


以dev分支為例,當(dāng)開(kāi)發(fā)人員提交本地代碼至dev分支時(shí),在拉入請(qǐng)求中可以清晰的看到上次合并以來(lái)所有的分支提交情況。同時(shí),拉取請(qǐng)求還為代碼評(píng)審工作提供了清晰的對(duì)比界面,在界面中評(píng)審人員可以直接在代碼中添加評(píng)審意見(jiàn),并設(shè)置意見(jiàn)的狀態(tài)。代碼的作者或其他評(píng)審人員可以直接對(duì)意見(jiàn)進(jìn)行回復(fù)。程序作者可以根據(jù)實(shí)際情況把評(píng)審問(wèn)題的狀態(tài)置為“已解決”、“不是問(wèn)題”、“已關(guān)閉”等。



結(jié)合TFS分支策略,強(qiáng)制要求代碼經(jīng)過(guò)評(píng)審且審閱者批準(zhǔn)后才能完成拉取請(qǐng)求,進(jìn)行分支合并操作,保證了代碼的質(zhì)量。



措施五:建立BUG分支,通過(guò)拉取請(qǐng)求實(shí)現(xiàn)問(wèn)題修復(fù)


在測(cè)試過(guò)程中遇到問(wèn)題時(shí),項(xiàng)目組會(huì)基于測(cè)試分支(rel分支)新建一個(gè)BUG分支,BUG修復(fù)完成后提交至測(cè)試分支時(shí)創(chuàng)建一個(gè)拉取請(qǐng)求,通過(guò)拉取請(qǐng)求將修復(fù)后的代碼提交至REL分支。代碼歸并至rel分支后,通過(guò)diff將完成修復(fù)的代碼回退至dev分支,保證各環(huán)境代碼版本的準(zhǔn)確無(wú)誤。


成果三:利用TFS部署工作流,提高交付質(zhì)量和頻率


在部署過(guò)程中,項(xiàng)目組陸續(xù)發(fā)現(xiàn)了以下不便:

1、開(kāi)發(fā)、測(cè)試和投產(chǎn)代碼構(gòu)建缺乏隔離機(jī)制,可能會(huì)將開(kāi)發(fā)中未經(jīng)測(cè)試的代碼帶入生成分支;


2、項(xiàng)目組前期采用的是IDE手動(dòng)構(gòu)建WAR包,部署三個(gè)模塊耗時(shí)較多,影響項(xiàng)目組的開(kāi)發(fā)效率。


措施六:先隔離再歸并,持續(xù)集成,實(shí)現(xiàn)部署過(guò)程自動(dòng)化


為優(yōu)化部署流程,項(xiàng)目各模塊在自己的git庫(kù)中通過(guò)拉取請(qǐng)求將迭代完成的代碼匹配成正確的版本,歸并至rel分支,同時(shí)觸發(fā)自動(dòng)構(gòu)建和自動(dòng)部署,持續(xù)集成,保證了發(fā)布版本的正確性。部署過(guò)程自動(dòng)化,釋放了人力成本,保證了版本正確,提高了部署效率。



措施七:利用儀表盤(pán)功能,便于查看每日構(gòu)建及部署完成情況


項(xiàng)目組rel分支自動(dòng)構(gòu)建和部署的基礎(chǔ)上,對(duì)dev分支配置了每日構(gòu)建和部署,并在項(xiàng)目首頁(yè)添加了構(gòu)建情況一覽,可以清晰的看到每日構(gòu)建的完成情況。



總結(jié)


通過(guò)上述七項(xiàng)措施,春天工程項(xiàng)目組實(shí)現(xiàn)了需求和用戶(hù)故事的的電子化跟蹤,結(jié)合物理看板的使用,項(xiàng)目進(jìn)度有了清晰的把控,度量數(shù)據(jù)的收集變得更加容易。通過(guò)代碼庫(kù)的拆分、需求及故事同代碼的關(guān)聯(lián)、TFS拉取請(qǐng)求及分支策略的運(yùn)用,項(xiàng)目組建立了代碼版本管理機(jī)制。通過(guò)自動(dòng)構(gòu)建及部署流水線的運(yùn)用,提高了團(tuán)隊(duì)的持續(xù)集成和交付能力。


項(xiàng)目管理辦公室與應(yīng)用開(kāi)發(fā)二部密切協(xié)作,持續(xù)深化產(chǎn)品經(jīng)理思維,努力實(shí)現(xiàn)任務(wù)驅(qū)動(dòng)型團(tuán)隊(duì)向自組織團(tuán)隊(duì)轉(zhuǎn)變。目前應(yīng)用開(kāi)發(fā)二部敏捷試點(diǎn)項(xiàng)目已推廣至8個(gè),每個(gè)項(xiàng)目根據(jù)自身特點(diǎn),增加電子看板試點(diǎn),結(jié)合影響地圖、用戶(hù)故事地圖、TFS、AXURE等一系列方法和工具,不斷探索改進(jìn),團(tuán)隊(duì)分工更加明確,組織結(jié)構(gòu)更加合理,研發(fā)效率穩(wěn)步提升。



我們將會(huì)繼續(xù)探索實(shí)踐,堅(jiān)持總結(jié)分享,希望所有試點(diǎn)團(tuán)隊(duì)能夠少走彎路,盡快找到適合自己的敏捷模式。


原文地址:https://mp.weixin.qq.com/s/0uwqLiyGBcQ1sY4AQhPMmg


.NET社區(qū)新聞,深度好文,歡迎訪問(wèn)公眾號(hào)文章匯總 http://www.csharpkit.com

總結(jié)

以上是生活随笔為你收集整理的农行基于TFS工具的敏捷转型实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。