敏捷开发全景视图(流程、方法和最佳实践).ppt
《敏捷开发全景视图(流程、方法和最佳实践).ppt》由会员分享,可在线阅读,更多相关《敏捷开发全景视图(流程、方法和最佳实践).ppt(100页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、敏捷开发全景视图(流程、方法和最佳实践)钟玮军2016-02-25目 录 Contents敏捷 vs 传统敏捷开发流程框架敏捷方法和最佳实践思考与答疑敏捷 vs 传统IT项目管理方法的发展历史196019701980199020002010SDLCWATERFALLRADPMBOKITILPRINCEZachmanDSDMRUPXPPRINCE2CRYSTALSCRUMAGILEMANIFESTOFEATOGAF 8.0LEANKANBAN软件开发生命周期(SDLC)传统软件开发模式传统瀑布式软件开发方式向迭代式软件开发方式转变(RUP框架)传统软件开发模式存在的问题传统软件件开发过程的常见症
2、结交付周期长;害怕需求变更;中间过程不可控;测试周期被一缩再缩;最终结果差强人意与“唯快不破”的互联网经济格格不入敏捷软件开发模式由传统迭代式软件开发模式发展而来,Time-Boxed抛开传统软件开发模式的繁文缛节,强调产品价值、团队协作、客户参与、先期验证、简化流程、拥抱变化总结吸收成功软件项目研发的最佳实践;与现代管理思想相辅相成前期有学习成本,后期会获益匪浅敏捷软件开发模式Source:Forrester Research,Inc.趋势:敏捷开发逐渐成为主流模式2009 Q32014Growth敏捷开发带来的好处TOP 5 reported benefits:TOP 5 reported
3、 benefits:Improved quality(56%)More opportunities for mid-course corrections(56%)Overall improved customer and business satisfaction(38%)Better business-IT alignment(37%)Improved time to market(32%)A lot more than velocity质量改善利于中途修正总体改善客户和业务的满意度商业需求与IT实施更加匹配更快投入市场Source:2013 Forrester Research,Inc.敏
4、捷开发宣言Manifesto for Agile Software DevelopmentIndividuals and interactions Individuals and interactions over processes and tools 人和交互 重于 过程和工具Working software Working software over comprehensive documentation 可以工作的软件 重于 面面俱到的文档Customer collaboration Customer collaboration over contract negotiation 客户
5、合作 重于 合同谈判Responding to change Responding to change over following a plan 随时应对变化 重于 遵循计划虽然右边也有其价值,但我们认为左项更加重要敏捷原则(Agile Principles)1.Satisfy the Customer2.Welcome Change3.Deliver Frequently4.Work as a Team5.Motivate People6.Communicate Face-to-Face7.Measure Working Software8.Maintain Constant Pace9.
6、Excel at Quality10.Keep it Simple11.Evolve Designs12.Reflect Regularly敏捷开发价值观专注:由于我们在一段时间内只专注于少数几件事情,所以我们可以很好地合作并获得优质的产出。我们能够更快地交付有价值的事项。公开:在团队合作中,大家都会表达我们做得如何,以及遇到的障碍。我们发现将担忧说出来是一件好事,因为只有这样才能让这些担忧及时得到解决。尊重:因为我们在一起工作,分享和成功失败,这有助于培养并加深互相之间的尊重,并帮助彼此成为值得尊重的人。承诺:由于对自己的命运有更大的掌握,我们会有更坚强的信念获得成功。勇气:因为我们不得单打
7、独斗,我们能够感受到支持,而且掌握更多的资源。这一切赋予我们勇气去迎接更大的挑战。从传统到敏捷:思维的转变 形而上者谓之道,形而下者谓之器。形而上者起于学、行于理、止于道,形而下者起于教、行于法、止于术。从重视“流程”到重视“原则”道本器末,不忘初心做正确的事比正确地做事更重要如何看待流程、方法、最佳实践在敏捷开发中的作用无其器则无其道,器和道一样重要上善若水,原则的“刚性”和流程的“柔性”从传统到敏捷:认识误区从传统到敏捷:阻碍和要点改变我们的商业文化采用敏捷技术实践改变我们的IT文化以一种敏捷的态度使用我们现有的工具采用新的敏捷开发工具采用敏捷管理实践从传统到敏捷:关键因素改变我们的商业文
8、化采用敏捷管理实践改变我们的IT文化采用敏捷技术实践采用新的敏捷开发工具以一种敏捷的态度使用我们现有的工具敏捷开发流程框架产品研发:一个持续的过程WhatWhat?HowHow?Management is doing things right;leadership is doing the right things.(Peter Drucker)敏捷开发流程框架:Scrum注:Scrum是最为流行的敏捷开发流程框架之一WhatWhat?HowHow?Scrum框架:简介 Scrum是一个用于开发和维持复杂产品的框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组
9、成,一个短的迭代周期称为一个SprintSprint,每个Sprint的建议长度是2到4周(互联网产品研发可以使用1周的Sprint)。在Scrum中,使用产品BacklogBacklog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum团队总是先开发对客户具有较高价值的需求。在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表,我们称它为Sprint backlogSprint backlog。在每个迭代结束时,Scrum团队
10、将递交潜在可交付的产品增量。Scrum起源于软件开发项目,但它适用于任何复杂的或是创新性的项目。要素:周期:Product Release=Time-Boxed Sprint=Daily Continous Delivery团队:Product Owner,Scrum Master,Dev Team(Cross-Functional)工件:Product Backlog,Sprint Backlog,Product Increment活动:Sprint Planning Meeting/Review Meeting/Retrospective Meeting,Daily Scrum Meeti
11、ng,Product Backlog Refinement度量:Burndown图、Burnup图、VelocityScrum(一):迭代周期框架迭代周期框架:Product Release=Time-Boxed SprintPortfolio=Product=Release=Sprint=Daily WorkingWhatWhat?HowHow?Scrum(二):团队Build The Right ThingBuild The Thing RightBuild It FastScrum TeamAchievement-orientedCustomer-orientedCommittedMot
12、ivatedSelf-organizedEmpoweredSkilledScrum团队:团队文化共赢的文化团队成功个人发展立足现实挑战极限Scrum团队:角色分工概览Scrum团队:Product Owner职责主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权利接受或拒绝开发团队的工作成果PO在Scrum中承担了多项职责产品经理:愿景和方向,结果负责需求分析:业务分析和需求分析需求管理:维护、终止和变更项目管理:优先级排序和项目状态跟踪质量保障:检查产品结果客户代表:产品体验/接受拒绝PO对外承担了与产品干系人交流沟通的职责老板、客户和用户、营销和销售、Scru
13、m团队:PO的职责关系http:/ Owner属于研发角色,但与战略、市场和销售等公司其它角色存在密切合作关系,需要掌握跨界知识和语言表达。图示表现了产品管理四种角色之间的关系和分工定义,但根据项目规模不同,某一成员可能身兼数职。Scrum团队:PO能力要求业务分析能力(Business Analysis)工程技术能力(Engineering)领导和协调能力(Leadership&Coordination)Business Analysis CapabilitiesHelping organizations develop the capabilities to achieve Enterpr
14、ise AgilityUnderstand Needs of the Customer Develop Product StrategyManage Product Portfolio Achieve Customer Acceptance Define Business Requirements Product StrategySolution RequirementsDevelop ProductLaunch ProductOperate and Support ProductDefine Product Backlog Establish Product VisionDefine Pro
15、duct RoadmapPlan Launch Engage StakeholdersPlanning Coordinate Launch Establish Development Environment Manage Suppliers Ensure Process AdherenceIdentify and Remove ImpedimentsEnsure Internal CommunicationMaintain Work EnvironmentDevelop TeamSupport Operations Provide Customer SupportSupport Impleme
16、ntation Coordinate Work Maintain Architecture Understand Requirements Maintain Product Quality Design and Engineer SolutionDeploy Product Integration Testing Learn from Outside SourcesCommit To AgilityManage Risks Provide Job TrainingEveryoneEnvironment Perform Maintenance and Customizations Product
17、 DevelopmentEngineering CapabilitiesHelping organizations develop the capabilities to achieve Enterprise AgilityUnderstand Needs of the Customer Develop Product StrategyManage Product Portfolio Achieve Customer Acceptance Define Business Requirements Product StrategySolution RequirementsDevelop Prod
18、uctLaunch ProductOperate and Support ProductDefine Product Backlog Establish Product VisionDefine Product RoadmapPlan Launch Engage StakeholdersPlanning Coordinate Launch Establish Development Environment Manage Suppliers Ensure Process AdherenceIdentify and Remove ImpedimentsEnsure Internal Communi
19、cationMaintain Work EnvironmentDevelop TeamSupport Operations Provide Customer SupportSupport Implementation Coordinate Work Maintain Architecture Understand Requirements Maintain Product Quality Design and Engineer SolutionDeploy Product Integration Testing Learn from Outside SourcesCommit To Agili
20、tyManage Risks Provide Job TrainingEveryoneEnvironment Perform Maintenance and Customizations Product DevelopmentLeadership&Coordination CapabilitiesHelping organizations develop the capabilities to achieve Enterprise AgilityUnderstand Needs of the Customer Develop Product StrategyManage Product Por
21、tfolio Achieve Customer Acceptance Define Business Requirements Product StrategySolution RequirementsDevelop ProductLaunch ProductOperate and Support ProductDefine Product Backlog Establish Product VisionDefine Product RoadmapPlan Launch Engage StakeholdersPlanning Coordinate Launch Establish Develo
22、pment Environment Manage Suppliers Ensure Process AdherenceIdentify and Remove ImpedimentsEnsure Internal CommunicationMaintain Work EnvironmentDevelop TeamSupport Operations Provide Customer SupportSupport Implementation Coordinate Work Maintain Architecture Understand Requirements Maintain Product
23、 Quality Design and Engineer SolutionDeploy Product Integration Testing Learn from Outside SourcesCommit To AgilityManage Risks Provide Job TrainingEveryoneEnvironment Perform Maintenance and Customizations Product DevelopmentScrum团队:Scrum Master职责主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可
24、以直接驱动开发。Scrum团队:Scrum Master能力要求出色的沟通和决策能力能及时、清楚、明确地传播信息;知道什么时候做出决定,不必要再做分析;平衡短期和长期目标,快速在团队和Product Owner之间达成一个共同的愿景;促进团队合作的能力能够促进和培养团队合作的能力,能够诊断、理解和帮助团队的日常变化;持续衡量团队工作状况,并推动必要的行动,以改进团队的工作;鼓舞和激励能力促进团队活力,鼓舞、表扬和奖励团队中做得最好的人,宣扬突出的行为、技能和成就;伟大的工作态度,总是寻找方法来改变工作,而不是认同为什么做出改变是不可能的;抗压能力在压力环境下仍能保持镇定,出色工作解决冲突能力促
25、进建设性的辩论,使得产生更好的决策和共同愿景建设性地解决分歧和冲突,知道什么时候让其他人也参与进来在所有交往中,体现出情感成熟度(周到、客观、正直、可靠)即使在他/她不同意的时候,也会支持哪些已经做出的决定敏捷开发实践能力Backlog跟踪,burndown图,会议组织,计划能力,进度跟踪,风险管理,组织变革、团队成长,敏捷开发实践,持续集成/交付/部署,.参考:httpsScrum团队:Scrum Master特质专注并细心确保团队行为始终与验收标准和项目目标(愿景)保持一致;通过良好的组织方法分配工作任务,减少失误;团队合作者勇于承担任何能够帮助团队的任务,并以身作责(比如,团队决定加班来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 敏捷 开发 全景 视图 流程 方法 最佳 实践
限制150内