[DAY27] 功能型团队 VS 需求型团队

前面的篇章大部分着重 DDD 的战术设计,这篇来说说战略设计。

功能型团队

在导入 DDD 前,我们审视後发现,过去的开发项目并没有完全满足其他部门的需求,导致对於同一需求开发多次;然而,当初的规格都是按照其他部门的说明内容去开的,那怎麽还会这样呢?

举个例子,行销部门说"我想要在网站上加成就系统",接着 PM 开始问细节,要有几个成就、页面长这样行不行等等,然後估时程、实作,实作完成後交付成果,最後行销部门说: "好像没有达到我们想要的目的"

这凸显出了,我们的团队其实是功能型团队,其他部门说什麽我们就做什麽,但有时其实他们也不甚清楚想要什麽,导致做出来的东西并不能解决问题。

需求型团队

假如连使用者都不清楚要甚麽了,开发团队要怎麽知道呢?(通灵、读心术)

以刚刚的例子,行销部门说: "我想要在网站上加成就系统",这时候就可以追问为甚麽想要成就系统——是想要吸引新用户?还是想要让用户留在网站的时间长一点?那是不是可以透过其他方法达成目的,像是加强 SEO?

对於其他部门想要的开发不能照单全收,要抱着打破砂锅问到底的精神去了解背後的需求,而 DDD 的战略设计中就有许多好用的技巧可以达到这个目的,比如共通语言(Ubiquitous Language)可以让所有人在同一页上讨论、事件风暴(Event Storming)可以完成每个人对流程的共识等等。

下一篇会继续聊聊,关於改变开发流程,团队遇到的一些别扭事件。


<<:  ## [Day27] Video Speed Controller UI

>>:  人脸辨识-day27 实作人脸侦测

Day14:全端工程师的工作内容?(上)

一、前言   因为我待的是较小型的接案公司,基本上全端工程师的工作几乎全包,从投标、接案、访谈客户需...

入门魔法 - 变数宣告 let、const、var

前情提要 「我想确认一下,入门魔法都是加 100 魔力总量吗?」 艾草:「对唷!之後有中阶魔法加比较...

Day5:进入新手村前先让我复习一下QQ-CSS-flexbox-用在外层容器的属性

上一篇讲到的是基本概念的部分,Flexbox可以把它当成一个容器(Container)以及内容物(i...

Day 29 Unittest

在做完了程序之後,就要来测试一下是否正常运作对吧。不过当你做完了数十个 API 之後,我相信你一定不...

初学者跪着学JavaScript Day8 : 资料型别:BigInt

ㄧ日客家话:中文:去哪里 客语:诶 ㄏㄧ 赖 诶 BigInt对数学、金融、科学来说是很重要的,因为...