美文网首页这事情急不得
真正的程序员不需要Data Driven

真正的程序员不需要Data Driven

作者: 这事情急不得 | 来源:发表于2019-04-12 00:03 被阅读24次

    最近几个月我总是听到Data Driven这个词,大家总是经常把它挂在嘴边。然而我感觉并没有人真正的仔细思考过这到底指的是什么意思。

    首先,Data Driven这个词本身的含义非常的模糊。很多人总是认为在做一件事之前我先通过一些手段collect一些data,证明我的想法或者design是正确的之后再真正着手开始做,这就叫做Data Driven。这种想法固然乍一看是不错,但这种想法却会带来一系列的负面问题:

    先通过一些手段collect一些data,这其实本身已经是一个开始做的过程了,不能说这个过程不属于做事的整个过程。如果不把早期论证的过程也视作整体工作的一部分,那么在评估项目难易度和工作量的时候就会出现很大的偏差。

    先通过一些手段collect一些data,然而有些事情并没有什么其他的手段,只能通过先做出来看结果再说,或者说选择其他手段先收集数据比起直接做然后看结果来说反而工作量更大,得不偿失。此时如果一味认死理没有data的证明就不开始实际的项目开发,那么项目就永远不会开始开发或者开发的成本远高于预期。这就是Data Driven本身语义不清晰造成的鸡和蛋谁先有的问题,我是等先有了data再开发还是先开发等有了data再用data来优化下一次的开发的迭代?

    Data Driven,反正一切都是看Data嘛,那么这就会造成一个什么结果呢,Tech Leader或者Manager对手下人说:我们要做这个feature,我们是data driven,你们先弄些data来证明我们这个feature到底要不要做,到底是不是要花这么多时间,到底是不是该这么design。然后小兵吭哧吭哧把data搞出来了,Tech Leader或者Manager一看data不错OK就这么搞。那在这个过程中Tech Leader和Manager发挥了什么作用呢?Data都是小兵搞的,Tech Leader和Manager只是看一下小兵搞的data而已,看懂data并不难,换句话说随便找一个小兵他自己就能根据这些data得出结论。我们为什么要Tech Leader和Manager,就是要让他们根据他们自己的经验来给小兵们快速的做决定,如果他们的决定全部来自小兵吭哧吭哧搞出来的data,那还要Tech Leader和Manager做什么呢?

    Data Driven僵化思维,抹杀创新。创新是什么?就是从来没有过的东西被创造出来了,既然是从来没有过的东西,你哪里会有手段去弄一些data来验证,还不是只能先闷头做出来再说?所以按照一定要先有data再开搞的思路,不会有创新。

    Data Driven是大公司的政治产物。大公司的领导们为什么喜欢Data Driven,因为它安全,至少按照这套流程走犯错的概率会变少,这样就更加的安全。然而安全的反面就是创新的不足。对于小公司,创业公司来讲,需要的是员工大胆的尝试,快速的开发,抓住机会,时间不等人,而不要去怕犯错误,所以小公司创业公司搞Data Driven必然死的快。

    Data Driven并不能解决根本问题。万一我有了data,并且已经准备好开工了,然后此时需求变化了,导致我之前的data在新需求面前完全就没用了,此时怎么办?再次collect data吗?万一需求再次更改呢?所以Data Driven的本质是瀑布式开发流程,一定要等万事具备了,才能开始动手,然而这种思路在需求快速变化的当今已经过时了。

    真正的程序员不需要Data Driven。敏捷开发的过程是一个迭代的过程,敏捷开发要求每一次迭代必须要有一个可运行的结果。敏捷开发的目的就是应对不断变化的需求。所以在敏捷开发里我们提倡先做出可运行的程序再说,不管它有多么的简陋,只要我们遵循敏捷开发流程,那么即便需求变化了,我们也能很快的在下一次迭代中来适应新的需求。而这一次迭代的结果是可以被观测和测试的,这样这一次迭代的结果可以作为data来优化下一次的迭代,即便这一次迭代的结果不正确或者迭代失败了,我们至少也证明了此路不通,下一次迭代也还能利用现有的code来做调整。而且迭代的过程能够让我们更早的得出正确的design和有用的少bug的code。所以真正的Data Driven其实是在敏捷开发模式下的Result Driven。希望各位能改变先collect data才能开始做的这种观念。

    相关文章

      网友评论

        本文标题:真正的程序员不需要Data Driven

        本文链接:https://www.haomeiwen.com/subject/fdsiiqtx.html