從理論到實踐,平台部敏捷踐行落地
近幾年敏捷思想遍地開花,隨之也產生了多種敏捷實踐方法,如Scrum、XP、TDD等。在追求效率和產出的軟體行業,應用敏捷實踐確實是一劑良藥。農業銀行軟體開發中心各開發部門陸續選取項目開展敏捷試點工作。期間項目辦成立敏捷專項支持團隊,與部分研發部門共同嘗試開展看板站會、每日構建、自動測試、自動部署等敏捷實踐活動,診斷問題、優化實踐,為中心實施「雙模IT」積累經驗。本期在這裡和大家分享一下應用平台研發部是如何開展敏捷實踐的
第一階段 引入日構建和自動測試,提升研發效率和質量
提升團隊和個人能力,提高研發平台和產品質量,這是應用平台研發部敏捷實踐的主要目標。從實際問題入手,從切合實際出發,從2017年4月起應用平台研發部經歷了有意義和有成效的敏捷實踐。在應用系統引入每日構建和自動化單元測試,提升研發效率和質量;從團隊入手引入看板、站會等敏捷實踐,改善研發管理過程;到部門層落實,從學習敏捷的形轉變為領會敏捷的神。「隨風潛入夜,潤物細無聲」,這句詩恰到好處的概述了應用平台研發部的整個敏捷實踐過程。
如何提高測試版本的發布頻率呢?如何提升軟體產品質量呢?推行每日構建和自動化測試則是最佳選擇,同時這也是敏捷方法中的重要實踐。應用平台研發部於2017年4月開始,在各應用系統引入每日構建和自動化測試工作,同時聯手項目管理辦公室共同制定《平台部java及C#每日構建實現方案》和《平台部TFS配置管理與構建管理工作指南》,以確保每日構建和自動化測試的有序開展和經驗傳承。在開展每日構建和自動測試的項目團隊中,項目研發人員每天下班前,需提交當天完成的項目代碼及單元測試代碼。每日構建執行時,通過TFS工具調用測試案例,自動完成方法、介面、交易的單元測試;每日構建結束後,項目研發人員通過查看測試覆蓋率報告等,及時掌握代碼行覆蓋、分支覆蓋等情況。根據測試覆蓋率報告,開發人員及時修改代碼違例、修正代碼缺陷。截止到2018年3月,應用平台研發部已有11個系統實現每日構建,已有6個項目實現自動化單元測試。
通過實施每日構建和自動測試,反向驅動平台部項目開發人員主動修復代碼缺陷,促使項目團隊建立快速反饋完成回歸驗證。毋庸質疑,在應用平台研發部引入每日構建和自動測試的前期,肯定要花費一些經歷和時間,但從長遠來看這項有益實踐卻可以提升軟體產品質量,更快得到結果反饋。
第二階段:引入看板、站會等實踐,改善研發管理過程
軟體開發是一群知識工作者在一起工作,管理他們就需要發揮大家的積極性和創造性,而看板和站會正是達成共同目標、提升溝通效率的敏捷實踐。2017年11月,應用平台研發部從一個項目團隊開始,引入看板和Scrum站會等敏捷實踐來改善研發管理過程。在3個月的敏捷實踐中,該團隊共開展了4次Sprint迭代,分別實踐了每日站會、評審會、回顧會和迭代計劃會等活動。該團隊Scrum產品負責人PO把關軟體產品方向,對產品的Why和What負責;ScrumMaster敏捷教練則更關注人和人的互動質量;而團隊成員好比一支球隊,大家一起共享時空、閉環決策。
在該團隊中,我們看不到傳統組織所強調的崗位、職責、彙報關係,每個人只有「一起打贏比賽」的角色。在試點回顧會上,該團隊成員反饋此次敏捷實踐做成了他們想用的東西,如執行效率提高了、工作透明化了、外協任務跟蹤更高效了、同事間的溝通更加及時快捷了,項目研發管理過程得到了有效改善。
任何習慣的轉變都需要一個過程,在應用平台研發部敏捷試點初期也不例外,該試點團隊也遇到了各種各樣的問題,如第1次Sprint計劃性不足;每次Sprint任務顆粒度大小不一;每次Sprint團隊目標未統一制定,任務後沒有明確交付物;備援測試中心提交的缺陷的跟蹤不確定是否要留在看板上;看板牆狀態存在冗餘或狀態不夠;不同產品線的驗收標準制定不統一等等。
但集體的智慧是強大的,在平台研發部部試點團隊的共同努力下,最終難關一一攻破,團隊問題一一解決,整個團隊都為自我突破感到自豪,為自我成長感到高興。
第三階段:從團隊入手到部門落實,經歷形到神的蛻變
經過前期摸索,敏捷實踐在應用平台研發部中蔓延開來,通過內部交流傳播敏捷思想,他們先由平台部第1個試點團隊介紹實踐方法和經驗,再由其他團隊各取所需。2018年3月7日,應用平台研發部就敏捷開發推廣事宜召開啟動會,此次會議確立7個項目參加敏捷試點,同時要求已開展敏捷試點的團隊負責人收集實踐問題,結合反饋在平台部開展有針對性的敏捷實踐交流。
通過約2周左右的敏捷內訓、問題收集、團隊討論等環節,2018年3月16日在項目管理辦公室的協助下,應用平台研發部再次邀請外部專業敏捷教練開展大課培訓和專題指導,指導7個試點團隊正式開啟敏捷實踐。
到今天為止,應用平台研發部的7個試點團隊已經啟動敏捷實踐。各個試點項目正在通過物理看板顯示化本項目工作流程;通過每日站會跟蹤計劃執行;通過評審會議驗證交付工件;通過迭代回顧總結會,反思過程執行。每個試點團隊正在努力轉變工作思路擁抱變化;每個試點團隊正在經歷著不斷犯錯不斷糾正的實踐過程。相信經過應用平台研發部各個團隊的持續驗證,他們會快速成長起來,逐漸從學習敏捷的形而轉變為領會敏捷的神。
實施敏捷開發是提高我們項目管理水平的一種指引,應用平台部已經按照自己的方式在開展敏捷實踐。如何提升研發效率和研發質量?如何提高客戶滿意度?如何與我們軟體開發中心的項目目標相結合?這些問題都需要在敏捷實踐中不斷思考,這是一項長期工作。相信在大家的共同努力下,不斷實踐、不斷自我否定、不斷自我改變、不斷優化改進,終究會領會敏捷的神而不只是學習敏捷的形,切實提高研發項目管理水平,增強項目團隊的高效合作,逐步提高員工的自我滿意度和客戶滿意度。


TAG:DevOps |