那些拯救程序员的「神器」| 自动化敏捷开发

程序猿们,如果你感觉到总是在做反复的、机械的工作,你或许可以考虑找些工具帮帮你了。如果你所在的团队号称在做「敏捷开发」,但还是有做不完的重复劳动,也许你们还不够敏捷。

敏捷开发所谓的快指的是「反应快」。敏捷的优势在于用更短的迭代周期去应对不断变更的需求,持续地交付可用的软件。而要在短短的两周或者一个月内交付可用的软件,同样意味着在这个周期内要完成集成、部署、测试等一系列的工作。如果把这些工作都交给开发人员去做,那还有什么时间好好地开发呢?

本文将从沟通、开发、质量这几个方面来介绍一些常用和可靠的工具和它们的使用场景,它们不仅仅适用于敏捷开发。一起看看到底有哪些「重复劳动」可以被工具干掉。


自动化「沟通」

生命周期管理

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阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容