敏捷开发-快速迭代

article/2025/10/4 8:36:42

(转自:http://blog.csdn.net/xiaoxian8023/article/details/8883791)

今天跟大家分享的是“敏捷开发、快速迭代”。我们大都采用的是“瀑布开发模式”,有了问题,就得返工,虽然最终的产品会比较齐全完善,但是开发周期太长,开发人员会产生排斥,甚至厌恶的心理。经过YH系统的开发,也且生体会到了这一弊端。

有问题就要去解决它!于是我想到了“敏捷开发”。借鉴敏捷开发模式,来改善软件开发过程,提高项目的开发效率。

要想借鉴,首先得弄懂以下3个问题。

1. 什么是敏捷开发
百度百科中是这样解释的:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

我们可以这样认为,敏捷开发是一种面临迅速变化的需求快速开发的能力。要明确几点:
敏捷不仅仅是一个项目快速完成、而是对整个产品领域需求的高效管理;
敏捷不仅仅是简单的快,而是短周期的不断改进、提高和调整;
敏捷不仅仅是一个版本只做几个功能,而是突出重点、果断放弃当前的非重点;
敏捷不仅仅是随时增加需求,而是每个迭代周期对需求的重新审核和排序。

2.如何进行敏捷开发?
敏捷开发的体系建设主要有如下六个方面:
1、组织建设
      也就是团队建设,建立以产品经理为主导,包含产品、设计、前后台开发和测试的team,快速进行产品迭代开发;扁平化的团队管理,大家都有共同目标,更有成就感;

2、敏捷制度
      要找准适合自身的敏捷开发方式,主要是制定一个完善的效率高的设计、开发、测试、上线流程,制定固定的迭代周期,让用户更有期待;

3、需求收集
      这个任何方式下都需要有,需求一定要有交互稿,评审通过后,一定要确定功能需求列表、责任人、工作量、责任人等;

4、工具建设
      是指能够快速完成某项事情的辅助工具,比如开发环境的一键安装,各种底层的日志、监控等平台,发布、打包工具等;

5、系统架构
      略为超前架构设计:支持良好的扩容性和可维护性;组件化基础功能模块:代码耦合度低,模块间的依赖性小;插件化业务模块:降低营销活动与业务耦合度,自升级、自维护;客户端预埋逻辑;技术预研等等;

6、数据运营与灰度发布
      点击率分析、用户路径分析、渠道选择、渠道升级控制等等。

有幸拾得某位牛人的敏捷开发经验,再结合自己的理解,一起拿出来与大家分享一下:
1 、 重点明确,及时调整。
      通过分析需求的紧急性和重要性,做出优先级的判定,优先级从1排到10,没有重复;
      迭代中严格按照优先级顺序开发,即使最后时间不够,也能保证最需要的功能开发完成;
      每次迭代前重新调整需求的重要性,及时加入重要的业务需求和用户需求,将重要性不高的需求往后调整。

2、倾听用户的声音、相信用户的直觉。
      在迭代中充分关注线上版本用户的反馈,并且主动联系用户了解困扰,在当个迭代或下个迭代快速优化;通过对用户反馈的及时响应获得用户的认可和口碑。
      这里就提到一个名叫“AB test”的开发模式,一个问题有A、B两种解决方案,不知道哪个更符合用户的需求,那么就让用户去选择,根据用户的反馈去迅速调整。
      有兴趣的话,可以看看这个视频,是我在找资料时看到的,里面讲到了这个问题,即小米MIUI产品经理许斐演讲的“快速迭代的互联网开发模式 ”。

3、勇于创新、小步快跑。
      在迭代中勇于创新,快速实现创新想法,并在后续的迭代中不断优化。
      一直远离媒体视线的腾讯CEO马化腾,在“合作伙伴大会一周年”的活动上,也给合作伙伴和同行们“小步快跑,快速迭代”的建议,被赋予“一直在模仿,从未被超越”称号的腾讯开发团队,其实创新也是国内最多的。

4、持续不断地发现问题,解决问题。
      通过每天的版本发布来检验团队在每日立会上做出的承诺;
      测试和验证功能的开发程度;
      对于功能的实现第一时间给出反馈,并能快速调整,而不会像瀑布式等到开发末期才发现实现上的问题。

5、持续提升整个团队的产品能力。
      专门的团队面向一个产品领域;
      持续优化用户体验和产品流程;
      通过产品迭代的心跳保持产品团队的用户和市场敏感度;
      提升产品经理的产品感觉、提高技术团队的产品意识;
      团队伴随业务而成长,获得更高的成就感。

更多具体的实施和经验分享,可以参考“项目管理专栏”。

说了这么多,归结起来就是,产品通过不断的获取用户新需求,不断的更新迭代而愈加成熟。而快速迭代,则能提升团队的市场竞争力,从而快速占领市场。
看过一幅图片:快速迭代,越变越美。那么如何快速迭代呢?

3.如何快速迭代
其实这个问题已经在第二个问题中回答过了,这里再单拿出来说,是为了强调一下。
现在是互联网的时代,互联网产品的更新速度可谓是日新月异。互联网的开发模式也是主要围绕“快速迭代”的主题来开发产品的 在飞速发展的互联网行业里,产品是以用户为导向在随时演进的。因此,在推出一个产品之后要迅速收集用户需求进行产品的迭代——在演进的过程中注入用户需求的基因,完成快速的升级换代,裂变成长,才能让你的用户体验保持在最高水平。不要闭门造车以图一步到位,否则你的研发速度永远也赶不上需求的变化。

可能我们做的不是互联网的项目,但是如果是大项目,依旧推荐使用敏捷开发。分级需求,快速迭代产品。让用户能在短时间内用户用上你的产品,短时间内使用到新功能。

采用“短周期迭代法”,可以压缩项目开发实施周期,减少项目风险,简化管理,提高各个环节达成率,有效推进项目建设。

快速迭代,版本更新快,所以要考虑降低项目风险,确保正确的方向。

敏捷开发能够缩短项目的反馈周期,因其将项目分成了若干个迭代周期,每个迭代周期结束都能立即反馈。且通过不断的沟通,还能减少理解上的偏差,配合反馈,减少误解,从而降低修正错误的代价。且每个迭代周期的结束都能接受验证,从而能快速的适应变化,及时的适应新的需求,保证产品的正确性。

那么迭代周期设定为多少合适呢,“小步快跑、快速迭代”,当然系统大小也会影响到迭代周期,所以把迭代周期一般设置为1-6周为佳。

曾经跟QQ安全管家的一个开发人员聊过天,得知QQ安全管家是一星期一个beta版本,一月一个正式版。小米的MIUI更新周期,每天都有更新给荣誉开发组,每周都更新ROM包,提供给用户下载。百度每天都会有上百次更新升级上线,网页搜索的结果页每一天都有几十个等待测试上线的升级项目。可见快速迭代是多么许多公司都推荐的一种开发模式。

还有一点要注意,快速迭代,不是说一定要做好了,才能上线,半成品也能上线。

在没有上线之前,你怎么知道哪好那不好。所以半成品也是可以出门的,一定不要吝惜在家,丑媳妇才需要尽早见公婆。尽早的让用户去评判你的想法,你的设计是否可以赢得用户的喜爱。快速发出,紧盯用户反馈。百度完成了第一版的搜索引擎,也是让用户去做的选择。用百度CEO李彦宏(Robin)的话来说“你怎么知道如何把这个产品设计成最好的呢?只有让用户尽快去用它。既然大家对这版产品有信心,在基本的产品功能上我们有竞争优势,就应该抓住时机尽快将产品推向市场,真正完善它的人将是用户。他们会告诉你喜欢哪里不喜欢哪里,知道了他们的想法,我们就迅速改,改了一百次之后,肯定就是一个非常好的产品了。”

简单地分享了一下对敏捷开发,快速迭代的理解。这里再给大家一个连接,51 C TO的《 专题:初探敏捷开发 》,供大家参阅。


http://chatgpt.dhexx.cn/article/dixMfLtT.shtml

相关文章

一文搞定软件过程模型——瀑布模型、增量式开发/增量开发与迭代开发的区别

软件开发比较经典的过程模型有: 瀑布模型:该模型将基本的过程活动、描述、开发、有效性验证和进化,看成是一些界限分明的独立的过程阶段,例如,需求描述阶段、软件设计阶段、实现阶段、测试阶段等。增量式开发&#xf…

软件迭代开发流程

如果对python自动化测试、web自动化、接口自动化、移动端自动化、大型互联网架构技术、面试经验交流等等感兴趣的老铁们,可以关注我。我会在公众号(程序员阿沐)/群里(810119819)不定期的发放免费的资料链接&#xff0c…

迭代开发流程

转载于:https://www.cnblogs.com/gispathfinder/p/8747869.html

git 迭代开发分支流程规范

前言 Git 的名称太响了,相信大家都听说过,鼎鼎大名的同性交友网站 GitHub 就是基于 Git 作为唯一的版本库格式进行托管的平台。本篇不详细介绍 Git 的使用,仅介绍基于 Git 的开发分支流程规范,需要对 Git有一定的了解。 简述 G…

迭代开发和增量开发

(转自:http://blog.csdn.net/l12345678/article/details/5642851) “迭代”和“增量”是敏捷软件开发中的两个重要概念。弄清楚“迭代”和“增量”以及其依据,我们就可以在实际的操作中有章法可循。 为什么要迭代? 我们…

转」最佳方案:迭代式开发

前言 Fred Brooks 在 25 年前就曾写到:“不要指望一次成功,无论如何你都要这样。” 敏捷开发,小步快跑,持续迭代,不断改进,产品升级。 在用例需要之前,不要添加数据成员 在代码之前编写测试 …

alert意为:警告、警报。

在JavaScript代码中&#xff0c;alert的作用是弹出一个浏览器对话框&#xff0c;"JS代码"为提示对话框的内容 <body><script type"text/JavaScript"> alert("提交成功&#xff01;我会尽快与你取得联系"); </script></body…

JS中alert和alter

JS中没有alter&#xff0c;只用alert&#xff0c;alert表示输出后面的语句

js 的 alert函数问题

alert是js人非常熟悉的东西&#xff0c;可以用来调试&#xff0c;写在这里是想警醒我自己&#xff0c;以后再遇到这样的问题的时候谨记这么修改。 看一个简单例子&#xff1a; <body><div οnmοuseοveralert((function(){return"abc";}()))>abc</…

Alert 提示框的使用

1. Alert 基本的使用 1.1 实现 /// 提示框 struct AlertBootcamp: View {State var showAlert: Bool falseState var alertType: MyAlerts? nilState var alertTitle: String ""State var alertMessage: String ""State var backgroundColor: Color …

java中的alert是什么意思_javascript 中如何使用alert?

alert不行的,要变通的话还是用showModalDialog试试吧. window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框&#xff0c;由于是对话框&#xff0c;因此它并没有一般用window.open()打开的窗口的所有属性。 window.showModelessDialog()方法用来创建一个显示HTML…

Grafana面板(panel):报警功能(alerts)

文章目录 alerts(报警设置)Create a Grafana managed alerting ruleAdd Grafana managed rule alert notifications增加一个notification channel alert报警邮件中的链接地址错误如何配置alert产生的报警如何删除&#xff1f;alert设置注意事项 alerts(报警设置) 注意&#xf…

alertmanger 入门

alertmanger 安装 tags: alertmanager 文章目录 alertmanger 安装1. 简介2. 安装2.1 二进制包部署 AlertManager2.1.1 下载2.1.2 创建 alertmanager 配置文件2.1.3 启动2.1.4 查看状态 2.2 docker 安装2.3 关联 Prometheus 与 Alertmanager 2. 配置文件说明3. 配置示例&#x…

alertmanager的使用

alertmanager的使用 一、Alertanager的安装1、下载2、安装3、启动4、alertmanager和prometheus的整合 二、告警分组1、告警规则2、alertmanager.yml配置3、分组相关的alertmanager的配置4、邮件发送结果 三、告警抑制1、告警规则2、alertmanager.yml 配置抑制规则3、邮件发送结…

JavaScript window.alert

文章目录 相关背景HTML中嵌入JS的第一种方式实现代码图是结果在HTML中插入JS的第二种方式实现代码实现结果HTML中引入JS的第三种方式实现代码实现结果 相关背景 HTML中嵌入JS的第一种方式 实现代码 <!DOCTYPE html> <html lang"en"> <head><me…

Window alert() 方法

一 定义和用法 alert()方法用于显示带有一条指定消息和一个确认按钮的警告框。 二 语法 alert(message) 三 代码 <html> <head> <title>警告对话框的应用</title> <meta http-equiv"Content-Type" content"text/html; charsetgb2312…

html中js alert函数,javascript的alert是什么

alert是javascript中的一个内置函数&#xff0c;用于显示带有一条指定消息和一个“确认”按钮的警告框&#xff1b;语法“alert("文本")”。警告框经常用于确保用户可以得到某些信息&#xff1b;当警告框出现后&#xff0c;用户需要点击确定按钮才能继续进行操作。 本…

AlertManager 简介与使用

简介 之前我们学习 Prometheus 的时候就了解到 Prometheus 包含一个报警模块&#xff0c;就是我们的 AlertManager&#xff0c;Alertmanager 主要用于接收 Prometheus 发送的告警信息&#xff0c;它支持丰富的告警通知渠道&#xff0c;而且很容易做到告警信息进行去重&#xff…

【云原生】Grafana Alerting 告警模块介绍与实战操作

文章目录 一、概述二、Grafana Alerting 模块介绍三、配置图表四、告警告警规则五、配置告警通道&#xff08;Contact points&#xff09;1&#xff09;Email1、配置smtp&#xff08;grafana.ini&#xff09;2、配置消息模板3、配置告警通道 2&#xff09;WebHook1、编写webhoo…

alertmanager 简介

alertmanager 简介 tags: alertmanager 文章目录 alertmanager 简介1. 前言2. 架构3. 特性3.1 group&#xff08;分组&#xff09;3.2 Inhibition&#xff08;抑制&#xff09;3.3 Silences&#xff08;静默&#xff09; 1. 前言 Prometheus的报警功能主要是利用Alertmanager…