我在成都教人用Flutter写TDD(补充)——关于敏捷教练

哈喽,我是老刘

关于去成都做敏捷教练这个事,最开始想着写两篇文章总结一下,没想到越写越多、越写越多收不住了。

前面写了三篇文章分别介绍TDD好处、TDD的实施流程以及在Flutter中实施TDD的技术细节。
我在成都教人用Flutter写TDD(上)------为啥要搞TDD?
我在成都教人用Flutter写TDD(中)------TDD开发流程
我在成都教人用Flutter写TDD(下)------Flutter中的TDD

有朋友反馈说敏捷教练的事情也可以详细说说,所以就补充了本文。

接下来就说说作为敏捷教练有哪些收获

必要性

其实我以前对于敏捷教练的必要性也是存有怀疑的。

主要是老刘自己的团队对TDD的接受程度很好,推进也比较顺利。

这次从成都回来我仔细对比分析了一下我的团队特点,也大致找到了原因

一是团队成员大部分是计算机相关专业毕业,一半是研究生,属于比较典型的学院派。

老刘觉得学院派似乎对敏捷开发接受程度更高一点(个人感觉,没有统计数据)。

二是老刘面试中有意无意会问一些敏捷开发的问题。

虽然这个不是说答不上来就淘汰,但是潜意识里会增加分数,所以会有一定的筛选。

所以我这次最直接的感受就是对于很多团队,如果想切换到敏捷开发的流程,找一个靠谱的教练还是很有帮助的。为啥呢?

这件事有点像知识付费。

就比如一个客户端开发的小白去学Flutter开发。

其实只要具备一定的编程基础,去自学Dart语言和Flutter开发都不是特别困难。

那为啥还有很多人愿意付费来学习呢?

本质上是因为学习效率。

  • 首先,付费课程通常提供结构化的学习路径,这意味着学习者可以按照精心设计的步骤逐步学习,而不是自己摸索,这样可以节省时间并提高学习效率。
  • 其次,付费课程往往由经验丰富的讲师授课,他们不仅传授知识,还能分享实战经验和行业最佳实践,这对于初学者来说是非常宝贵的。此外,一些课程还提供作业和项目,帮助学习者将理论知识应用于实践,这是自学很难获得的。
  • 再者,付费课程通常提供一定的支持服务,比如答疑解惑、学习小组等,这些都可以帮助学习者在遇到困难时得到及时的帮助。
  • 最后,对于自律性不强或者需要外部激励的人来说,付费课程可以作为一种承诺机制,促使自己坚持学习。

那么放到团队上,转型敏捷开发也是一样的道理,而且教练相对于课程来说提供的服务更全面。
体系化知识结构

老刘一直觉得学习任何东西,建立系统的体系化的认知比记住很多细节要重要得多。

但是对于团队,每个人的经验和理解都不一样,很难在短时间内形成统一的认知。

这时教练的作用就是可以帮助团队快速搭建一致的认知体系,比如哪些是核心流程,哪些是可以根据实际情况变通的部分。

细节与经验

你去看任何一本书,都不可能详细到每一个具体的细节都写出来。

那么如何从理论上的操作流程落实到具体实战的一个个动作,哪些地方可以根据团队的实际情况做一些变通呢?

如果团队自己摸索可能需要花费很多时间,但是经验丰富的教练一句话点破了就能让团队少走半个月弯路。

团队文化

如果用一个词描述敏捷开发,老刘觉得是"进化"。

交付的代码永远不是一次写成的,而是不断重构的结果。

对代码如此,对团队、流程、文化也是同样的道理。

所以一个合格的敏捷教练应该能帮助团队建立起一种持续改进的文化,鼓励团队成员之间的协作和沟通,促进团队的自我管理和自我迭代。

鼓励师

在敏捷转型初期,团队成员很可能对新方法感到不确定或抵触。

而到了第二个或者第三个迭代,最开始的迷茫和混乱过去了,很多的问题开始暴露,不少人就又会开始怀疑这些代价是否值得。

这些都是最容易放弃导致前功尽弃的时刻。

教练这时候就是鼓励师,来自于团队外部的激励和支持能够让这些难关更平滑的度过。

定制化服务

每个团队的情况都是独特的,敏捷教练可以根据团队的具体情况提供定制化的指导和建议,确保敏捷方法能够适应团队的特定需求。

比如老刘这次去成都,除了提供敏捷教练的服务,还提供Flutter开发相关的方案设计、编程指导之类的服务。

以老刘自己的实践经验,敏捷开发特别是TDD不仅仅是开发流程的变化,还涉及到代码管理、软件架构、编程习惯、IDE及辅助插件等多方面的变化和挑战。

