首页 > 其他分享 >谈谈敏捷开发的误区

谈谈敏捷开发的误区

时间:2023-04-09 13:03:54浏览次数:36  
标签:用户 server 谈谈 开发 文档 误区 版本 敏捷


今天有人做演讲有关敏捷开发的。就演讲而言,讲得非常好,吐字清晰,语速适当,穿插例子,娓娓道来,将意思表达得非常清楚到位,是个很好的演讲。但就内容而言,我却有很大的异议,当中部分观点我认为是对敏捷开发的严重误导。




1)误导的敏捷开发例子:版本更新很快,甚至每天都有新版本。




我的第一个反应就是版本管理存在严重问题。但是仔细一想,即便版本管理存在严重问题,也断不至每天一个新版本。这种情况,最大可能是产品没有经过严格的测试,根本不稳定,就直接放出来,结果在实际使用中bug漫天飞,开发人员不断地推出版本来补窟窿。这种情况,别说商用版本,用户无法接受如此频繁的升级(升级毕竟耗时麻烦,而且流量是用户自己掏的钱),即便是内测版本,也绝不应该如此频繁和随意。




内测版本或试用版本也是经过开发人员验证和测试后放出来,通过实际使用情况,收集用户对功能和操作中的意见,并对实际使用中测试案例无法覆盖的可能异常情况进行验证。不是发现一个bug,就改一个,发布一个,而是收集反馈,统一修订后,再释放新版本(而这,通常时间是按周来计算的),除非这个bug是个极其严重,必须马上更正。




每天一个版本,混乱。在Android上,你可以自行发布更新,但如果基于iOS的,在Apple的App Store上发布,别说每天一个版本,就算每周一个版本,Apple的软件审核流程还没走完,你就又扔一个新的来,抓狂。俺如果负责审核的,直接加入黑名单算了,懒得理你。




将版本更新速度视为敏捷开发,是完全错误的。敏捷开发在于你能够准确抓住市场,在时间窗口内快速推出产品。由于移动市场的不确定性和用户喜好/需求的不确定性,用户通常不清楚需要什么,你先给他,他再去判断,这需要在需求-开发-市场验证中进行循环迭代,以用户为最终目标,而不是机械地将敏捷视为快,而判断什么为快,又机械地用版本推出速度来说明,每天推一个版本,只能说明开发流程出了问题,整个学生小作坊。




敏捷开发也仍然是和版本更新有一定的关系。但这个版本,不是小修小补的小版本,而是有新功能,新UI,新互动方式,在用户体验上有新的感受。这样的版本,不可能一两天就升级。另外,你推给客户的都应该是个稳定的版本。




2)误导的敏捷开发例子:开发团队没有任何文档,就直接交付应用




碰到这种情况,我估计要对着电话一通怒吼,或者很郁闷地找个人倒苦水。就工作量而言,不写文档,减少写文档时间,看起来确实可以加快开发速度,但实际会严重对伤害项目。




互联网应用开发不需要似传统大型软件开发那样,按照软件工程,花大量时间去写文档。不要为了写文档而写文档,而是为了开发而写文档。




例如需求文档(或者功能文档-可以含有版本信息,业务流程文档,互通操作文档),无论具体形式如何,需要清晰地给出你的应用针对什么,提供什么,解决什么。 需求文档有时也可以作为测试的指导。 如果是client+server,你需要给出本期目标的性能,可以简单到一两页纸,但是绝对不能缺。在迭代开发中,你不断地修改它,它是你开发的轨迹。




例如开发文档,不一定要什么概要设计、详细设计这类学院派的东东,但是你需要有文档能够清晰描述开发对象的架构,模块划分,client和server的交互流程,以及关键的核心技术,例如如何避免client和server中过多连接造成的server压力,为何采用长连接tcp而非upd(反之亦然),如何制定心跳,是否需要通过使用底层的socket进行特定优化等等。你至少需要从架构师的角度对产品进行梳理,描述实现的架构、采用的机制和关键技术。开发文档或繁或简,甚至可以在代码中通过注释说明,利用javadoc生产HTML,格式不论。开发项目不是一个Hello World的例子程序。




不要让文档成为开发的负担,而是成为帮助。现在工作的流动性很大,没有文档,当中一两个开发人员离职,如何后续处理。没有开发文档,在架构和关键技术上没有想清楚,贸然而上,开发的永远只是个demo产品。再罗嗦一句,不写文档,早期貌似可以加快速度。但最终对项目造成严重的伤害,我们不要为写文档而文档,我们要为开发写文档。




