項目結束,休一個長假,從忙碌中停下來才發(fā)現(xiàn)秸应,身體的困乏無法掩飾思想的空洞,所以半夜爬起來(估計是下午茶喝多了腌且,人還是不能太安逸)。
上個項目是我這次換工作的第一個項目榛瓮,我的角色是Tech Lead铺董,這個項目依舊保持了90%項目的特點,時間緊禀晓,任務重精续,新建團隊。幸好這個項目比較大粹懒,有兩個scrum team, 所以有兩個Tech Lead,我們根據(jù)各自的特長進行分工重付。這次是我第一次以Tech Lead的角色進入項目,所以有很多做的不足凫乖,希望通過這次總結能對Tech Lead有新的認識确垫。
Tech Lead的職責:
Scrum 團隊在Tech Lead的選擇上一般會選擇經(jīng)驗豐富弓颈,技術熟練的開發(fā)人員來擔任,只從字面來看删掀,Tech=技術上有所長翔冀,Lead=管理上有建樹
目前我整理了Tech Lead的三個主要職責:1.技術決策,2.流程管控爬迟,3.連接橘蜜。
技術決策
根據(jù)我們在上一個項目的經(jīng)驗來看, Tech Lead要負責項目開發(fā)生命周期中所有技術相關的問題菊匿,1.架構付呕;2.根據(jù)項目人員技術棧決定項目技術棧及開發(fā)工具;3.提前規(guī)劃項目在集成,測試跌捆,部署階段的工作;4.提前對項目中的關鍵技術安排人員進行驗證(注:別人解決不了的問題徽职,自己上);5.代碼審查;6.story point 估算佩厚。
建議:
1.多和架構師針對項目架構進行溝通姆钉,深刻理解需求
2.對代碼質(zhì)量進行定義,代碼審查時注意bad smell抄瓦,大類潮瓶,大方法,考慮性能钙姊,考慮IO操作及數(shù)據(jù)庫等資源的釋放毯辅。
3.安排團隊對代碼進行討論并重構.
4.建議對項目所有story進行整理,然后使用德爾菲法對項目進行初步估算煞额,避免撲克牌估算的效率低下思恐,如果時間緊急,可以在德爾菲法技術上使用PERT膊毁。
5.關鍵點安排結對編程胀莹。
6.非功能性需求往往占用項目40%的時間。
7.早起建立需求理解的計劃婚温,幫助團隊成員理解需求描焰。
流程管控
嚴格要求項目按組織要求進行開發(fā),在軟件開發(fā)生命周期中栅螟,組織對過程又嚴格的定義荆秦,比如DevOps,TDD嵌巷,BDD等萄凤。Tech Lead了解軟件開發(fā)過程中的所有環(huán)節(jié),所以能夠?qū)α鞒踢M行管控搪哪,這里強調(diào)組織要求及組織文化靡努,避免自傷。
建議:
1.使用持續(xù)集成-->堅持使用持續(xù)集成,如果不能提交構建惑朦,至少每日構建兽泄。
2.建議TDD而非Unit,TDD或者Unit一定要有漾月,如果可能病梢,請加把勁跑起來BDD。
2.對代碼release標準進行定義梁肿,在項目初期定義release的程序并在后期不斷維護蜓陌。代碼覆蓋率標準,代碼缺陷嚴重等級定義及修復時間
3.QA及開發(fā)的溝通方式定義吩蔑。
4.性能測試钮热。
連接
有項目就有溝通,有出資人烛芬,有受益人隧期,有用戶,有開發(fā)人員赘娄,還有運維人員等等仆潮,Tech Lead連接了BA,SA遣臼,DEV多個角色性置,是技術團隊與外界的橋梁,在開發(fā)過程中取得團隊內(nèi)部各個角色的支持暑诸,創(chuàng)建良好的溝通環(huán)境是基礎蚌讼。
Tech Lead與BA:Tech Lead是需求接收者,是需求到技術語言的轉(zhuǎn)化者
Tech Lead與PA:Tech Lead是團隊節(jié)奏的實際操控者个榕,是業(yè)務功能的交付代表
Tech Lead與SA:Tech Lead是項目架構的實踐者
Tech Lead與DEV:Tech Lead是導師更是戰(zhàn)友
建議:
1.每個月安排與各個角色至少進行一次one one溝通篡石。提前準備好溝通的大綱,沒有準備的溝通都是耍流氓西采。
2.對干系人進行登記并分析凰萨。
3.對外部干擾進行管控,保證開發(fā)人員的開發(fā)時間械馆。
完~