软件项目管理——敏捷方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件项目管理——敏捷开发方法1214042904张哲峰1214042902郎贤波什么是敏捷开发?2001年2月,17个方法学家在美国犹他州Snowbird成立了敏捷软件开发联盟,并共同起草了《敏捷软件开发宣言》,这标志着敏捷开发的诞生。个人与交互高于流程和工具可用软件高于详尽的文档客户合作高于合同谈判响应变化高于遵循计划最优先要做的是通过尽早、持续地交付有价值的软件来使客户满意。欣然面对需求变化,即使在开发后期,用变化来为客户创造竞争优势。经常地交付可工作的软件,相隔几星期或一两个月。商务人员和开发人员必须天天都工作在一起。激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任。效果最好效率也最高的传递信息方式是面对面交谈。可工作的软件是进度的首要度量标准。敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。坚持不懈地追求技术卓越和良好设计,增强敏捷能力。简洁为本。最好的架构、需求和设计出自自组织团队。团队定期地反思如何能提高成效,并依此调整。四大价值观12条基本原则什么是敏捷开发?SCRUM极限编程XP特征驱动开发FeatureDrivenDevelopment自适应软件开发AdaptiveSoftwareDevelopment精益软件开发LeanSoftwareDevelopment敏捷统一开发过程AgileRationalUnifiedProcess动态系统开发方法DynamicSystemDevelopmentMethod水晶系列方法Crystal敏捷开发主要的几种过程模型SCRUM并列争球法•主要负责确定产品的功能和达到要求的标准,•指定软件的发布日期和交付的内容•有权力接受或拒绝开发团队的工作成果;产品负责人(ProductOwner)•负责软件产品在Scrum规定流程下开发,5~10人左右;•要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力。开发团队(ScrumTeam)•清除客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。流程管理员(ScrumMaster)SCRUM中的三大角色SCRUM并列争球法ProductOwner确定ProductBacklogScrumTeam根据ProductBacklog列表,做工作量的预估和安排SprintPlanningMeeting:从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间周期是1~4个星期,然后把这个Story进行细化,形成一个SprintBacklog;ScrumTeam中每个成员根据SprintBacklog再细化成更小的任务SCRUM流程SCRUMDailyScrumMeeting:每个人汇报昨天完成了什么承诺今天要完成什么,提出不能解决的问题,更新自己的Sprintburndown每日集成,即每天都要有一个可以成功编译、可以演示的版本SprintReviewMeeting:产品负责人和客户都要参加,每一个ScrumTeam的成员都要向他们演示自己完成的软件产品;SprintRetrospectiveMeeting:以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中;SCRUM流程XP极限编程四大价值观沟通沟通反馈勇气五个原则快速反馈简单性假设反馈逐步修改提倡更改优质工作XP极限编程13个最佳实践计划游戏小型发布隐喻简单设计测试先行重构结对编程集体代码所有制持续集成每周工作40小时现场客户编码标准配合是关键FDD特征驱动建模Feature(特征):是一个基本开发单位,是(FDD)项目中的一个增量,是指用户眼中最小的有用的功能,可以在很短时间内实现(一般在两周之内)。FDD中的角色1.Domainexpert(s):领域专家2.ChiefArchitect(s):首席架构师3.ChiefProgrammer(s):主程序员腾讯敏捷研发框架——TAPD可以认为,TAPO=f{FDD(需求分析/建模);Scrum(敏捷过程模型);XP(实践方式)}1.产品:参考FDD,即产品特性开发驱动的一种模式,腾讯的产品会有一个明确的产品经理负责整个产品,包括产品的验证、产品的方向、市场调研、用户调研等,所有的开发团队都是由产品经理所归纳出来的产品特性去驱动整个产品的研发。2.项目管理过程:参考SCRUM,大概的项目管理过程同SCRUM过程相似,包括每天的晨会、迭代、timebox、每个迭代完成的时候会有showcase、回顾总结等。3.开发实践:参考XP,采纳其中的部分实践,比如自动化测试和持续集成。腾讯敏捷研发框架——TAPD迭代计划需求开发UI设计每日晨会时间盒故事墙迭代总结灰度发布用户参与迭代计划迭代考虑的因素解释项目紧急程度即一个功能是不是用户当前非常需要的,如果是,则会尽量在早期迭代中实现功能点大小确保选择的功能点可以在2-3周内完成,对于大的功能点,需要再进行分解细化影响人群优先选择大量用户的共同需求,对于个性化的需求,可以在以后完善时实现围绕主题每个迭代要实现的特性,尽可能围绕一个主题对于每个新需求要纳入下一个迭代先评估工作量再分配任务在每个迭代中,产品人员根据当前的项目情况以及用户的反馈来对项目计划中的某些需求进行分解细化,初步确定下一迭代的任务。在下个迭代开始时,开发人员,产品人员通过IPM会议将本迭代的任务明确下来,并制定本迭代的详细计划.腾讯敏捷研发框架——TAPD总结的内容包括:1.工作完成的情况:未开始、正在开发、已完成。2.工作遇到的难点;工作中值得注意的地方。3.今天要做什么(如果昨天的工作已完成)。迭代计划需求开发UI设计每日晨会时间盒故事墙迭代总结灰度发布用户参与每个人轮流主持即时通信软件、电话会议每日晨会腾讯敏捷研发框架——TAPD灰度发布产品上线发布非面向用户全体,而是有策略有节奏地逐批放量。强调早发布、常发布、注重用户反馈。迭代计划需求开发UI设计每日晨会时间盒故事墙迭代总结灰度发布用户参与

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功