正是由于没有任何文档,才导致推出后,疲于奔命地修修补补,每天一个版本。敏捷开发是快,但是快不等于敏捷开发。将此敏捷开发的案例是严重的误导。




3)最后说说历史


不是名字刻在砖上,建筑质量就会好。你看到的依然伫立的砖头上刻着名字的古代建筑,是因为你 能看的是历经千年不倒的建筑,那些倒下早已经湮没在历史中,尘归尘,土归土。举个倒下的例子。玄奘在慈恩寺建塔,塔只矗立了30年便倒塌了,武则天决定重建,重建之后的塔,被命名为“大雁塔”。你看到了保存千年的塔,没有看到之前倒塌的塔。

标签:用户,server,谈谈,开发,文档,误区,版本,敏捷
From: https://blog.51cto.com/u_9877302/6178774

相关文章

  • 谈谈“自己的手机”
    近一个月来,各互联网公司都在说做自己的手机,掀起一股“手机热潮”。有网友在博客留言述及相关的问题,也想整理下自己的看法。我们在谈移动生态系统,生态系统中不同物种位于食物链不同位置,有高有低。对于“自己的手机”从低端到高端依次如下:组装的品牌手机我有一台华为的Android手机。......
  • 常见网站优化误区,避免让您的网站被降权
    网站优化已经成为了各行各业不可或缺的一部分。然而,对于很多网站管理员来说,网站优化却是一件难以理解的事情。他们可能会在优化过程中犯一些错误,这些错误会导致搜索引擎降权,甚至被搜索引擎彻底封杀。本文将介绍一些常见的网站优化误区,帮助您避免这些错误,保持网站的良好排名。一......
  • 谈谈你对MVVM的理解?
    MVVM即Model、View、ViewModelModel数据层负责数据的定义以及业务逻辑等操作,对应到Vue组件中就是script部分而View则可以理解为我们打开浏览器所看到的页面,对应到Vue组件中就是templateViewModel可以理解为一个衔接Model和View之间的桥梁,主要功能就是实现Model和View之间的同步......
  • 谈谈学习方法
    上一篇文章公众号上有同学给我留言:张哥,我是一名大二学生,我很喜欢Android,但是我感觉我的逻辑思维有点慢,学习方法也不得巧,所以,问下您有什么建议吗?还是说我不适合学编程,大学计算机专业!其实不止这位同学,之前很多人给我留言,说因为兴趣,选择了编程,而且自己也很努力,也在持续坚持学习,然而觉......
  • 谈谈我是如何应对“红包劫”和彩礼钱
    引用:  女白领一周收到7个红色炸弹钱包扛不住今年28岁白领周秀红近日很郁闷,由于明年1月份的假期特别多,身边的朋友全部利用1月份的假期办理婚礼、生日、孩子满月等喜宴。由于快过年了,她至少还有13起红包支出,最少要5000元。 呵呵,年底要到了,红包要来了,你怎么应对? 方法有两个......
  • 谈谈对GPT发展的一些思考(产品角度)
     ​作者:良知犹存转载授权以及围观:欢迎添加微信号:become_me     搬运一下朋友圈写的一些小文字,分享一波。 核心:一个产品的商业之路,破局。这个案例我觉得真的很经典。 ​ 上周听领导......
  • 谈谈Spring中都用到了哪些设计模式?
    ​ 控制反转(IOC)和依赖注入(DI)IoC(InversionofControl,控制翻转) 是Spring中一个非常非常重要的概念,它不是什么技术,而是一种解耦的设计思想。它的主要目的是借助于“第三方”(即Spring中的IOC容器)实现具有依赖关系的对象之间的解耦(IOC容易管理对象,你只管使用即可),从而......
  • 谈谈Spring中都用到了哪些设计模式?
    ​ 控制反转(IOC)和依赖注入(DI)IoC(InversionofControl,控制翻转) 是Spring中一个非常非常重要的概念,它不是什么技术,而是一种解耦的设计思想。它的主要目的是借助于“第三方”(即Spring中的IOC容器)实现具有依赖关系的对象之间的解耦(IOC容易管理对象,你只管使用即可),从而......
  • 如何应对上手英文工具站的 8 大误区
    这次给大家带来程序员如何应对上手英文工具站的几点误区,帮助大家跳出程序员思维,一起出海软件掘金~-----小小分割线-----误区一:以为参加了这一次航海,就可以赚到美刀。......
  • 软件测试常见的七种认识误区
    随着软件测试对提高软件质量重要性的不断提高,软件测试也不断受到重视。但是,国内软件测试过程的不规范,重视开发和轻视测试的现象依旧存在。因此,对于软件测试的重要性、......