您好,登錄后才能下訂單哦!
如何提高工作效率?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
互聯網IT職能團隊,如果要實施敏捷開發離不開四要素:規范、流程、工具、會議。敏捷的核心是人,只有人人參與遵守約定,那么敏捷開發才能高效進行。敏捷開發流程圖:
規范是一種契約精神,要求團隊所有成員都要遵守約定,把控規范細節,最終高質量交付成果
軟件編程規范
編碼規范,規定團隊技術人員在編寫代碼時應該遵守的開發規則,比如命名規范、日志規范、注釋規范、單元測試規范、異常處理規范等。
數據庫設計規范
數據庫設計規范,要求技術人員在設計數據庫時要考慮表設計、索引設計、SQL編寫等方面的規則。
API設計規范
API規范一般意義指的是前后端分離時服務端網關系統對外提供的API規范,除此之外,在分布式環境中,服務端各模塊系統會進行接口間通信,寫接口時也要求遵守設計規范。
Git管理規范
GIT管理規范,要求技術人員在分支命名、提交注釋、代碼合并等方面要遵守特定的規則。
版本管理規范
版本管理規范,軟件發布包的版本號管理要遵守特定的規則,每次版本升級的變更特性列表要求詳細編寫。
測試規范
測試規范,用于約定測試團隊的測試范圍和測試標準,具體包括功能測試、接口測試、性能測試、自動化測試。
郵件規范
郵件規范,約定團隊成員要遵守發送郵件的標題名編寫規范,不同類型的郵件對應的標題關鍵字各不相同,方便及時通過關鍵詞搜索歷史郵件。另外根據團隊不同,有的團隊可能會要求團隊成員發送每日日報、每周周報,日報和周報都是通過郵件的形式進行發送。
部署規范
部署規范,用于約定生產服務的部署方式,具體采用金絲雀部署、藍綠部署、還是其他部署方式。
結對編程
結對編程,一般指的是2個人同時負責共同模塊功能的開發。兩個人在一起探討很容易產生思想的火花,不容易走上偏路,可以共同分析設計、寫測試用例、編寫代碼。結對編程還有個好處就是,當一方開發人員離職時,不至于花費很多的交接時間,不會出現因為緊急需求來臨時由于某開發人員離職造成無人可以負責的現象。
流程
一般互聯網公司的開發流程按照順序大致分為如下幾個階段:需求整理階段、排期設計階段、開發階段、測試階段、部署階段。整個流程在實施的過程中必要時允許返工,允許駁回需求并且可隨時調整需求。
需求整理
一般是產品部門負責,產品從需求池中根據優先級篩選出優先級最高的需求進行詳細設計,并產出PRD成果給到技術部門。
排期設計階段
排期先要先進行需求評審,需求評審會由產品負責人發起,評審會中所有參與人就需求的問題進行討論,需求敲定后,技術部門負責人或本次迭代負責人將詳細的項目開發計劃發送至所有干系人。
開發階段
開發階段各成員按照計劃有序進行開發,開發過程有任何需求疑問及時找產品經理溝通,產品經理如在開發過程中有緊急臨時需求,可組會討論后,優先緊急需求的開發;如有需求變動,可調整排期后重新發出排期計劃。
測試階段
開發完畢自測通過后,開發人員通知測試人員基于測試項目分支開始進行測試環境的測試,如果出現任何BUG則將BUG提交到缺陷管理系統,開發人員根據BUG列表修復后更新BUG任務狀態,然后測試復測。直到測試部門測試完畢后,符合上線要求后,方可通知運維部門進行上線操作。
部署階段
部署階段,可分為預發環境部署和生產環境部署,流程大致相似。都是基于完成測試成功的對應環境的項目分支通過CI工具進行持續集成和部署。部署時的網關開關切換機制應考慮到位,盡量做到部署時對用戶無感知,部署完畢后測試人員在生產環境仍需復測一次,確保上線成果的正確性。
工具
敏捷團隊若要執行落地離不開很多高效的協作工具,這里我列舉一些非常實用的工具供大家參考,工具的安裝步驟不在本文的講解范圍內。
代碼管理工具
一般選用基于GIT協議的分布式代碼管理工具進行代碼管理,常用的有gitlab、gitee、github。
項目管理工具
項目管理工具的意義在于管控所有迭代過程中的具體任務,用于跟進開發進度、管控開發效率。常用的工具有tower、jira。每個迭代周期內的任務會在排期過程中由部門負責人分配給每個人員,任務完畢后要求及時拖動任務狀態,方便領導跟進查看進展。
知識庫工具
知識庫管理工具的作用在于團隊協作的所有資料,方便團隊成員有需要時隨時進行查看。比如產品團隊會將每個版本的產品PRD文件放入產品團隊的知識庫目錄下,開發團隊會將開發設計架構圖、API接口文檔等放入技術團隊的知識庫目錄下,類似的,所有團隊都可將用于團隊協作的資料存入本團隊對應的知識庫目錄中。
缺陷管理工具
缺陷管理工具用于測試團隊在測試階段提交BUG任務給開發人員,常見的工具有禪道、jira。
持續集成工具
持續集成工具目的在于實現自動構建、測試、打包、部署到各個環境中,建議使用docker進行進行部署,保證各個環境中系統運行不會出現環境問題。目前主流的持續集成工具有Jenkins、Bamboo。
SQL審核工具
生產系統上線后,如果出現BUG要修復生產數據,應由開發人員提交修復的SQL到審計系統中并提交申請,團隊負責人負責一審,DBA負責二審,二審通過后SQL會自動執行。SQL審計工具上所有提交的SQL操作日志全部都會保留下來,方便追責時隨時查看。常見的SQL審核工具有Yearning。
容器管理工具
用于對docker進行編排管理,比如常用的docker動態擴容、升級等。目前主流的的容器編排工具是K8S。
運維安全管理工具
主要用于管理機房或者云端所有服務器資源,控制開發人員權限,所有開發人員如需登錄目標服務器,必須登錄安全管理機后才有權限訪問。常用的安全管理工具是jumpserver。
會議
敏捷開發宣言強調個體溝通的重要性,所以會議的形式能增強溝通及時發現并修正問題,如下列舉了敏捷開發過程中常見的會議類型。
每日站立會議
站會有兩種,早晨站立會或晚間站立會(不同的團隊只要求其中一種即可),站立會在每天固定的時間要求大家放下手中的活全體起立,每個團隊成員挨個發言,向所有成員分享上一日活今日完成的任務、遇到的問題、接下來的計劃,如有阻礙開發進展的問題可提出但不展開討論,會后關聯人再詳細溝通。站會期間,有的團隊會采用看板形式(實際就是一個白畫板多泳道)自己拖動任務狀態。
迭代總結會議
迭代總結會議一般在某個迭代完成后盡快召開,此會議的目的在于復盤上次迭代過程中的整體情況,包括好的和不好的,好的繼續精進,不好的要反思改正。
代碼review會議
代碼檢查會議,會根團隊實際情況不定期的召開,目的在于規范團隊開發人員的編碼規范,要求注重代碼質量。
每周總結會議
每周總結會議,一般定在每周五進行召開,目的在于總結本周團隊的整體的工作進展,遇到的問題;會上有問題要及時匯總,要求問題負責人會后及時給出解決方案和時間節點。
技術分享會議
技術分享會,會根據團隊情況不定期召開,目的在于讓有經驗的團隊成員分享實戰經驗,提升團隊整體水平。
沒有比面對面交流更高效的溝通渠道了,基于互相信任的前提,敏捷提倡自治的全功能團隊。敏捷實施離不開的規范、流程、工具、會議這四要素的內容,那么團隊就是一支敏捷開發的團隊。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。