我在成都教人用Flutter写TDD(中)——TDD开发流程

哈喽,我是老刘

书接上文,去成都帮助一家公司搭建基于Flutter的TDD开发流程。
我在成都教人用Flutter写TDD(上)——为啥要搞TDD?

背景是客户接到来自欧洲的Flutter开发项目,要求开发流程使用TDD。
为啥欧美开发者对TDD或者敏捷开发的认可度这么高?
前面那篇文章老刘用自己两次在项目中实战TDD取得的成果做了解答。
本文我们介绍一下在基于Flutter的客户端项目中如何实施TDD流程。

TDD(Test-Driven Development 测试驱动开发)其实不是一个完整的开发流程

一说起来TDD大家首先想到的可能是下面这幅图


这确实是TDD的核心动作,但它并不是一个完整的开发流程。
一个完整的开发流程至少要解决从拿到需求一直到提交测试的全部过程。
我们以敏捷开发为例,标准的XP流程从最开始和客户聊需求的时候就开始通过与客户沟通,收集需求,并将需求转化为用户故事。
一个迭代完成后还会向用户演示,收集反馈并修正下一个迭代的开发内容等。
本文不打算讲敏捷开发的各种不同框架比如Scrum或者XP。
第一是因为这些流程涉及到的远不止开发团队,包括产品、测试、运维等等都需要共同协作。
在目前国内的软件开发环境下,想推动这么多团队共同进行变革其实很难。
我在前面那篇文章中也说了我的第一次Scrum尝试就因为这个原因失败了,最后只有TDD得以保留。
第二就类似于这次成都的客户,很多以外包业务为主的公司,拿到的项目就是UI设计都已经做好只需要进行开发的项目。
他们也不太需要这种完整的敏捷开发流程。他们只需要在开发这一步能够利用TDD等技术带来的各种好处。
所以,搭建一个以细化后的需求作为输入,一直到提交测试为止的,以TDD为核心的开发流程,就是很多公司或者团队的实际需求。

以TDD为核心的开发流程

假设现在我们接到一个开发电商类App的项目,项目需求包括UI、UE设计都提供了。
那么接下来第一步是把任务分配给开发人员准备开始干活了。

模块分配

对于客户端来说通常是根据页面和功能模块进行任务划分的。
这个大多数团队也是这样操作的,没必要细说。
不过这里要提示两点:
一,其实页面也是功能模块的一种直观体现,本质上也是功能模块,比如购物车模块、商品模块、登录模块等。
除此以外还有很多没有对应UI的模块。
所以任务分配的时候不要只被可见的页面局限。
二,对于从0开始的项目,早期大多数人力应该投入底层模块,比如网络、数据库、基础架构组件等。

这两点做开发的不会有什么问题,但是不懂技术的管理者和开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值