网站开发与维护项目招标,网站开发商外包,有关外贸的网站有哪些内容,wordpress 添加备案最近在拜读郑晔的10x程序员工作法#xff0c;收益良多#xff0c;文中提出一个概念叫DoD#xff08;Definition of Done#xff09;给我的感触颇深。这让我联想到实际工作过程中#xff0c;经常遇到的扯皮、争吵等各种场景#xff0c;其实就和这个DoD分不开。一、场景描述… 最近在拜读郑晔的10x程序员工作法收益良多文中提出一个概念叫DoDDefinition of Done给我的感触颇深。这让我联想到实际工作过程中经常遇到的扯皮、争吵等各种场景其实就和这个DoD分不开。一、场景描述 郑晔在文中描述了这样一种现象相信有开发经历的人多少有同感老张这有一个任务需要完成你看一下。小李这个不难两天就能做完两天以后就能上线。 两天以后老张又来到小李的身边验收工作老张怎么样做完了吗今天能上线吗小李我的代码写完了。老张测试人员测过了吗小李还没有。老张那今天能测完吗小李那我就不知道了。老张什么我可是答应了业务的人今天一定要上线的 两天以后老张又来检查工作。老张这个功能开发完了吗小李写完了你看我给你演示一下。 小李熟练地演示了这个新写好的功能这次老张很满意老张做得不错。单元测试都写了吧小李啊还要写单元测试吗老张要不为啥给你两天的时间 很明显老张有些愤怒貌似总在挑刺而小李也没有偷懒、有些委屈。于是老张、小李和测试人员一起度过了一个不眠之夜。二、理解的代沟 根据上面的场景我画了两幅小李和老张的思考图看下两者的代沟在哪儿如下图所示。 很显然两者对完成的定义各不相同。对开发人员小李来说完成容易理解为编码完成而不去考虑代码测试和线上测试对技术主管老张来说完成的理解可能会更多一些包括编码测试代码规范审查上线等等有些老张脑子里的东西更多比如下图所示 为什么会有上面的差异从立场来看小李汇报的对象只有老张而老张要协作的对象可能有产品经理、老板、总监、小李们。小李是从个人层面关注的是一个点老张是从团队层面关注的是一个面。 各自定义差可能反应了一个信号就是团队成员整体上缺乏职业素养那么这个团队就危险了。从小李的角度无论怎么努力都不可能满足老张的需求从老张的角度总觉得小李偷懒导致团队之间老是摩擦、挑刺最后小李干的不爽了老张也觉得小李孺子不可教最后事没有做好人跑了。 接下来就要回到作者提出的DoD概念(完成的定义)从这个概念的名字便不难看出它就是为了解决软件开发中常见的“完成”问题而生的。三、完成的定义 这里的DoD在郑晔看来包含三个层次的含义DoD 是一个清单清单是由一个个的检查项组成的。DoD 的检查项应该是实际可检查的。DoD 是团队成员间彼此汇报的一种机制。 借助这三个含义我模拟登录功能列了表格 以上是站在测试用例的角度来写一个简单的登录就可以包含18个开发功能点做好登录并没有那么简单这也就难怪小李和老张总是意见不一致。如果摊开这份清单用来验收登录功能的完整性我相信小李和老张彼此都不会有什么意见。 但是这里有一个问题就是老张根本不会去做这份清单小李也没有这种意识那谁来拟定也许你会说引入中间层就是测试人员来拟定假设你们团队没有测试人员呢 事情总是没有表面看起来的那么简单。这里再设计一份简化的验收清单 如此简化的功能也能多少避免小李和老张的鸿沟了吧那么又回到前面的问题谁来制作这份清单 我个人的意见是小李来做因为小李的势能没有老张高那就多增加自己的动能了显示自己做事的能力同时也做一个同事眼中的好伙伴领导眼中的好同事。等小李变成老李了遇到小张也是小张来做这事。四、DoD是一种思维方式 郑晔在最后又补充道至此我们只是从软件开发团队内部协作的角度来谈 DoD。但实际上它不仅局限在团队内部协作上如果你可以放开思路会发现 DoD 的思维在工作中用途非常广泛。比如当我们需要和其他团队合作开发一个接口时我们都知道第一步就是要把接口定义下来。 这里的DoD看起来很完美定义了验收清单罗列了一系列验收项目并固化成文档。但是过程中有几个焦油坑需要去思考如何才能符合“可验收”彼此都无法想到的风险如何管理 也许这需要团队的磨合了从老张角度如果这事不会死人其实没有必要去咄咄逼人大不了后续进行迭代改进否则逼得紧其实只会引起反弹养成小李习惯性的逃避责任形成团队推卸责任的文化就得不偿失了。 当我们有了DoD的思维方式后面的事情也许会变得简单很多郑晔举了个小例子让人折服1.经常会有人过来让我帮忙做些事。运用 DoD 的思维我首先会问他我具体要做哪些事确认好细节相当于定义好“检查项”然后我就知道这个忙我能帮到什么程度。2.我请别人帮忙的时候也会很清楚告诉他哪些事是需要他做的尽量减少不必要的误解。五、总结 人与人的协作总会存在理解上的偏差如何去解决信息不同步的问题呢DoD是一种最佳实践它是包含了检查项的验收清单而如何做到“可检查”需要双方重点沟通。DoD从大了看是一种思维模式是一种尽可能消除不确定性达成共识的方式。借用郑晔的一句话“如果今天的内容你只能记住一件事那请记住在做任何事之前先定义完成的标准。”原文地址https://www.cnblogs.com/jackyfei/p/10244806.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com