`
zhujianjia
  • 浏览: 485887 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

转:敏捷开发基本流程概念的理解与实践

 
阅读更多

又是很长时间没有更新博客了,客观原因是真的很忙,主观原因是自己太懒了。但是想想,知识、经验都是慢慢积累起来的,不总结、不反思、不记录,很多时候这些本应该积累的东西,就渐渐被遗忘了。写在博客里,一方面是为了与大家交流分享,另一方面是记录自己走过的路,反思自己做过的事,这样忙工作才不算是白忙。对自己、对大家都有好处。想是这样想,但真正忙起来的时候就什么都顾不了了。所以,趁着五一长假,终于有时间写一点东西,用于分享,用于记录。

    公司推行敏捷开发已有些时日了。IBM的顾问每周也还会飞来辅导一下,新的知识已经不多,主要还是跟进解决一些在日常执行中遇到的问题,纠正一些错误的理解。关于敏捷开发的概念和好处这些理论的东西,网上一搜一大把,做咨询的比做开发的讲的更好,这些东西我就不多说了。我仅从一个日常执行者的角度,来梳理一下敏捷开发的基本流程和遇到的一些问题。

    用户故事。敏捷开发,首先是基于用户故事的。在实际制定用户故事的时候,需要注意的是用户故事的粒度和其相对独立性。我们在实际执行中,往往会出现用户故事规模估计偏差大,或者故事做到一半发现依赖其他模块的情况。这些问题相信实际进行敏捷开发的同行们都会遇到。开发者往往会因为偏差大而贬低敏捷开发的管理作用,我们的原则是:先僵化、再固化、最后才灵活化。只有这样才能保证敏捷的正常推行。当一切步入正轨之后,再来谈改良的问题。当然对于偏差,我们也采取了一些措施,对评估用户故事规模的人形成反馈,使准确度逐步提高。

    统一团队。敏捷开发之所以敏捷,原因就是统一团队(个人理解)。统一团队包括了开发中各种角色的人员,包括SE、UE、UI、QT。这些人员在同一个团队中能很好的交流,就减少了出正式文档的时间成本,误解能第一时间得到纠正。实际执行过程中发现,虽然名义上是一个团队,但不同角色人员的立场不同,有时很难保证真正的“统一”。这就需要各个组的管理者真正站在项目的角度,给执行者更大的自由度,并且平时减少矛盾,多组织团体活动增进默契。

    迭代化开发。迭代化就是说将开发时间分成一个一个固定时间长度的小阶段,每个迭代完成相应的用户故事,新的需求与改动按照优先级情况排在下一个迭代以后。迭代化开发基本就是我们实际开发工作中执行敏捷理念的日常流程,与我们的开发工作有着非常密切的关系。每个迭代之初,会进行迭代计划,按照需求的优先级,由敏捷小组成员自己领取适合自己规模的故事。然后,进行用户故事澄清,分解用户故事为一个个精确到 人×天 或者 小时×天 的任务,方便管理者掌控进度。每个迭代完成的时候,会有一个迭代回顾会议。迭代回顾会议上,总结完成的故事点数,演示这个迭代的成果,听取组内成员的意见,以持续改进,增进默契。刚开始推行时,每轮迭代回顾会议上会发现许多问题。而会议本身只能暴露问题,并不能解决问题。所以我们在每次迭代回顾会议上,会制定一个迭代改进计划,并在下一次迭代回顾时,对上一个迭代制定的迭代计划的进展情况进行汇报。个人感觉这种方式,取得了较好的效果。

    状态栏的维护。为了将迭代化开发的进展情况更直观让领导者清楚。我们会将每个迭代的计划完成故事、分解成的任务以及各故事和任务的状态贴到一张白板上展示。每日敏捷小组成员进行站会,回顾前一工作日所做工作,今天计划要做的工作,遇到的问题和风险,会后更新状态栏,确认哪些工作计划做,哪些工作正在做,哪些工作已经做完。整个组的情况,最后会形成一个燃尽图,以反映这个迭代的剩余工作量再逐步减小,直到迭代结束,理想情况下燃尽图应该“燃尽”。实际过程中,往往出现状态栏更新不及时,本来应该给领导者表现好的情况,结果让领导者更郁闷。。。好的做法是每轮迭代专人负责跟进状态栏更新情况,做到及时。另一个问题就是燃尽图上涨与燃不尽的问题。少量上涨和剩余工作量小的情况属正常,主要是因为预估工作量偏差或者遇到了其他紧急的事情影响了进度。这要根据具体情况具体分析,不过出现好几轮迭代燃不尽的情况,需要引起管理者重视,及时分析原因,防止情况恶化。我们组就出现过初期没有引起很高的重视,导致后来燃尽图到迭代结束时还没过半的情况。

    现在想到的就这些,敏捷开发主要就是让软件开发项目变得更可控,让不了解具体细节的领导者也能直观的明白和管理项目的进度。当然,这只是一个管理工具而已,对于一些技术攻关与预言的项目,适用性似乎并不强。。。

 

转:http://www.blogjava.net/zh-weir/archive/2011/04/30/349320.html

分享到:
评论

相关推荐

    敏捷开发基本概念

    敏捷开发是一种以人为核心、迭代、逐步交付的开发方法论,它强调灵活性和响应变化的能力。这个概念起源于2001年的“敏捷宣言”,由一群...理解和实践敏捷开发的基本概念,可以帮助团队提升效率,更好地满足客户的需求。

    《Scrum精髓:敏捷转型指南》读书笔记.pdf

    通过以上总结,可以看出《Scrum精髓:敏捷转型指南》不仅提供了Scrum的基本概念和实践指南,还深入探讨了如何根据不同的环境和项目需求来有效地运用Scrum框架。这对于任何希望采用敏捷方法进行项目管理和产品开发的...

    敏捷开发流程与方法

    以下是对敏捷开发流程与方法的详细解读: 1. 敏捷宣言:敏捷开发的核心理念在于四个价值观——个人和互动高于流程和工具,可工作的软件高于详尽的文档,客户合作高于合同谈判,响应变化高于遵循计划。这四大价值观...

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

    这些知识点构成了敏捷开发的基础,通过深入理解和实践,可以提升团队的开发效率和软件质量,使产品更好地适应市场变化。培训资料中的文档和PPT将详细阐述这些概念,帮助员工和学生系统学习敏捷开发的方方面面。

    敏捷软件开发:原则模型与实践

    书中不仅介绍了敏捷开发的基本概念,还深入剖析了各种敏捷模型,包括极限编程(XP)、水晶方法(Crystal)、特征驱动开发(FDD)和Scrum等,旨在为开发者提供全面的理论指导和实践经验。 敏捷开发的核心原则是...

    敏捷软件开发过程最新电子书

    通过阅读这本书,读者不仅能理解敏捷开发的基本概念,还能掌握如何在实际工作中选择合适的敏捷方法,评估和优化团队的敏捷实践,从而实现更高效、更灵活的软件开发。对于希望提升个人或团队开发效率的从业者来说,这...

    敏捷软件开发

    总之,《敏捷软件开发:原则、模式与实践》这本书提供了全面的敏捷开发知识体系,帮助读者理解和实施敏捷开发方法,以适应快速变化的软件开发环境。通过理解和实践这些知识点,开发者可以构建更高效、更灵活的开发...

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

    这个PDF文件可能包含了有关Scrum Master课程的内容,可能涵盖了Scrum的基本概念、实践技巧以及如何有效地引导和优化Scrum团队。对于希望深入理解敏捷开发和Scrum的人来说,这是一份宝贵的参考资料,可以提供关于如何...

    Rails 敏捷开发实践

    通过以上介绍可以看出,《Rails 敏捷开发实践》这本书不仅详细介绍了 Ruby on Rails 的基本概念和技术细节,还提供了丰富的实际案例和敏捷开发的最佳实践,对于想要深入了解 Rails 开发和敏捷方法的读者来说,是非常...

    敏捷开发:Lean Concepts for IT Professionals

    总的来说,《敏捷开发:Lean Concepts for IT Professionals》这本书将引导读者深入理解如何运用精益原则优化软件开发流程,实现更快、更高质量的交付,并为团队提供一个更适应变化的环境。通过学习和实践书中的理念...

    敏捷软件开发原则,模式与实践

    总结来说,《敏捷软件开发:原则、模式与实践》是一本为软件工程师量身定制的实践指南,旨在帮助他们更好地理解敏捷开发的各个方面,从而在实际工作中更有效地应用这些方法、原则和模式。通过阅读这本书,读者可以...

    敏捷软件开发经典教材

    - **第4章:方法论**:介绍了敏捷开发方法论的概念和设计原则,通过XPUnderGlass案例研究,解释了为什么需要方法论,以及如何在实践中应用敏捷方法论。 - **第5章:敏捷与自适应性**:阐述了敏捷开发的轻量化但...

    火星人敏捷开发手册

    5. **迭代与冲刺**:迭代是敏捷开发中的时间盒概念,而冲刺是Scrum中的一个特定迭代,用于在一个固定时间内完成一组选定的工作。书中会讨论如何规划和执行迭代,以及冲刺目标的设定和评审。 6. **用户故事**:用户...

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

    #### 第3章:敏捷开发流程 - **产品Backlog管理**:产品Backlog是敏捷开发的核心组成部分之一,它包含了所有待开发的功能需求。通过精心规划、编写用户故事并确定优先级,可以有效地引导团队的工作方向。 - **...

    敏捷开发学习(基础与开发工具)

    首先,"原创文章-敏捷开发基础(全).pdf"可能涵盖了敏捷开发的基本概念,如敏捷宣言、价值观和原则。敏捷宣言强调个体和互动、可工作的软件、客户合作以及对变化的响应,而非过程和工具、详尽的文档、合同谈判和...

    敏捷开发--模式,原则与实践

    “敏捷软件开发:原则、模式与实践”这一文件名暗示了书中可能详细讲解了敏捷开发的十二原则,例如“个体和互动高于流程和工具”、“可工作的软件高于详尽的文档”等。此外,书中应该还会阐述如何将设计模式融入到...

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

    为了满足您的要求,我将从“敏捷开发”的相关知识体系出发,详细阐述敏捷开发的基本概念、原则、实践方法以及敏捷开发在现代软件开发中的重要性和应用。 敏捷开发是一种强调快速、灵活、迭代和协作的软件开发方法。...

    敏捷开发实践集(AgileDo)

    《敏捷开发实践集》旨在通过提供一系列经过验证的敏捷实践案例,帮助软件开发团队更好地理解和运用敏捷方法,尤其是Scrum框架。该实践集不仅涵盖了标准的敏捷实践,还针对不同场景提出了具体的落地策略,并配套提供...

Global site tag (gtag.js) - Google Analytics