`
Tristan_S
  • 浏览: 374202 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

瀑布 vs 迭代

 
阅读更多
传统瀑布模型
问题1
Analysis -- design – code –test – deploy
无法应对需求的变化 做出来的不是客户想要的

问题2
项目只有准时交付(代价是加班)和延期 不会有提前交付 
因为项目估算是一个概率的正态分布 总是有80%的在预期内20%在预期外
由于前期定计划的时候(design) 是分模块的或是需要depending在其他功能或是项目组上
即使你早做好了也没有用 --- 浪费了提前完成的时间
20%在预期外 说明总有人会落后于计划 这是一个概率现象 无法避免 除非你加班
这就导致了项目会被整体拖慢,这就导致了为什么传统的软件开发只有60分和不及格

优点
方便规划成本

迭代开发
优点1
快速应对需求变化,提供客户最想要的功能

优点2
合理安排人员分配
不因为做的快慢有所奖惩 能有效的利用提前完成的时间,对会出现的delay加大投入
对于个人而言需要更多的互助, 不像在瀑布中每个人完成自己的模块就ok

优点3
用户能及早的参与体验 而不是在最后UAT阶段 降低风险

问题1
不方便在前期估算成本/合同等
--- 解决方式  合同中不写具体的如何实现,只写最后达到的目的

问题2 【关键】
跨部门 跨team之间的交流
由于迭代需要多批次的发布,将本来在SIT阶段任务拆分成很多个,急剧地增加了沟通的成本。
--- 解决方式 将不同team的人放在一起组成一个团队(closure function team) 消除跨team之间的沟通成本 但这也是最难实现的 而且我们不只是跨team 还跨国家 跨时区
如果解决不了这个问题 迭代开发可能会弄巧成拙

管理者
工作能力不需要很强(如果一个人能力太强 会轻视周围的人 最后弄的自己很累)
需要有包容心,让别人发挥出最好的水平,更加主动的和别人沟通
分享到:
评论

相关推荐

    从瀑布型开发到迭代型开发的转变.pdf

    本文探讨了软件开发过程从瀑布型开发向迭代型开发的转变,以及这种转变带来的优势。瀑布型开发是一种线性、阶段性的开发模型,通常包括需求分析、设计、实现/集成和测试等步骤。然而,这种模型在实践中往往过于严格...

    管理迭代化的软件开发项目

    在软件工程领域,管理迭代化的软件开发项目是一种高效且灵活的方法,它与传统的瀑布模型相比,具有诸多优势。本文将深入探讨迭代化开发的核心概念、与瀑布模型的区别、软件项目的开发阶段、制定项目开发计划以及迭代...

    迭代化软件开发

    为了克服传统瀑布模型的不足,迭代化开发方法被提出并广泛应用于现代软件工程实践中。迭代化开发的基本思想是将整个项目的开发目标划分为多个更小、更易于管理和完成的阶段性目标。每个阶段性目标(即一次迭代)都...

    Rational迭代化软件开发

    迭代化开发方法与传统的瀑布模型不同,后者通常遵循一个线性的、顺序的流程。迭代模型允许团队在项目的早期快速获得可见成果,并在每次迭代中根据反馈进行调整。这种迭代的过程有助于降低风险,提高软件质量和满足...

    敏捷与瀑布

    敏捷开发和瀑布模型是两种截然不同的软件开发方法论,它们反映了不同的开发理念和实践策略。 瀑布模型是一种传统的线性开发方法,其特点体现在以下几个方面: 1. 阶段性依赖:瀑布模型强调从需求分析、设计、编码...

    软件开发模型-瀑布模型

    同时,瀑布模型还可以在迭代模型中应用。但是,瀑布模型也存在一些缺点,如对客户需求的假设、设计到产品的转换、假设清晰的分工等。 在实际应用中,瀑布模型适用于客户需求明确、项目进程稳定的情况下。但是,对于...

    软件工程课程阶段测试题目 软件生命周期中不含哪个阶段、关于瀑布模型说法正确的是、下面关于软件过程模型说法错误的是

    螺旋模型结合了瀑布模型的线性顺序和原型模型的迭代特性,并加入了风险分析;统一过程模型(RUP)包含了软件需求分析阶段。软件项目计划中通常需要制定项目成本、组织结构、风险控制等方面的方案,但并不包括数据库...

    手机版瀑布流

    在开发过程中,使用版本控制工具(如Git)管理代码,配合持续集成/持续部署(CI/CD)流程,确保代码质量和版本迭代的顺利进行。同时,进行跨平台和跨浏览器的测试,确保在实际环境中能够正常运行。 最后,文件"手机...

    敏捷如何应对变化的需求-短周期迭代-禅道.pdf

    ### 敏捷开发应对变化需求的关键策略:短周期迭代 #### 一、引言 在当前快速变化的市场环境中,客户需求的变化已经成为一种常态。传统的瀑布式开发模型往往难以适应这种变化,导致项目延期、成本超支等问题频发。...

    jQuery演示8种不同的瀑布流效果

    瀑布流布局,也被称为Masonry布局,是一种网页布局方式,常用于图片展示,使得页面在有限的空间内可以呈现更多的内容,同时保持良好的...通过不断迭代和优化,我们可以为用户提供更流畅、更具吸引力的瀑布流浏览体验。

    迭代软件开发作业流程.doc

    迭代软件开发作业流程是软件开发领域中的一种重要方法论,它们可以解决传统瀑布型开发步骤中的问题,如需求或设计中错误、项目风险控制能力较弱、软件项目常常延期完成或开发费用超出预算等问题。迭代化开发的核心...

    迭代软件开发流程参考.pdf

    迭代软件开发流程是一种应对传统瀑布模型中问题的现代软件开发策略。传统的瀑布模型强调文档驱动,按照需求分析、设计、编码、测试和维护等顺序进行,这种线性方式容易导致需求变化带来的返工,项目延期和成本超支,...

    从瀑布模型、极限编程到敏捷开发

    2. 没有迭代与反馈,瀑布模型对反馈没有涉及,所以对变化的客户需求非常不容易适应。 3. 管理人员喜欢瀑布模型的原因是把文档理解为开发的速度,可以方便地界定不同阶段的里程碑。 瀑布模型的问题是: 1. 不适合...

    迭代软件开发流程.doc

    与传统的瀑布式开发模型相比较,迭代化开发具有以下特点: 1. 允许变更需求:迭代化开发可以及时地回应需求的变化,保证开发出来的系统真正地解决客户的问题。 2. 逐步集成元素:迭代式方法中,集成可以说是连续...

    迭代软件开发流程.pdf

    迭代软件开发流程是一种新的软件开发方法,它不同于传统的瀑布式开发流程。在传统的瀑布式开发流程中,整个软件开发过程被划分为顺序相接的几个阶段,每个阶段都需要完成全部规定的任务(文档)后才能够进入下一个...

    频谱图,瀑布图 ,qcustomplot重写

    在IT领域,尤其是在图形用户界面(GUI)的开发中,数据可视化是一项至关重要的任务。...通过不断迭代和优化,可以创造出更加高效、用户友好的数据展示工具,这对于科研、工程和商业分析等领域都有着广泛的应用价值。

    从瀑布型开发到迭代型开发的转变

    本文来自RationalEdge:一个理想的迭代开发方法模型在很多方面与理想的瀑布开发模型有着根本上的不同。但是,从实际来说,没有一个团队严格的应用了每一种开发方法模型。本文解  简介:本文来自RationalEdge:一个...

    Android 瀑布流简单实现

    瀑布流布局,也被称为Pinterest布局,是Android应用中一种常见的图片展示方式,尤其在社交网络、电商应用等场景中广泛使用。...在实现过程中,不断迭代和优化,才能构建出高效、流畅且用户体验良好的瀑布流应用。

Global site tag (gtag.js) - Google Analytics