所以找到一个在敏捷流程和实际编码开发上都有丰富经验的教练,帮助团队定制一套有针对性的敏捷开发流程,并提供从技术指导到成员激励全方位的支持。

这才是开发团队降本增效的正确方法,而不是总想着向大动脉动一下刀子。

服务周期

其实敏捷转型的成本并不低,刚开始会有些混乱,开发进度可能受阻,bug也可能会增加。

长期雇佣一个收费不低的敏捷教练也不是大多数团队能够承担的成本。

那么如果综合考虑成本和效率我觉得雇佣敏捷教练2~3个迭代是比较好的。

第一个迭代是转型的开始,整个团队会处于相对混乱的状态。

有一个经验丰富的教练现场帮助梳理流程、确认关键节点、找到最佳实践以及帮助避坑。

这个迭代敏捷教练的性价比是最高的。可以大幅缩短转型的周期。

第二个迭代顺利的话主干流程都已经确认,但是还会碰到不少的问题以及团队成员心理状态的反复。

这个时候敏捷教练帮忙查漏补缺、对团队成员进行激励和支持对于转型成果的巩固也非常有帮助。

这一阶段敏捷教练还有一个非常大的作用是帮助团队形成自我迭代的文化或者说传统。

再之后团队基本可以依靠自我迭代进行后续的开发,并将敏捷流程固化下来。

远程教练是否可行

老刘自己有线上课程,也时不时会进行现场讲课。

对比这两种讲课的效果差异,以及这次去成都现场进行敏捷教练的效果。

我觉得远程和现场交流的差距还是比较大的。

面对面的交流和远程视频文字都不一样。面对面更容易建立信任,也更容易从对方的表情、动作、姿态中获取到对方是否真的get到了你要讲的那个点。

反过来也是一样的道理,作为一个信息的接收者,你接收到的信息除了语言文字本身以外,还有对方的表情、肢体动作。

举个简单的例子,老刘给团队成员讲东西,如果对方的眼神清澈的好像大学生,那么大概率是老刘没讲明白。

而且远程交流的实时性和频率都会大打折扣。

当你就在团队边上,而且建立了信任,有什么问题或者疑惑往往就是随口就问了。

你对团队的进展和卡点也能通过频繁的交流而获得。

所以在前两个迭代,特别是第一个迭代,一定要尽可能保证教练常驻现场。

如果实在是因为成本或者其他客观原因无法常驻的,第二迭代可以考虑间歇性的去现场。

总结

总的来说,对于认识到敏捷开发的好处并希望转型的团队。

在转型开始的一到两个迭代期间,找到一个靠谱的敏捷教练常驻现场是性价比非常高的选择。

文章写到这里忽然发现已经是2024年的最后一天了。

回顾2024我们似乎有幸站在了时代的分水岭上。

谷歌的Willow芯片在实时纠错能力上的突破,意味着量子计算正在从实验室走向实际应用。

可控核聚变的突破,让我们看到了无限清洁能源的曙光。

而AI的迅猛发展,凭借其强大的模式匹配与高算力,正在重塑各行各业的底层逻辑,推动社会迈向智能化新纪元。

这三股力量的交汇,不仅标志着科技的巅峰突破,更预示着一个崭新时代的开启。

我们正站在历史的十字路口,见证着人类文明迈向新的高度。

看到这里的同学有学习Flutter或者TDD的兴趣,欢迎联系老刘,我们互相学习。

点击免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。

可以作为Flutter学习的知识地图。
覆盖90%开发场景的《Flutter开发手册》

相关推荐
leluckys5 分钟前
flutter 专题二十四 Flutter性能优化在携程酒店的实践
flutter·性能优化
西辰Knight6 小时前
【Flutter入门】2. 快速掌握Dart语言 - 从 Java、JavaScript 转型必看
flutter·dart
weixin_460783878 小时前
Flutter Android修改应用名称、应用图片、应用启动画面
android·flutter
轻口味18 小时前
【每日学点鸿蒙知识】RelativeContainer组件、List回弹、Flutter方法调用、Profiler工具等
flutter·list·harmonyos
low神21 小时前
Flutter入门,Flutter基础知识总结。
前端·javascript·flutter·react native·uni-app·dart
BAStriver21 小时前
关于Flutter应用国际化语言的设置
flutter
sunly_1 天前
Flutter:邀请海报,Widget转图片,保存相册
flutter
放下华子我只抽RuiKe51 天前
Vue.js 表单验证实战:一个简单的登录页面
前端·javascript·vue.js·学习·flutter·node.js·json
sunly_2 天前
Flutter:打包apk,详细图文介绍(一)
flutter
哥谭居民00012 天前
primevue的<Menu>组件
flutter