我用敏捷开发搞了7遍,把4小时的活压进27分钟

熊节 2019-10-14 浏览量:955

这些场景我不知道在宜信会有多少人遇到:

  • 拿到一个需求,琢磨半天想不明白如何分解下手;

  • 代码没人测试,上线后被抓来处理问题,代码有没有坑自己不知道;

  • 要改动老代码,不敢轻易下手改,每做点修改都很害怕。

很多朋友在后台留言:为啥我的开发效率低?

原因很简单,观念停滞,方法陈旧。

现在有一个误区——各大企业面试,比如流传的阿里技术面,他考你JVM的细节啊、高并发。这并不是一个程序员日常开发效率的体现。

我们会去刷题、背算法,至于这些东西一年到头用几回无所谓。

理解需求、拆分任务、编写测试、高质量的代码实现——其实我每天的具体工作才是我的基本功。

如果一个人意识到了并且开始刻意训练,他就会在这个团队中鹤立鸡群。

WechatIMG384.jpeg

如果基本功不扎实+凭本能开发,这些问题就会频频出现:

  • 对需求把握不准,写完PM不认;

  • 代码有坑,3个月前写的代码一碰就虚;

  • 添加新功能就破坏旧功能,测出一堆bug加班修,bug越修越多;

  • 以上循环,就会陷进无限返工、低效率的焦油坑。

我是如何在工作中实践敏捷开发的?

测试驱动开发(TDD)是敏捷开发的核心实践,就像钥匙——拧动TDD,就拧开了敏捷开发的大门。

TDD就像脚手架,为代码提供保护网,他的核心在于严格规定开发节奏,一次把需求理清,一次做对、消除返工,不用调试就能获得反馈。

里边有三个关键:

  • 第一步任务分解:测试先行,分离关注点,并用单元测试表达;

  • 第二步单元测试:遵循 Given-When-Then 三段式,符合极限编程原则;

  • 第三步小步快走:TDD迫使你小步前进,所以每一步都必须先想好要达到什么效果,每一步都有充分的测试覆盖。

WechatIMG385.jpeg

很多人说TDD没用,就像100多年前有人嘲笑汽车没马车跑得快。

一旦会用TDD,节省出的时间会远大于编写测试代码而产生的工作量总和:

  • 第一,准确把握需求,开发出来的功能一定是客户想要的;

  • 第二,保障软件质量,开发出来的代码一定是有自动化测试覆盖的。

  • 第三,测试驱动开发,提高至少3-5倍开发效率。

受益的形式可能是别人5天的活,你2天干完,就算强制996,你也可以用剩下3天学点新东西。做敏捷转型,应对市场变化。

我是熊节,拥有18年从业经验,前ThoughtWorks总监咨询师,曾带队主导华为、中兴的敏捷开发转型,翻译过《重构》、《实现模式》、《软件工艺》等著作。

WechatIMG386.jpeg

今年8月,我在线上训练了890位开发者,目的是训练开发基本功,提高开发效率;让他们掌握TDD,到能日常应用的程度。

超出我预期的是,有600多人每天坚持做学习记录,有些人真的很激动,因为他们的开发效率在以肉眼可见的速度提高。

训练会改变你的既有方法,你可能会先陷入自我怀疑。

WechatIMG387.jpeg

每个项目你会跟着我练大概8-10遍。通过刻意训练,把开发时间从将近1小时压缩到12分钟。

学员反馈的收获:

“终于做完最后一题,总结一下收获:

  • 编码节奏和思路更清晰了,原来想很久才敢动手,现在5分钟提交一次,有单元测试保证,根本不担心出错。

  • 对任务的拆分有了更深刻的理解。很难出现那种动不动几十行并且逻辑很复杂的代码。

  • 有了单元测试保证,下一步追求更简洁,可读性更高的代码。

感谢这个训练营,拯救了一个以为会写代码的我,以后会在工作中更多的尝试TDD,估计这辈子都离不开它了。”——林泽欢

WechatIMG388.jpeg

我想做两件事:

  • 第一,能让大家意识到程序员之间的基本功有很大差距,通过大量训练,我能让你的基本功达到一线大厂水准;

  • 第二,现在网上的课程以讲为主,我认为这是一个误区。听别人讲东西,只看不练,功夫不上身,这是学不来真东西的。

熊节的敏捷开发实战营

WechatIMG389.jpeg

实战营适用人群:

  • 具备初级开发基础,无论从事前端还是后端均可,没有语言限制;

  • 工作1-3年,想获得更高效的编程心法,脱颖而出的新人;

  • 技术leader,想整体提高团队效率,完成质的飞跃。

完成实战你将能:

  • 在工作中实践TDD-测试驱动开发;

  • 精准框定需求范围,用测试驱动代码;

  • 重建开发基本功,重新认识开发;

  • 在工作中以肉眼可见的程度提高开发效率。

线上实战营形式:

  • 10月17日开营,线上训练周期21-30天;

  • 3个项目,18个任务,社群答疑直播;

  • 基于极客学院实战营系统,我亲自带队;

  • 学习时间自由,1年内可反复观看。

WechatIMG390.jpeg

(极客学院实战营系统)

实战项目

你会和来自各大IT公司的中高层开发者一起学习,成为行业中坚力量。以下是具体训练项目及内容:

WechatIMG391.jpeg

如果不是一对一的电话沟通,很难相信上一期的同学里有这么多高手——

  • 百度EBG高级Java工程师 陆羽

  • 极客学院技术总负责人 Kevin

  • 学而思web开发工程师 李坤

  • 小米金融高级前端工程师 李志明

  • 华为高级 C++开发工程师 孟广明

  • 飞羽科技有限公司CTO 小白

  • 支付宝小程序 高级Python工程师秋叶

  • 阿里巴巴-java工程师 李若舟

  • 拉勾网Python工程师-zhangwl

  • ……

WechatIMG392.jpeg

WechatIMG393.jpeg

以上实战营售价99元,由于很多开发者对TDD-测试驱动开发并不了解或带有误区,我很遗憾的发现,在参与学员因为提高开发效率而喜悦的同时,还有一部分人因为偏见和误会被挡在了门外。

所以我做了一个改变,我打算和各个一线企业合作,让各部门的技术leader能先低成本的掌握TDD方法,通过你们的真实感受让这些技术传播。 如果你在宜信工作,负责技术团队的管理或开发工作,我很乐意免费邀请你参加第三期TDD实战营的学习,你需要扫下方码进入微信群,报名参加,我们好把你和C端付费学员作区分。

宜信公司有200个免费名额,按报名先后顺序,报名截止在10月17日(本周四)中午12点前,10月17日集训营正式开营。

最后,我很喜欢《灌篮高手》安西教练的话:“投2万个球吧。”

只有当你完成20遍训练,而不是线上观看视频,你才能真正打好基本功、掌握TDD,提高开发效率。欢迎加入,一起训练!

熊节的敏捷开发实战营报名通道

WechatIMG394.jpeg

⭐️⭐️如报名二维码过期或无法识别可添加小助手微信(creditease_tech)回复关键词:“实战”小助手会邀请您进群。


发现文章有错误、对内容有疑问,都可以通过关注宜信技术学院微信公众号(CE_TECH),在后台留言给我们。我们每周会挑选出一位热心小伙伴,送上一份精美的小礼品。快来扫码关注我们吧!
分享硬核IT 专注金融