敏捷开发项目管理IBM PPT

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

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

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

资源描述

敏捷开发项目管理敏捷开发项目管理敏捷开发项目管理敏捷开发项目管理孙昕IBMRational资深技术顾问议题•软件项目管理的演进•敏捷软件项目中的一些最佳实践•RTC敏捷项目管理的最佳载体传统项目管理-PMI•5大过程组•9大知识领域•44个管理过程•PMI的关心和焦点:–计划驱动–紧密控制–面向业务进行管理软件项目管理的实践我们需要一个完整我们需要一个完整我们需要一个完整我们需要一个完整、、、、详尽的计划详尽的计划详尽的计划详尽的计划。。。。软件开发中能实现么软件开发中能实现么软件开发中能实现么软件开发中能实现么?我们需要设计考虑所有的风险和预留的内容我们需要设计考虑所有的风险和预留的内容我们需要设计考虑所有的风险和预留的内容我们需要设计考虑所有的风险和预留的内容。。。。软件项目能否预先考虑到所有的风险软件项目能否预先考虑到所有的风险软件项目能否预先考虑到所有的风险软件项目能否预先考虑到所有的风险?软件项目中难以预知所有的内容和风险软件项目中难以预知所有的内容和风险软件项目中难以预知所有的内容和风险软件项目中难以预知所有的内容和风险,,,,这不是传统行业这不是传统行业这不是传统行业这不是传统行业!!!!!!!!!!!!软件开发工作,是一个逐步认知和明晰的活动拥抱变化-软件开发中的变化,是实际存在和必然的涉众期望域的涉众期望域的涉众期望域的涉众期望域的不确定性不确定性不确定性不确定性初始计划初始状态敏捷项目管理Scott,我们今天的软件项目管理更应侧重这些内容:–弹性的项目管理方式–通过初始计划开展工作–项目的资源管理和控制VisionRoadmapReleasesIterationsDailyScrumsDailyScrums敏捷项目管理和传统项目管理比较•传统项目管理关注与整个系统的构建,从整体角度考虑–项目计划的建立、项目计划的执行–项目的风险根据项目计划考虑•敏捷项目管理更关注与交付的价值–高质量的交付物是最重要的–系统不是一次构建而成,而是迭代演进的–基于完整的场景构建计划、并按优先级执行您是想获取一些更有价值的交付产品呢您是想获取一些更有价值的交付产品呢您是想获取一些更有价值的交付产品呢您是想获取一些更有价值的交付产品呢,,,,还是还是还是还是只想完成进度表只想完成进度表只想完成进度表只想完成进度表!!敏捷项目管理VS传统项目管理Agile!!!!PMBOK!!!!鱼和熊掌可以兼得TheBusiness议题•软件项目管理的演进•敏捷软件项目中的一些最佳实践•RTC敏捷项目管理的最佳载体敏捷项目管理方法:Scrum敏捷核心迭代开发2级项目规划整体团队持续集成测试驱动开发敏捷项目的核心-迭代•大部分公司还在使用瀑布模型需求分析开发测试发布Crash!12敏捷核心迭代开发迭代开发迭代开发迭代开发2级项目规划整体团队持续集成测试驱动开发迭代式开发:本质改变-你多久运行你的项目一次?重复=自信=速度•变长的长的长的长的、、、、复杂的复杂的复杂的复杂的项目周期为短的短的短的短的、、、、简单的简单的简单的简单的迭代周期–团队在快速迭代的重复过程中,快速得到反馈/获取经验–团队每执行一次迭代,信心都得到提升–信心提升,效率和速度也相应提高了14随着认识的不断加深随着认识的不断加深随着认识的不断加深随着认识的不断加深,,,,通通通通随着认识的不断加深随着认识的不断加深随着认识的不断加深随着认识的不断加深,,,,通通通通过反馈来不断调整方向过反馈来不断调整方向过反馈来不断调整方向过反馈来不断调整方向过反馈来不断调整方向过反馈来不断调整方向过反馈来不断调整方向过反馈来不断调整方向计划路径计划路径计划路径计划路径实际路径实际路径实际路径实际路径实际完成实际完成实际完成实际完成实际完成实际完成实际完成实际完成起点成功区域计划完成计划完成计划完成计划完成计划完成计划完成计划完成计划完成迭代和两级规划:通过反馈来不断调整方向符合需求开发的启发式过程要求符合需求开发的启发式过程要求符合需求开发的启发式过程要求符合需求开发的启发式过程要求敏捷核心迭代开发2级项目规划级项目规划级项目规划级项目规划整体团队持续集成测试驱动开发15为什么要进行两级项目规划项目的特点:逐步完善–决定了计划的渐进明细不断的获取干系人反馈,修订范围符合启发式的需求开发过程要求计划和变化的有效平衡复杂的事情简单化根据真正的需要修改工作安排16高优先级高优先级高优先级高优先级低优先级低优先级低优先级低优先级动态增加新的工作项有些时候需要删除工作项根据需要,经常重新调整工作项的优先级对于低优先级的内容可以等待清晰后明确工作任务的优先级应该被定义并清楚地描述工作项列表工作项列表工作项列表工作项列表对于每个迭代首先实现高优先的工作17核心敏捷最佳实践:“整体团队”Scrum团队一般有6~8个人拥有多种技能的、跨职能协作的团队关注向干系人交付价值整体团队:自指导、自组织、可持续的速度文化变革:人本管理从麦格雷戈的X理论向Y理论的转变敏捷核心迭代开发2级项目规划整体团队整体团队整体团队整体团队持续集成测试驱动开发敏捷最佳实践:“整体团队”的自指导团队拥有共同目标共同目标共同目标共同目标、分担责任分担责任分担责任分担责任,,,,彼此承诺彼此承诺彼此承诺彼此承诺致力于目标实现团队团队团队团队拥有足够的授权和资源授权和资源授权和资源授权和资源,解决问题,找到自己的成功之路做自己喜欢的事情做自己喜欢的事情做自己喜欢的事情做自己喜欢的事情有效的沟通和信息的透明适当的团队建设共享远景共享远景共享远景共享远景和目标和目标和目标和目标团队承诺团队承诺团队承诺团队承诺19敏捷最佳实践:“整体团队”的可持续速度文化变革:关注可持续发展敏捷过程推行可持续的开发–保持团队在一个可持续的生产力水平上工作20有效的持续集成BuildBuildUnitTestUnitTestDeploymentDeploymentAutomated&IntegratedDeploymentVerificationDeploymentVerificationInspectionInspectionCommitchangestriggerCheckout持续集成(CI)是一种实践,能够让团队在持续地构建的基础上,不断收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷。应包含:自动化的运行测试自动产生可部署的二进制成品自动化的部署自动的版本标识自动的回归测试自动化的生成度量报告敏捷核心迭代开发2级项目规划整体团队持续集成持续集成持续集成持续集成测试驱动开发21敏捷最佳实践:测试驱动开发(TDD)一种编程实践:所有的代码编写都是为了响应一个失败的测试需求列表写一个测试用例运行测试用例确保它失败新增或修改刚刚满足要求的代码,确保新的测试用例通过,原来的测试用例也通过重构代码,以提高代码质量(例如:重复的代码)项目进度评测方法范围和质量项目进度估算能力团队效率敏捷核心迭代开发2级项目规划整体团队持续集成测试驱动开发测试驱动开发测试驱动开发测试驱动开发将敏捷项目管理和计划结合起来•基于一个完整的Story描绘产品,产品计划基于Story组成•通过Story进行优先级排列,而不是features–可能部分Story没有实现,没有问题,准备继续!•Story是最小的迭代管理元素,一个迭代起码包括一个Story•里程碑也是基于Story组成的ProjectPlan(WBS)DeveloperBacklogStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryFeatureFeatureFeatureFeatureFeatureFeatureFeatureFeatureMilestoneReleaseIteration…Features和Stories•业务分析分析人员,仍可以基于Feature分析业务特性,但是他需要将其和Story连接起来•里程碑控制也要以Story控制•开发团队通过Story,开展开发工作•Stories本身也是不断变化的,可以增加、删除、修改、以及从新排列优先级FeatureFeatureFeatureFeatureFeatureFeatureFeatureFeatureMilestoneReleaseIteration…StoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryBacklog使用Backlog进行任务计划的优势•Backlog基于Story管理,具有完整的业务价值,–Story可以支撑Feature•确保用户了解完整的Story而不只是Feature•小力度的Story能够提供更准确的任务情况•Stories更能保证系统交付的可测试性开发团队组织•理想中,Feature和整个Story的开发最好有一个团队完成•实践中,Feature需要和Story在统一个迭代中完成–未完成的Story需要制定到下个迭代中ProjectPlan(PM)DeveloperIterationPlanFeatureFeatureStoryStoryStoryStoryDevTeamADevTeamBStoryIterationNIterationN+1…StoryFeatureStoryStoryStoryStoryMilestone/Release具体的工作任务分配•Stories与Feature间有紧密的联系,也体现在依赖上•优先级和进度都基于Story–根据Story的完成情况,调整Feature的工作计划FeatureFeatureStoryStoryStoryStoryStoryIterationNIterationN+1Milestone/Release…StoryFeatureStoryStoryStoryStoryProjectPlan(PM)DeveloperIterationPlanDevTeamADevTeamB几个管理元素的关系•将多个计划有效的集成起来,互相反馈•有效管理计划的层次关系,并结合开发的实际FeatureFeatureStoryStoryStoryStoryDevTeamADevTeamBStory…StoryFeatureStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryStoryProjectPlanTeamIterationPlan(Backlog)TeamReleasePlanBacklog回归一下Scrum议题•软件项目管理的演进•敏捷软件项目中的一些最佳实践•RTC敏捷项目管理的最佳载体RTC+RPC有效的敏捷研发协作Estimates,timespent,priority,discussion,etc.Project-anddeveloper-levelplansIndividualdeveloperassignmentsPlanninginProjectConductorExecutioninTeamConcertFeatureFeatureFeatureStoryStoryStoryStoryStoryStoryStoryStoryFeatureFeatureFeatureStoryStoryStoryCommonworkFeatureFeatureFeatureStoryStoryStoryStoryStoryStoryStoryStoryFeatureFeature

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

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

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

×
保存成功