那些拯救程序員的「神器」| 自動化敏捷開發

程序猿們,如果你感覺到總是在做反復的、機械的工作,你或許可以考慮找些工具幫幫你了。如果你所在的團隊號稱在做「敏捷開發」,但還是有做不完的重復勞動,也許你們還不夠敏捷。

敏捷開發所謂的快指的是「反應快」。敏捷的優勢在于用更短的迭代周期去應對不斷變更的需求,持續地交付可用的軟件。而要在短短的兩周或者一個月內交付可用的軟件,同樣意味著在這個周期內要完成集成、部署、測試等一系列的工作。如果把這些工作都交給開發人員去做,那還有什么時間好好地開發呢?

本文將從溝通、開發、質量這幾個方面來介紹一些常用和可靠的工具和它們的使用場景,它們不僅僅適用于敏捷開發。一起看看到底有哪些「重復勞動」可以被工具干掉。


自動化「溝通」

生命周期管理

Lifecycle Management

如果你的項目的需求、任務都還放在長長的Word、Excel文檔里,那么是時候找一個項目管理工具了。項目管理工具幫助跟蹤和控制項目的整個生命周期:

  • 實時監控項目的進程
    不管是項目成員或是客戶,都渴望了解項目的實時進展情況。燃盡圖、缺陷數量、項目成員變動、風險值、當前迭代交付的內容,項目管理工具可以實時統計和跟蹤這些數據。

  • 了解每個項目成員的工作
    項目管理工具上可以記錄任務、用戶故事、缺陷,并指派給相應的成員。成員可以記錄每項工作所花費的時間、更改工作的狀態。開發人員可以了解需求及變更,及時和管理人員甚至直接與客戶溝通。

  • 定制開發流程
    多數的項目管理工具提供了定制流程的功能,保證任何團隊都能根據自己的計劃和流程完成工作。

  • 隨時隨地的辦公
    你會不會在下班時間手癢去查收一下工作郵件呢?或是說你頻繁出差、跟外國友人合作,多數的項目管理工具現在都提供移動端App,保證你隨時隨地的透明化辦公。

常用的項目管理工具有:Jira, Redmine, Trello, Teambition, Visual Studio Team Foundation Server

消滅重復勞動:手工分析和跟蹤項目進度、從長長的文檔中找兩行關于自己工作的需求
預計每周節省時間: 5小時

聊天工具

Communication Tool

很多人可能都會用QQ、微信、Skype for Business來交流工作,他們也許是夠用了,可是就是有這么一個軟件異軍突起,專注于企業級的聊天工具——Slack,連微軟都不得不做了一個仿制品。Slack這類的聊天工具的特別之處在于:

  • 分組通訊
    不管是全公司的公用頻道、項目頻道、某項技術交流的頻道還是臨時成立的討論組、私信聊天,Slack都清楚地區分開來。這些頻道和分組都是永久保留的,不用擔心聊天記錄的丟失。Slack也提供@的功能,可以讓同事不會錯過你的發言,他也可以隨時查看所有@他的聊天記錄。

  • 出色的搜索和文件管理
    Slack提供強大的聊天記錄的功能,可以快速定位到之前的某條記錄。你也可以對某條記錄做星標,保證你不會漏掉BOSS給你布置的任務。Slack也會保存聊天中所有的文件,提供實時的預覽功能,你也可以很輕松地查看某個分組下所有的文件。

  • 集成管理工具
    Slack可以接收來自項目管理工具、云存儲平臺、版本控制平臺的各類消息通知。讓你專注于工作。

  • 跨平臺同步
    跟項目管理工具一樣,現代的聊天工具必然是跨各個終端的,保證你隨時隨地的加班(誤)。

不管是Slack還是Microsoft Teams,都讓溝通更加的透明、高效,「邊聊天邊工作」吧。

消滅重復勞動:打開各個工具平臺查看通知、發送一句話郵件
預計每周節省時間: 4小時


自動化「開發」

