`
rocket
  • 浏览: 90694 次
  • 性别: Icon_minigender_1
  • 来自: 金城
社区版块
存档分类
最新评论

敏捷项目实践步骤

阅读更多

一、根据发布目标分析需求,把需求分析成独立的故事,初步的分析可以是粗略的,随着需求的不断深入刻意对故事进行整合或者切割。

要注意的是分析出来的需求尽量在发布目标的范围之内,超出发布目标的需求应该尽量避免过深分析。

所谓的发布目标是确定了这个版本可以让用户满意的条件。

故事模式:做为(用户角色),我可以(做什么),以便(业务价值)。后面的业务价值在比较简单或者大家都比较明确的时候刻意不需要注明。

当前团队实践推行方法:

第一阶段,这个分析工作开始由PM进行收集,整理和分析。

第二阶段,当大家都为用户故事的方式接受以后,采用需求讨论的方式来明确和分析用户故事。

 

二、对分析的故事进行相对估计,估计出来的故事点是对用户故事和复杂度的无单位估计值,使用的数值大小本身没有绝对意义,只有相对于其他故事规模的相对意义。

比如,用户登录这个用户故事的估计值是2,那么做为同等开发规模的用户推出,这个用户故事的估计只也因该是2

当前团队实践推行方法:

第一阶段,这个估计的工作暂时由pm来负责完成,但是由于一个人的估计肯定会有偏差,所以在估计完成之后需要进行调查来进行修正

第二阶段,用估计扑克会议来统一的对用户故事进行估计,当主持人拿出一个新的用户故事之后,大家给出自己对这个故事使用扑克打分,然后取出平均值,对差异较大的估计值要给出解释,来消除对用户故事的错误理解。估计扑克会议的实践不超过1个小时。

 

三、准备产品调查,对用户故事进行功能存在,和功能缺失性的产品调查,然后根据调查结果对用户故事进行划分,划分成3类,基本需求,线性需求,线性需求。

此外还有反对的需求,存在疑问的需求,无所谓的需求3种类型的需求,这些需求将根据进一步的发展进行确认。

当前团队的实践推行办法:

第一阶段,由pm发出调查问卷在参与到项目的开发团队,测试团队,技术支持团队来进行调查,然后汇总答案根据存在问题和缺失问题的答案,对用户故事进行定性

第二阶段,由pm发出调查问卷扩展到相关的用户群体中进行调查,然后汇总答案根据存在问题和缺失问题的答案,对用户故事进行定性

 

四、确定发布规划,首先要确定的是迭代周期的长度,以周为单位,然后估计出每个迭代周期团队的速度。然后可以从用户故事池中选择出合适的用户故事来填充到第一次和第二次的迭代周期中。其余的暂时可以先不用填充,随着每次迭代周期的完成来对发布计划进行更新。最后根据估计的速度和需要开发的故事来确定需要几个迭代周期,并最终有几个迭代周期来确定需要开发的时间周期。发布计划可以以功能来驱动进行,也可以以日期来驱动进行。

发布规划的特点,以月做为时间范围,规划对象是用户故事,估计的单位是故事点

当前团队的实践推行办法:

第一阶段,使用1周做为迭代周期,开始时团队速度使用估计的方式做出简单估计,根据每个周期结束后的团队速度再进行发布计划的调成。迭代周期内用户故事的完成暂时以开发完成做为标准。

第二阶段,使用2周做为迭代周期,可以使用原有的历史速度做为团队速度,多出的一周时间做为测试修复时间,迭代周期内用户故事的完成以测试完成,完整的功能提交做为标准,并在开发过程中熟练使用单元测试来进行确保功能的完整完成。

 

五、确定迭代规划,根据填充到迭代周期内的用户故事来分解成工作任务,工作任务包括设计工作,不同层次的开发工作,调试工作和测试工作等等具体的任务,然后对任务进行估计,这时候估计的单位以理想工作小时做为单位。比如,设计需要两个人小时,开发持久层需要1个人小时,调试持久层需要半个人小时,开发业务层需要2个人小时,调试中间层需要1个小时等等。。。

然后根据每个故事的人小时和这个迭代周期内参与的人数,以及每个人所能参与的实际有效时间(注意有效时间约为每天6小时,需要考虑到会议,讨论,头脑休息等非理想工作时间)来判断这个迭代周期的填充是否足够,如果不够则再加入一个用户故事,如果超出则移出一个用户故事到下一个迭代周期中。

迭代规划的特点,以周做为时间范围,规划对象是工作任务,估计的单位是理想小时

当前团队的实践推行办法:

第一阶段,使用速度驱动的方法来进行迭代规划,即确定了本次迭代的速度,然后选择用户故事扩展成任务,对任务进行估计。

第二阶段,使用承诺驱动的方法来进行迭代规划,即提出一个故事,把故事扩展成任务,对任务进行估计,让小组承诺是否可以完成这个故事,如果可以在迭代周期内完成则加入这个故事,如果不能完成则推迟到下一个迭代走起。

 

六、迭代开始,在迭代开始时召开迭代启动会,分配迭代周期内的用户故事和工作任务到个人,每个工作任务必须精确到个人,同一个用户故事的不同工作任务可以根据情况适当分配给不同的人来完成。

当前团队的实践推行办法:

第一阶段,任务分配给个人,通常一个故事的任务分配给同一个人。

第二阶段,任务分配给结对,通常一个故事的任务分配给同一个结对。

 

七、迭代进行,每日早对昨日完成的工作任务和问题进行汇报,并且同时计划今天需要完成的工作任务,对于迭代过程中的进度和问题进行及时的观察和调整,要求每个人完成某个任务之后要及时的告知整个小组知道(qq群的方式最为快捷)。

当前团队的实践推行办法:

第一阶段,由pm及时地对当日工作进行询问。并负责把遇到的问题跑出来进行解决。

第二阶段,小组成员主动地对已经完成的任务进行汇报,并及时把自己遇到的问题抛出来。

 

八、迭代结束,确认本次迭代完成的用户故事,对于完成一部分的用户故事计算到下一次迭代中。并对本次迭代的过程资产进行总结,形成FAQ方式的文档进行规整。

同时根据新的需求情况,资源情况,已完成功能的回馈,以及开发中遭遇的不确定性问题,对发布规划和迭代规划作出调整。

当前团队的实践推行办法:

第一阶段,使用学习网站,或者博客等方式对经验进行记录。

第二阶段,使用完善的skills对经验进行记录,可以方便的组织成培训文档,并方便的进行搜索,查找。

 

九、迭代测试,为了保证用户功能完整的提交,每个用户故事开发完成之后都要对该用户故事进行测试,然后在针对开发中出现的问题进行修复,以便完整的完成一个用户故事。

 

第一阶段:测试迭代周期和开发迭代周期分开。

每次迭代开始阶段由pm告知开发组需要开发的和修复的的用户故事,同时告知测试组本次迭代需要测试的故事,需要准备的故事,需要复测的故事。

并在分配任务时,把修复故事的工作规划到本次迭代中来。

每次开发完成的用户故事点算作本次迭代的速度

 

迭代1

迭代2

迭代3

迭代4

迭代5

测试

准备故事1,2

测试故事1,2

准备故事3,4

测试故事3,4

准备故事5,6

复测故事1,2

测试故事5,6

准备故事7,8

复测故事3,4

测试故事7,8

准备故事9,10

开发

开发故事1,2

开发故事3,4

修复故事1,2

开发故事5,6

修复故事3,4

开发故事7,8

修复故事5,6

开发故事9,10

 

第二阶段:测试迭代周期和开发迭代周期合并。

每次迭代开始阶段由pm告知开发组需要开发的故事,同时这些故事也是测试组需要准备测试的故事。要求这些故事分解的工作任务中要包括测试工作和修复工作。

每次测试完成的用户故事点算作本次迭代的速度

 

迭代X

测试

准备故事1,2,3,4

测试故事1,2,3,4

复测故事1,2,3,4

开发

开发故事1,2,3,4

修复故事1,2,3,4

完成故事1,2,3,4

 

十、发布结束,对本次发布中完成的用户故事进行会议总结:

1确定最终完成的用户故事,以及花费的迭代周期

2通过计算得到一个团队的人平均速度,这个速度做为下次发布规划的参考

3分析哪些用户故事的估计出现了失误,以及出现失误的原因是什么。

4最初的发布版本在市场上有了初步反馈信息之后,可以延长1个迭代周期用来做为发布版本的反馈收尾。

分享到:
评论

相关推荐

    敏捷项目管理经验分享

    在JIAR使用敏捷进行项目管理,敏捷研发管理流程,敏捷研发管理流程在JIAR中的具体操作方法和步骤。

    敏捷开发中高质量Java代码开发实践

    本文将结合敏捷开发周期短,变化快等特点,介绍如何通过在开发过程中采取一系列步骤来保证和提高整个开发团队的代码质量,并阐述了每一步可以利用的工具和最佳实践,从而使开发过程更加规范化,成就高质量的代

    敏捷脑图用例实践之路

    传统的黑盒测试用例比较繁杂,在实施敏捷的项目中会显得水土不服,让测试人员过度关注用例步骤的编写、修改,甚至同一条用例经过多人执行得到相同结果,让人想到一个呼之欲出的广告词:一次编写,多人运行相同结果,...

    敏捷高质量编程

    本文将介绍在敏捷开发过程中如何通过采取一系列的步骤来保证和提高整个项目的代码质量,阐述 了每一步可以利用的工具和最佳实践,从而使开发过程更加规范化,成就高质量的代码。

    敏捷脑图测试用例实践之路

    传统的黑盒测试用例比较繁杂,在实施敏捷的项目中会显得水土不服,让测试人员过度关注用例步骤的编写、修改,甚至同一条用例经过多人执行得到相同结果,让人想到一个呼之欲出传统的黑盒测试用例比较繁杂,在实施敏捷...

    《敏捷软件开发(原则模式与实践)》读书笔记

    由于书是由英文书籍翻译,读起来会难免拗口,本次分享是由《敏捷软件开发》结合网上相关资料总结而成。瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。步骤成果...

    敏捷开发流程 之 junit提高代码覆盖率

    本文将结合敏捷开发周期短,变化快等特点,介绍如何通过在开发过程中采取一系列步骤来保证和提高整个开发团队的代码质量,并阐述了每一步可以利用的工具和最佳实践,从而使开发过程更加规范化,成就高质量的代码,...

    软件工程:有关编程最佳实践,设计模式,体系结构模式和项目管理的说明

    设计模式,架构模式和项目管理的说明有关实际的实现,请参阅: 包括: :classical_building_selector: :snake: Python示例子包示例相对进口 :gear_selector: 配置文件示例快速参考最佳实践敏捷质量保证步骤1-什么...

    利用RationalTeamConcert在敏捷开发中进行持续集成

    详细说明了如何在RTC中通过采取一系列的步骤和脚本开发,来保证持续集成过程的连续性和提高整个项目的效率。同时还阐述了每一步可以利用的工具和最佳实践,从而使开发过程更加规范化,高效化。概述...

    敏捷软件开发:比较研究-研究论文

    为了管理开发团队和他们正在进行的项目,称为“传统”的著名方法通过提供从规范到最终交付的一系列步骤来考虑项目管理和开发团队。 但是,由于互联网的发展,公司之间的竞争正在加剧。 另外,客户的需求在变化,...

    bootcamp2020c31:实践项目

    在婴儿步骤中学习JAMstack Serverless 现代应用 现代应用程序是通过模块化架构模式(例如微服务(而不是单片)和组件),无服务器操作模型,事件驱动的架构,存储在现代全球分布式数据库中的数据,与GraphQL查询和...

    《敏捷软件开发》-方法论要素和原则

    《敏捷软件开发》的作者AlistairCockburn提出方法论具有以下要素:角色、个性、技能、团队、技术、活动、过程、产品、里程碑、标准、质量、工具、团队价值,它们的关系可以用一幅图来表示:对于方法和方法论的区别,...

    gatsby-image-agilitycms:敏捷性CMS的Gatsby映像实施

    盖茨比图像敏捷度 随着的发布和新的,我们能够创建gatsby-image-agilitycms 。 这是一个自定义图像组件,该组件获取存储在Agility CMS中的图像,并处理显示响应图像的所有困难部分,这些部分遵循最佳实践在网站或...

Global site tag (gtag.js) - Google Analytics