`
袁斌_AgileDo
  • 浏览: 66854 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

迭代开发还是流开发(一):迭代开发遇到的困难

阅读更多
迭代开发还是流开发(一):迭代开发遇到的困难
基于Scrum的迭代开发已经很多年,很多团队会在2周一个迭代的周期频率下不断交付,基于跨职能的团队,同时迭代中不允许有变化的需求。但是有一些场景让这种迭代很困难,例如:
1) 紧急的技术支持
2) 临时增加的非常高的优先级的需求
3) 需求的批量小,导致无法2~4周一个迭代稳定发布
4) 估算非常难,导致不容易承诺,例如不清楚原因的bug修改,需要技术预研的任务,越来越庞大的系统导致事先未曾考量的任务出现的几率越来越大
5) 一些专家只对自己的技能擅长,导致计划扑克等团队估算形同虚设,同时他们在迭代中的任务很可能不饱满或者超值(他不能帮助其他人同时其他人也无法帮助他)
6) 由于大量增加和变化的需求,导致燃尽图对PO和团队已经没有意义
7) 市场的需要,2周的周期,太长了

对于以上的问题,我们可以有一些办法在Scrum中解决,例如:
#1:故事驱动开发
#2:多一些Buffer
#3:专家在任务不饱满的情况下继续以后迭代中可能会完成的与自己技能相关的任务,虽然这些任务不确定是否以后的迭代中需要
#4:…..

但是否有另一种开发方式可以比较好的适应这些场景,例如流开发?后续我们会讨论流开发以及“迭代和流”开发的可能结合方式。

1
2
分享到:
评论

相关推荐

    XP软件开发

    - **迭代开发**:XP项目通常由一系列短周期(2-4周)的迭代组成,每个迭代都会产生可工作的软件,这样可以在早期发现问题并及时调整。 - **测试驱动开发(TDD)**:开发人员在编写功能代码之前先编写单元测试,确保...

    敏捷开发之通俗理解

    - **迭代开发**:通过将项目分成多个小周期进行开发,每个周期都能交付可工作的软件产品。 - **快速反馈**:尽早地向用户展示成果,并根据用户的反馈快速调整方向。 - **持续改进**:在项目的整个生命周期内不断优化...

    测试驱动开发的3项修炼:走出TDD丛林

    在《测试驱动开发的3项修炼:走出TDD丛林》一书中,作者王晓毅深入分析了在执行测试驱动开发时常见的问题和挑战,比如测试的编写难以覆盖所有功能点,或者在编写测试时面临设计上的困难。书中提供了实际案例分析,...

    软件工程中的敏捷开发方法与实践经验分享讲座.pptx

    - **迭代开发**:通过将项目划分为多个小周期(迭代),每个周期都能交付可工作的软件产品,从而使得项目能够在短时间内看到成果,并且可以根据反馈进行调整。 - **自我组织**:团队应该有能力自我组织,这意味着...

    产品敏捷开发流程说明.pdf

    Scrum敏捷开发流程是一个迭代式开发过程,强调团队协作、快速响应变化和不断改进。 1. 角色及职责 * 产品负责人(PM):主要决定每个迭代要开发的功能,并在每个迭代结束评审交付项是否符合要求。在产品开发流程...

    《敏捷软件开发:原则、模式与实践》

    在书中,作者首先介绍了敏捷开发的背景和理念,解释了为什么传统的瀑布模型在面对复杂性和需求变化时会遇到困难,而敏捷方法如何提供了一种更灵活的解决方案。他阐述了敏捷开发的十二大原则,这些原则为敏捷团队的...

    Tekla二次开发自学入门教程.zip

    5. **解决问题**:遇到困难时,利用Tekla论坛、Stack Overflow等平台寻求帮助。 通过这个自学入门教程,你将能够逐步掌握Tekla二次开发技能,为你的工程设计工作带来更高的效率和灵活性。记得,实践是检验真理的...

    应用重构:《从知乎 iPhone 端重构说开去:Web 为主的复杂社交产品的 iOS 端开发策略及实践》| 知乎 耿健桓 | iOS DevCamp

    - **迭代开发速度慢**:由于缺乏高效的开发流程和技术栈支持,导致新功能上线周期较长。 - **逻辑层次不清晰,代码耦合严重**:早期的代码结构不够合理,导致维护困难,难以快速响应市场需求的变化。 这些问题是Web...

    敏捷开发与软件工程实践.pptx

    组织结构调整可能会遇到困难。 #### 第三章:XP敏捷开发方法 **XP(极限编程)**是一种侧重于技术实践和价值观的敏捷开发方法。 - **核心实践**: - **持续集成**(Continuous Integration, CI):频繁地将代码...

    软件工程与计算机地图制图软件开发.pptx

    软件工程是针对软件开发中遇到的困难,如成本增加、延迟交付、不符合需求、频繁出错和维护困难等问题,提出的一种系统化、规范化的工程方法。它综合运用计算机科学、数学和管理科学的原理,采用工程化的手段来提高...

    敏捷开发的必要技巧

    接着,讲述了敏捷开发的典型实践,如短周期的迭代开发、持续集成、每日站会、用户故事管理以及反馈驱动的改进。这些技巧有助于团队在快速变化的环境中保持灵活性,提高开发速度和质量。 第3章:除去代码异味 "代码...

    数值计算方法实验 二分法 迭代法 牛顿跌代 弦截法

    弦截法在没有导数信息或导数计算困难时是一个不错的选择,但相比于牛顿法,其收敛速度可能较慢。 这四种方法各有优缺点,适用于不同场景。在实际应用中,往往需要根据问题的具体情况选择合适的解法。例如,对于函数...

    从架构师的观点来看软件开发流程

    - **迭代开发**:通过迭代的方式逐步完善系统,每次迭代都交付增量的功能。 #### 争取资源和支持 项目成功的关键之一是获得足够的资源和支持。这需要架构师或项目经理展示项目的价值和可行性,以获取更多资源。...

    对基于信息化的软件开发项目管理分析.docx

    - **变更管理困难**:软件开发过程中常会出现需求变更,而瀑布模型对此适应性较差。 2. **项目管理人员能力不足**: - **团队协作不佳**:团队成员之间缺乏有效沟通与合作,遇到问题时容易相互推卸责任。 3. **...

    SCRUM是一个用于开发和维持复杂产品的框架.docx

    SCRUM是一种被广泛应用于软件开发以及其他复杂项目的迭代式和增量式开发方法。该框架强调快速响应变化,通过一系列短周期的迭代(Sprint),实现对产品功能的持续改进和完善。 #### 二、核心概念解析 ##### 1. ...

    软件工程-软件开发方法.docx

    原型法是在软件开发初期,根据对用户需求的初步理解快速构建一个原型系统,然后通过用户的反馈和迭代改进来逐步完善系统。这种方法适用于需求不是很明确或者用户无法清晰表达需求的情况。 **适用范围:** - **处理...

Global site tag (gtag.js) - Google Analytics