迭代开发

简介:

我们开发一个产品,如果不太复杂,会采用瀑布模型,简单的说就是先需求 定义 ,然后 构建框架 ,然后写 代码 ,然后测试,最后发布一个产品。
这样,几个月过去了,直到最后一天发布时,大家才能见到一个产品。

这样的方式有明显的缺点,假如我们对用户的需求判断的不是很准确时——这是很常见的问题,一点也不少见——你工作了几个月甚至是几年,当你把产品拿给客户看时,客户往往会大吃一惊,这就是我要的东西吗?

迭代的方式就有所不同,假如这个产品要求6个月交货,我在第一个月就会拿出一个产品来,当然,这个产品会很不完善,会有很多功能还没有添加进去,bug很多,还不稳定,但客户看了以后,会提出更详细的修改意见,这样,你就知道自己距离客户的需求有多远,我回家以后,再花一个月,在上个月所作的需求分析、框架设计、代码、测试等等的基础上,进一步改进,又拿出一个更完善 的产品 来,给客户看,让他们提意见。
就这样,我的产品在功能上、质量上都能够逐渐逼近 客户 的要求,不会出现我花了大量心血后,直到最后发布之时才发现根本不是客户要的东西。

这样的方法很不错,但他也有自己的缺陷,那就是 周期长 成本很高 。在应付大项目、高风险项目——就比如是航天飞机的控制系统时,迭代的成本比项目失败的风险成本低得多,用这种方式明显有优势。
如果你是给自己的单位开发一个小MIS,自己也比较清楚需求,工期上也不过花上个把月的时间,用迭代就有点杀鸡用了牛刀,那还是瀑布模型更管用,即使是做得不对,顶多再花一个月重来,没什么了不起。



本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2010/10/08/1845870.html,如需转载请自行联系原作者
相关文章
|
7月前
|
存储 数据处理
什么是迭代,什么是可迭代对象
什么是迭代,什么是可迭代对象
134 1
|
28天前
|
测试技术 UED
浅谈产品如何完成友好迭代
以简书的网站改版为例
52 18
|
2月前
|
搜索推荐 数据可视化 测试技术
迭代式开发:提升软件项目管理效率的关键路径
迭代式开发将软件项目划分为多个短周期,每个周期结束时交付一个可运行的版本,便于快速获取用户反馈并进行调整。与线性的瀑布模型相比,迭代式开发更具灵活性,能更好地应对需求变化。其核心在于小步快跑、快速反馈和持续改进。通过短周期迭代,团队能及时发现并解决问题,提高协作透明度,并根据用户意见不断优化产品。实施时需设定固定迭代周期、建立跨职能团队、采用持续集成与自动化测试,并重视每次迭代后的回顾与优化。尽管面临需求频繁变更、时间管理和团队协作等挑战,但借助现代办公协同工具,迭代式开发能显著提升项目管理效率,确保产品更贴近用户需求。
69 0
|
4月前
|
敏捷开发
敏捷开发的全过程问题之迭代排期时提前梳理下一迭代的需求列表的问题如何解决
敏捷开发的全过程问题之迭代排期时提前梳理下一迭代的需求列表的问题如何解决
|
3月前
|
敏捷开发
敏捷开发:拥抱变化,快速迭代
在软件开发领域,敏捷开发已成为应对快速变化、提升交付效率的有效方法。它强调团队协作、客户反馈和灵活应变,核心价值观包括个体互动优先于流程工具、可工作软件优先于详尽文档、客户合作优先于合同谈判、响应变化优先于遵循计划。敏捷开发通过跨功能团队、短周期迭代、持续改进和客户紧密合作等实践,实现高效开发和创新。虽然面临抵抗变化、管理期望等挑战,但敏捷思维能显著提升团队表现和产品品质。
|
4月前
|
敏捷开发
敏捷开发的全过程问题之迭代容量计算的问题如何解决
敏捷开发的全过程问题之迭代容量计算的问题如何解决
|
5月前
|
网络协议 开发者
迭代重构问题之没有日常迭代的微重构例子,如何解决
迭代重构问题之没有日常迭代的微重构例子,如何解决
|
6月前
|
敏捷开发 前端开发 JavaScript
现代软件开发中的技术选型与迭代优化
在当今快速发展的软件开发环境中,技术选型和迭代优化是至关重要的环节。本文探讨了如何在面对复杂需求和快速变化的市场中,通过合理的技术选型和持续的迭代优化实现项目的成功与持续发展。
101 2
|
敏捷开发 测试技术
敏捷开发方法管理项目快速迭代,适应变化
Leangoo领歌是一款永久免费的专业敏捷开发管理工具,也提供私有部署。国产软件,提供端到端敏捷研发管理解决方案,包括小型团队敏捷开发,规模化敏捷SAFe,Scrum of Scrums大规模敏捷,涵盖敏捷需求管理、任务协同、进展跟踪、缺陷管理、统计度量等。提供了不同视角的统计,例如:进度统计、燃尽图、团队速率、任务分布、缺陷分布、测试用例分布等等,实时掌握项目状态及进展。
|
7月前
|
测试技术
快速迭代下,研发和测试如何高效配合?
快速迭代下,研发和测试如何高效配合?
136 1