版本控制

Version Control

版本控制系統是自動化開發的基礎。這里不贅述版本控制的重要性了。

常用的版本控制工具有:SVN, Bitbucket, Gitlab, GitHub, Perforce

消滅重復勞動:集成代碼、版本回溯
預計每周節省時間: 8小時

依賴管理

Dependency Management

開發中很常見的外部依賴,你還在手動下載和導入嗎?如果你不是一個人在開發呢,如果版本更新了呢,這種傳統的方式會變成一種噩夢吧。相信還在這樣做的團隊已經非常少了。

這里介紹一些常用的工具:

編程語言 工具
Java Maven, Ant
Node.js NPM (Node Package Manager)
JavaScript Grunt
iOS SPM (Swift Package Manager), CocoaPods, Carthage

拿Maven來說,把各類依賴集中地放在「倉庫」,只需要簡單的配置文件,就可以幫助開發人員自動管理和下載依賴。如果你的工程需要一個集成一些重復利用率很高的依賴的基礎模板,Maven也可以做到。

通常來說,依賴管理工具同時也是構建工具,Maven可以進行編譯、單元測試、部署,一個按鈕加一條預設的命令腳本,搞定!

消滅重復勞動:下載和導入依賴、保持最新依賴版本
預計每周節省時間: 2小時

持續集成

Continuous Integration

由于軟件通常是由多個模塊組成的,集成它們是生成交付軟件的必經過程。怎么持續集成?簡單來講就是把剛剛提到的版本控制和依賴管理結合起來,放到一個平臺上,持續地對代碼進行合并、審查、測試、編譯、部署,可視化的平臺還可以有效的減少項目人員的溝通成本。

持續集成并不是一個工具的名字,更重要的是使用者的思維。如果你所謂的「持續」是每天登錄平臺手動點一下「構建」的話,那恐怕就南轅北轍了。兩點建議:

  • 如果你的工程的編譯時間不長,建議配置一個觸發器:在每一次主分支代碼提交之后,都自動做一次集成,以保證代碼提交的正確性,最快速度做出反應。

  • 如果你的工程的編譯時間相對較長,或是服務器環境需要相對穩定的版本部署計劃,建議配置一個定時器進行集成部署。

常用的CI工具有:Jenkins, GoCD, Travis CI, Bamboo

消滅重復勞動:枯燥的集成和審查流程、服務器部署
預計每周節省時間: 8小時


自動化「質量」

靜態分析

Static Analysis

自動化質量很容讓人聯想到「自動化測試」,實際上代碼審查也可以自動化。靜態分析(也叫靜態檢查、靜態掃描)不直接執行程序本身,而是對現有的代碼結構進行分析、預測,最終生成一個報告,包含可能出現的缺陷以及對代碼規范、質量等的各項評定。

常用的靜態分析工具有:Coverity, CheckStyle, FindBugs, PMD, JSLint, ESLint

除此以外,很多IDE本身也集成了相關的功能。

消滅重復勞動:代碼規范檢查、基本代碼審查
預計每周節省時間: 4小時

自動化測試

Automation Testing

由于敏捷的迭代的特性,每次迭代的交付都必須經過重復性很強的測試,不論是集成測試、回歸測試以及基本的性能測試,如果能自動完成,就是再好不過了。

常用的自動化測試工具有:Selenium, Mocha, QTP, AutoRunner, RFT

消滅重復勞動:復用率高的手工測試
預計每周節省時間: 5小時

靜態分析工具和自動化測試工具還可以和持續集成環境配合使用,從而達到真正高校的自動化。


結語

減少枯燥乏味的重復勞動,項目成員才能真正的享受在工作之中。當然,別讓使用工具成為另一種負擔。

本文提到的工具很有限,歡迎大家留言指正和交流

想了解敏捷開發,你還可以參考
《敏捷開發從信任團隊開始》
《「便利貼」里的項目管理 | 利用看板提升溝通效率》

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內容