`
huangyongxing310
  • 浏览: 490297 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

敏捷开发

 
阅读更多
能够结合自身灵活应用才是真正敏捷

团队是价值的真正创造者,应加强团队协作、激发团队潜能

软件开发是一种团队活动,首先应做到提升沟通效率降低交流成本

软件具有四个属性:复杂性、一致性、可变性和不可见性。

软件开发是不可重复、探索性的、演进的,适应性过程。

带优先级的需求清单,迭代计划会议,燃烧图

因地制宜选择适合的敏捷实践:
站立会议->排序的工作列表->持续集成
迭代开发->持续集成->重构
迭代开发->持续集成->结对编程

与其为了满足多而全的功能导致交付延迟,质量不稳定,不如按时交付刚刚好的系统,保证其高质量运行。


测试人员参与到设计和开发过程中,共同预防缺陷的产生。

残酷现实
客户是逐步发现他真正要的东西
开发人员逐步发现如何开发产品满足客户需求
在这个过程中随时可能发生变化


正确做计划方法。
在每一轮迭代开始,只详细确定本次迭代
的工作内容,并严格执行,对后续较远的
迭代内容只做粗略的计划,避免浪费。

迭代计划会议
每日站立会议
可视化管理
迭代验收
迭代回顾会议


PO和开发团队对产品业务目标形成共识
PO建立和维护产品需求列表(需求会不断新增和改变),并进行优先级排序
PO每轮迭代前,Review需求列表,并筛选高优先级需求进入本轮迭代开发
开发团队细化本轮迭代需求,并按照需求的优先级,依次在本轮迭代完成
开发团队每日站立会议、特性开发、持续集成,使开发进度真正透明
PO对每轮迭代(2-4周)交付的可工作软件进行现场验收和反馈
回到第3步,开始下一轮迭代


迭代式开发的好处
通过将高技术风险的需求在早期迭代里实现,有助于尽早暴露问题和及时消除风险
通过提供功能渐增的产品,持续从客户获得反馈,根据反馈及时调整,使最终产品更加符合客户的需要
通过小批量减少排队,提供更灵活、快速的交付能力
平滑人力资源的使用,避免出现瓶颈


迭代式开发的关键要点
每一次迭代都建立在稳定的质量基础上,并做为下一轮迭代的基线,整个系统的功能随着迭代稳定地增长和不断完善。
每次迭代要邀请用户代表(外部或内部)验收,提供需求是否满足的反馈
迭代推荐采用固定的周期(2-4周),迭代内工作不能完成,应当缩减交付范围而不是延长周期


团队保持相对稳定:临时组建的团队生产效率较低,团队稳定非常关键。


聚焦在下面的三个主题:
我昨天为本项目做了什么?
我计划今天为本项目做什么?
我需要什么帮助以更高效的工作?

准时开始:按计划会议制定的时间地点开会,形成团队成员的自然习惯;
高效会议:会议限时15分钟,每个人都保持站立,依次发言,不讨论与会议三个主题无关的事情(如技术解决方案等);
问题跟踪:Scrum Master应该记录下所有的问题并跟踪解决;


可视化管理的好处
简单,一目了然 ,降低管理成本;
实时状态显示,及时暴露问题;
信息同源使团队理解一致,提升团队凝聚力;
激励先进,鞭策后进,增强团队进取心。


什么是迭代回顾会议
在每轮迭代结束后举行的会议,目的是分享好的经验和发现改进点,促进团队不断进步;
围绕如下三个问题:
本次迭代有哪些做得好
本次迭代我们在哪些方面还能做得更好
我们在下次迭代准备在哪些方面改进?


迭代回顾会议的好处
激励团队成员;
帮助团队挖掘优秀经验并继承;
避免团队犯重复的错误;
营造团队自主改进的氛围。

迭代回顾会议的关键要点
会议气氛:Team全员参加,气氛宽松自由,畅所欲言,头脑风暴发现问题,共同分析根因;
关注重点:Team共同讨论优先级,将精力放在最需要的地方(关注几个改进就够了);
会议结论要跟踪闭环:可以放入迭代backlog中。


用户故事的好处
用户故事站在用户视角便于和客户交流,准确描述客户需求;
用户故事可独立交付单元、规模小,适于迭代开发,以获得用户快速反馈;
用户故事强调编写验收测试用例作为验收标准,能促使需求分析人员准确把握需求,牵引开发人员避免过度设计。


结对编程的好处
有助于提升代码设计质量;
研究表明结对生产率比两个单人总和低 15%,但缺陷数少 15%,考虑修改缺陷工作量和时间都比初始编程大几倍,所以结对编程总体效率更高(source: The Economist);
结对编程能够大幅促进团队能力提升和知识传播。







分享到:
评论

相关推荐

    敏捷开发的艺术

    本书为那些正在考虑应用敏捷开发来构建有价值软件的人们提供了实用的指导。现在已经有大量的书籍描述敏捷开发是什么或者为什么它能帮助软件项目成功,但很少有哪一本书能把针对开发者、管理者、测试者和客户的信息...

    敏捷开发 敏捷开发 敏捷开发 敏捷开发

    "敏捷开发 敏捷开发 敏捷开发 敏捷开发"这个标题多次提及敏捷开发,表明其重要性和讨论的焦点。 描述中重复的“敏捷开发敏捷开发”,进一步强调了这一主题的重要性,暗示内容可能涵盖了敏捷开发的各种方面,如原则...

    系统分析师-敏捷开发方法

    系统分析师-敏捷开发方法 本文将论述敏捷开发方法在系统分析师中的应用,通过实践证明,在项目的开发中采用合适的敏捷开发方法可以有效地缩短开发时间,提高产品质量。本文将从以下几个方面论述敏捷开发方法的应用...

    SCRUM(敏捷开发模式)演讲PPT

    根据提供的文件内容,以下是关于SCRUM(敏捷开发模式)的相关知识点: ### 软件过程 软件过程是指为了构建高质量软件所需完成的任务框架。它包括一系列步骤,如定义任务工作步骤、中间产品、资源、角色、方法、工具...

    敏捷开发,敏捷开发,敏捷开发,敏捷开发

    ### 敏捷开发的核心理念与实践 #### 一、敏捷开发概述 敏捷开发是一种强调灵活性、快速响应变化的软件开发方法论。与传统的瀑布模型相比,敏捷开发更加注重团队之间的紧密协作、持续改进以及高质量的产品交付。...

    敏捷开发知识体系

    《敏捷开发知识体系》面向敏捷实践者学习敏捷知识和敏捷软件开发企业进行敏捷转型的需要,旨在帮助个人更快地掌握敏捷开发知识,帮助企业更好地实施敏捷转型。主要内容包括:敏捷开发的哲学理念、价值观、敏捷开发...

    力软Learun敏捷开发框架源码v7.0,开发手册

    力软Learun敏捷开发框架是一款基于.NET技术的低代码开发平台,专为加速Web应用程序的构建而设计。它提供了一整套功能,包括代码生成器、通用权限管理、工作流引擎、即时通讯、微信集成、自定义报表以及BI大屏展示等...

    敏捷开发培训(员工)+文档+PPT

    敏捷开发是一种快速响应变化、强调迭代和协作的软件开发方法论。它源于2001年发布的《敏捷软件开发宣言》及其12条原则,旨在提高软件开发效率,提升团队生产力,确保产品能够满足用户需求并及时适应市场变化。本培训...

    敏捷开发知识体系--高清版.pdf

    根据提供的文件信息,无法直接生成关于敏捷开发知识体系的具体内容知识点,因为所给内容并非实际的知识体系描述或相关内容,而是提示信息和一个网址链接。但是,根据标题“敏捷开发知识体系--高清版.pdf”,我们可以...

    敏捷开发(原著)

    ### 敏捷开发(原著)知识点详述 #### 一、敏捷开发概述 **敏捷开发**是一种以人为本、迭代渐进的软件开发方法论。它强调快速响应变化、重视客户合作与高质量交付价值。《敏捷开发(原著)》一书详细介绍了敏捷开发的...

    轻松Scrum之旅:敏捷开发故事

    敏捷开发是软件开发领域的一种方法论,旨在应对传统软件工程理论中存在的种种问题,如长期的开发周期、高昂的开发成本、糟糕的软件质量、频繁流动的开发人员、官僚的体系制度和迅速变化的市场环境等。敏捷开发的核心...

    某敏捷开发框架专业版7.0.rar

    敏捷开发框架是一种以人为核心、迭代、循序渐进的开发方法论,旨在提高软件开发的效率和质量。本文将详细介绍某敏捷开发框架专业版7.0的核心特性、优势、实施流程以及如何利用其进行高效的软件开发。 1. **敏捷开发...

    敏捷开发管理试题及参考答案.pdf

    敏捷开发是一种快速响应变化、强调灵活性和协作性的软件开发方法论。它主要针对那些需求频繁变化、不确定性高的项目,尤其适合小型、创新性强的项目。敏捷开发的核心价值观包括个体和互动高于流程和工具、可工作的...

    敏捷开发 介绍 文档

    敏捷开发是一种以人为核心、迭代、循序渐进的开发方法论,强调灵活性和客户协作,以适应快速变化的需求。这种开发模式起源于2001年,由一群软件开发专家共同提出的敏捷联盟宣言和12条实践原则,旨在解决传统开发过程...

    敏捷开发pdf学习敏捷开发的资料

    **敏捷开发:一种创新的项目管理方法** 敏捷开发是一种应对快速变化需求的软件开发方法论,它强调灵活性、协作性和客户参与。源自2001年发布的“敏捷宣言”,敏捷开发的核心理念是人与交互优于过程与工具,可工作的...

    C++ 敏捷开发资料

    **C++ 敏捷开发资料概述** 敏捷开发是一种软件开发的方法论,强调灵活性、迭代式开发和快速响应变化。在C++这样的编程语言背景下,敏捷开发可以帮助团队更高效地完成项目,提高软件质量和用户满意度。这份资料包...

    2012 敏捷开发大会 ppt

    【2012敏捷开发大会PPT】是一个集合了多位业内专家在敏捷开发领域的深度分享,涵盖了一系列关于敏捷开发理念、实践以及转型策略的主题演讲。这些演讲内容旨在推动软件开发团队更加高效、灵活地应对快速变化的需求,...

Global site tag (gtag.js) - Google Analytics