美文网首页程序员
敏捷开发正在成为一种宗教信仰

敏捷开发正在成为一种宗教信仰

作者: 猿择 | 来源:发表于2023-06-08 10:16 被阅读0次

敏捷开发正在成为一种宗教,这是一个不争的事实。越来越多的人对敏捷开发狂热,但是却并不了解敏捷的真正内涵。这种现象导致了许多人肆意改造敏捷的内核,从而使得敏捷开发变得失去了原本的意义。

敏捷开发是一种敏捷软件开发方法,它强调的是快速响应变化和持续交付价值。敏捷开发的核心是团队合作、快速反馈和持续改进。然而,现在很多人并不了解敏捷的真正内涵,他们只是听说过敏捷开发,就开始狂热地追求敏捷。

这种狂热的追求导致了许多人肆意改造敏捷的内核。他们口中的敏捷开发,意思就是要开发言出法随,开发承担一切,包括软件的交付运维,业务的梳理等等,一切规范和流程都可以省去。

更糟糕的是,有些人甚至开始将敏捷开发变成了一种宗教。他们认为敏捷开发是唯一的真理,只要喊敏捷开发的口号就能成功。他们开始强制团队成员遵循敏捷开发的规则,忽略了团队成员的个性和创造力,将开发人员都当做工具人使用。不知道多少项目和公司前仆后继的投入到敏捷,但是不断失败,敏捷教练会以各种话术,让公司和项目继续坚持,毕竟敏捷就是要不断试错嘛。

他们狂热的追求和肆意改造敏捷的内核,使得敏捷开发失去了原本的意义。甚至常常只说一句话,都不容许开发人员质疑,或者开发人员想要明确需求的诉求。

这里引述一个阐述敏捷时常举得例子:


如果用敏捷的方式盖房子

在讲瀑布模型的时候,我拿盖房子举了个例子,如果改成用敏捷开发的模式盖房子,则会是这样子的:

客户想要盖一栋房子(初步的想法)。

产品经理和客户进行了初步的沟通,把用户的需求写成了一个个用户故事(用简单的用户故事代替繁重的需求文档),例如:

作为一个上班族,我想要一个卧室,以便于休息;

作为一个家庭主妇,我想要一个厨房,以便于做饭。

施工人员根据用户故事和客户进一步沟通(客户合作高于合同谈判),然后对用户故事进行设计和实现;

每个用户故事开发时,还要给一个测试机器人编写测试脚本,让机器人可以自动测试(大量采用自动化测试),并且做好的用户故事可以随时被测试验收(随时发布,持续集成);

每个 Sprint 四个星期时间(时间盒子,迭代时间固定);

第一个 Sprint 搭了个草棚,一张床就是卧室,厕所就挖了一个坑,厨房还来不及搭建(每个 Sprint 会选择高优先级的用户故事),屋顶还在漏水(每个 Sprint 会定期发布,客户可以随时看到可用版本,即使还不完整);

第二个 Sprint 有了简易厨房,同时修复了屋顶漏水的毛病(每个 Sprint 不仅完成用户故事,还会修复 Bug);

第三个 Sprint 升级成了小木屋,但是忘记加上窗户(敏捷推崇自动化测试,但可能会测试不完备);

第四个 Sprint 升级成了砖瓦房,窗户也开好了,客户可以入住。但是这时候客户发现一家三口的话,完全不够用,需要扩建到 3 个卧室。于是决定下个迭代改成 3 个卧室(咱们还是讨论情感 房子 票子 比较好 );

第五个 Sprint,升级成了 3 个卧室,升级过程中把厨房下水道弄坏了(迭代过程中可能会导致质量不稳定);

第六个 Sprint,修复了下水道的问题,房子也装修好了(迭代中不断完善);

客户验收使用(上线)。

用敏捷开发的方式,不再像瀑布模型那样有严格的阶段划分,会在迭代中不断完善;不再写很多文档,而是和客户一起紧密合作;不再抵制需求变更,而是即时响应变更;不再等到测试阶段才发布,而是随时发布,客户随时可以看到东西。


看起来很美好是吗?但是似乎没有人关心这里面存在的问题!你每一次搭建和改造房屋的成本谁来承担?!有住过豆腐渣工程造的房子的人都应该清楚,房顶漏水了不是那么容易修复!等你房屋建好了,发现窗户没有,这时候发现人家要坐北朝南,窗户也要朝南,而你承重墙在南面!!!你房屋建好了,发现没有预留下水管道燃气管道,还要再砸开,重新埋设!!!谁教你这么做的!!!

我们需要重新审视敏捷开发的真正内涵。敏捷开发不仅仅是一种流程,更是一种价值观和文化。我们需要强调团队合作、快速反馈和持续改进,而不是机械地遵循流程,但也要讲究科学的方式方法。我们尊重团队成员的个性和创造力,但是在此之前你也要熟悉标准的作业流程,发现其中的痛点!

总之,敏捷开发正在成为一种宗教,这是一个不争的事实。我们需要重新审视敏捷开发的真正内涵,强调团队合作、快速反馈和持续改进,尊重团队成员的个性和创造力,才能真正实现敏捷开发的价值。

相关文章

  • Docker|持续集成

    基本概念 敏捷开发 什么是敏捷开发? 敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。 在敏捷开...

  • 扫盲——敏捷开发 Agile development 之 Scr

    什么是敏捷开发? 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷...

  • 敏捷开发(Agile Development)

    敏捷开发的基本概念:1.什么是敏捷开发?1)敏捷开发是一种以“人为核心,迭代式(循环渐进)”的开发方式,也就是一种...

  • 你现在正在做敏捷吗?

    现在“敏捷开发”已经成为了一个非常“时髦”的词汇,很多的团队和公司都声称自己正在“做敏捷”,但是作为一个跑过很多公...

  • Scrum敏捷开发

    敏捷开发(Agile Development) 敏捷开发是一种迭代、循序渐进的软件开发方法的总称,比较受欢迎的敏捷...

  • 基于JIRA的敏捷开发管理过程

    敏捷开发概念 敏捷软件开发:又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应...

  • 敏捷开发和DevOps

    一、敏捷开发 敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。 在敏捷开发中,软件项目的构建被切...

  • 敏捷与精益

    敏捷软件开发又称敏捷开发,是一种应对快速变化的需求的一种软件开发能力。敏捷方法有很多具体实践或者框架,如Scrum...

  • 敏捷开发入门-学习笔记

    什么是敏捷开发? 敏捷开发(Agile software development)是一种软件开发方法。核心是迭代开...

  • Test-Driven Development

    测试驱动开发(TTD:Test-Driven Development)作为敏捷开发的一种方式,和传统的敏捷开发模式...

网友评论

    本文标题:敏捷开发正在成为一种宗教信仰

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