您好,欢迎访问三七文档
芝敏捷实践麻绿豆之2前言什么是敏捷敏捷四大核心价值个体与交互过程和工具工作的软件详尽的文档客户合作合同谈判响应变化遵循计划也就是说,尽管右项有其价值,我们更重视左项的价值。3前言什么是敏捷敏捷十二原则我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。业务人员和开发人员必须相互合作,项目中的每一天都不例外。激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。可工作的软件是进度的首要度量标准。敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。以简洁为本,它是极力减少不必要工作量的艺术。最好的架构、需求和设计出自自组织团队。团队定期地反思如何能提高成效,并依此调整自身的举止表现。4前言什么是敏捷有人说,敏捷其实是在PDCA的基础上升华出来的P:Plan,计划,确定方针和目标,确定活动计划;D:Do,执行,实地去做,实现计划中的内容;C:Check,检查,总结执行计划的结果,注意效果,找出问题;A:Action,行动,对总结检查的结果进行处理。这四个过程不是运行一次就结束,需要周而复始的进行5前言什么是敏捷敏捷中的PDCAUATSprintDailyStandupCIUnitTestPairProgramming6前言什么是敏捷敏捷解决了什么加快了价值交付速度降低风险目录页CONTENTSPAGEScrum极限编程看板精益第一章Chapter101Scrum9第一章Scrum1.1什么是ScrumScrum是一个基于团队进行复杂系统和产品开发的框架Scrum所涉乃是非软件项目亦可使用的工作管理和团队动力学。10第一章Scrum1.1什么是ScrumScrum可以帮助团队在一个很短的周期内交付产品,同时可以快速得到反馈,持续得到改进11第一章Scrum1.2Scrum框架(3-3-5-5)12第一章Scrum1.3Scrum三大角色PO:客户代表,把愿景转换为团队可以执行的产品列表并且负责正在开发的产品的商业价值;ScrumMaster:致力于组建与维护一个高效率团队,为组织内部的变革“代言”;Team:交付愿景,完成所有必要的工作来实现产品列表中的功能。13第一章Scrum1.3Scrum五个价值观承诺–愿意对目标做出承诺专注–把你的心思和能力都用到你承诺的工作上去开放–Scrum把项目中的一切开放给每个人看尊重–每个人都有他独特的背景和经验勇气–有勇气做出承诺,履行承诺,接受别人的尊重14第一章Scrum1.4Scrum实践:每日站会有效的项目站会能够及时发现项目中遇到的问题,并且能够及时解决问题能有效的规避项目风险;站会中团队成员各自汇报当天工作,打破沟通壁垒,让每个成员能切身感受项目当前状态同时根据工作进度可以及时调整项目工作计划站会最终的结果是交付!每日站会视频介绍(2:48)15第一章Scrum1.4Scrum实践:每日站会(2分48秒)16第一章Scrum1.5Scrum实践:回顾会议回顾过去,改进未来反省哪里做得好,哪里做得不好,以及需要做出什么样的改变回顾会议视频介绍(3:30)17第一章Scrum1.5Scrum实践:回顾会议(3分30秒)18第一章Scrum1.6Scrum的反馈环UATSprintDailyStandupCIUnitTestPairProgramming第二章Chapter202XP20第二章极限编程2.1什么是极限编程XP是一种软件开发风格,专注于编程技术,清晰沟通还有团队协作的精彩实践。XP是一种轻量级的、灵巧的软件开发方法,一种软件工程方法学21第二章极限编程2.2极限编程的核心价值观简单:需求尽量的简单、设计尽量的简单、代码尽量的简单、文档尽量的简单;沟通:重视项目相关人员之间进行充分、多渠道的沟通;反馈:尽快获得用户反馈,并且越详细越好,使得开发人员能够保证自己的成果符合用户的需要;勇气:这是最核心的价值。对于用户的反馈,提倡积极地面对现实和修理问题的勇气。22第二章极限编程2.3基于敏捷的核心思想和价值目标,XP要求项目团队遵循13个核心实践23第二章极限编程2.3基于敏捷的核心思想和价值目标,XP要求项目团队遵循13个核心实践完整团队:XP项目的所有参与者(开发人员、客户、测试人员等)一起工作在一个开放的场所中,他们是同一个团队的成员。这个场所的墙壁上随意悬挂着大幅的、显著的图表以及其他一些显示他们进度的东西。计划项目:计划是持续的、循序渐进的(代替原来的阶段性)。每2周,开发人员就为下2周估算候选特性的成本,而客户则根据成本和商务价值来选择要实现的特性。客户测试:如果有机会,尽量让客户参与测试。因为客户提的意见最有价值。(小米手机)小规模发布软件:XP要求频繁地小规模发布软件(小步迭代),如果有可能,应该每天都发布一个新版本。简单设计:团队保持设计恰好和当前的系统功能相匹配。它通过了所有的测试,不包含任何重复,表达出了编写者想表达的所有东西,并且包含尽可能少的代码。结对编程:所有的产品软件都是由两个程序员、并排坐在一起在同一台机器上构建的。结对编程可以实现代码集体共有。(你是希望编码速度更快,还是交付更快?)24第二章极限编程2.3基于敏捷的核心思想和价值目标,XP要求项目团队遵循13个核心实践重构:重构是在不改变代码行为的前提下,对其进行一些略小的改造,旨在改进系统结构的实践。(《重构-改善既有代码的设计》——六大类68种重构方法)集体拥有代码:任何结对的程序员都可以在任何时候改进任何代码。没有程序员对任何一个特定的模块或技术单独负责,每个人都可以参与任何其它方面的开发。编码规范:系统中所有的代码看起来就好像是被单独一人编写的。隐喻:为了帮助每个人一致清楚地理解要完成的客户需求、要开发的系统功能,XP开发小组用很多形象的比喻来描述系统或功能模块是怎样工作的。比如,对于一个搜索引擎,它的Metaphor可能就是“一大群蜘蛛,在网上四处寻找要捕捉的东西,然后把东西带回巢穴。”可持续的速度:每一小发布都是稳步的。团队只有持久才有获胜的希望。他们以能够长期维持的速度努力工作,他们保存精力,他们把项目看作是马拉松长跑,而不是全速短跑。测试驱动编程持续集成25第二章极限编程2.4测试驱动编程测试驱动开发是一种程序开发方法,包括测试先行开发和重构。26第二章极限编程2.4测试驱动编程(3分23秒)27第二章极限编程2.5持续集成:把集成时间提前→28第二章极限编程2.5持续集成(2分51秒)29第二章极限编程2.6XP适用场景介绍XP适用范围:规模小、进度紧、需求变化大、质量要求严的项目;它希望以最高的效率和质量来解决用户目前的问题,以最大的灵活性和最小的代价来满足用户未来的需求,XP在平衡短期和长期利益之间做了巧妙的选择XP不适用范围:中大型的项目(项目团队超过10人);重构会导致大量开销的团队;需要很长的编译或者测试周期的系统;不容易进行测试的应用;团队人员异地分布的项目;不能接受XP文化的组织和团队。30第二章极限编程2.7Scrum和XP对比自我定位:Scrum将自己定位为通用管理方法;XP则强调自己仅仅适用于软件开发。(不可能让HR结对编程。^_^)关注点:Scrum核心手段是工程学,Scrum不关注人;XP完全以全面改善人的社会属性和技能为核心手段。第三章Chapter303看板方法32第三章看板方法3.1看板理念一开始进入制造行业33第三章看板方法3.1看板理念识别障碍加速流动灵活响应促进改善①可视化价值流②显示化流程规则③控制在制品④管理工作项流动⑤建立反馈、持续改进看板建立看板管理34第三章看板方法3.2可视化价值流:识别从工作进入到工作离开团队的各阶段可视的是用户价值:可验证、可交付的用户需求,工作从价值的视角来组织可视的是工作流动过程:价值流入到价值交付的整个过程,包括工作环节、等待环节可视问题:指阻碍价值流动的因素,需求不明确、技术障碍、外部依赖等可视瓶颈:指价值流动不畅的环节,工作在瓶颈处积压成长队形价值流动35第三章看板方法3.3显示化流程规则显式化指的是明确并达成共识,它与可视化不同工作项从看板墙上的一列进入下一列所必须达到的标准是团队协作的依据,更是团队改进的基线价值流动36第三章看板方法3.4WIP:通过控制“在制品”数量,识别工作流的瓶颈各环节内并行的工作减少,单个工作项的完成+等待时间缩短(只安排当前能够立刻开工的事情)让瓶颈和问题更充分暴露,激发团队协作解决瓶颈问题初始化:刚开始可以尝试设置团队人员数量的1.5倍左右,随着团队的逐渐成熟,慢慢调整37第三章看板方法3.5管理工作项流动就绪队列填充:工作项拆分到足够小(2天,最好一天内,以理想小时预估“任务”)每日站会:成员每天都有清晰的工作项(每天的工作目标聚焦)由右往左review工作项,站会中充分授权团队成员,自己挪动重点关注价值流动过程中问题和阻碍,处理这些问题或提出跟踪方案发布评审就绪队列填充(迭代计划会)每日站会发布计划(迭代评审)38第三章看板方法3.6建立反馈、持续改进流动是否顺畅的反馈,如:阻碍问题分类、影响和原因分析质量问题的反馈,如开发环节或测试环节遗漏缺陷的分析等建立看板就绪队列填充(迭代计划会)每日站会发布计划(迭代评审)管理看板度量与反馈交付反馈其他反馈39第三章看板方法3.7看板的一天123440第三章看板方法3.7看板的一天567841第三章看板方法3.7看板的一天910111242第三章看板方法3.8看板实际工作中的应用样例每一列,通过夹子数来设置WIP43第三章看板方法3.9看板解决了什么需求来自四面八方,优先级不清晰计划不可控,经常延期整个团队忙的不可开交,每个成员每天有好多的任务任务积压多,内部瓶颈严重(比如因为测试人力较少,测试经常成为瓶颈,导致版本积压不能按时交付)成员反馈不积极,需要经常跟着去催进度,遇到问题也不能及时发现风险互相不清楚谁在干什么44第三章看板方法3.10Scrum和看板的相似点都是既精益又敏捷;都是拉动式计划;都限制了WIP;都以透明的方式驱动过程改进;都关注于尽早交付、频繁交付可发布的软件;根基都是自组织型团队;都需要把工作拆分;发布计划都是根据经验数据(生产率/生产周期)不断优化的。45第三章看板方法3.11Scrum和看板的差异Scrum看板方法规定了固定时长的迭代固定时长的迭代是可选的团队承诺当前迭代做完一定量的工作承诺是可选的用生产率作为计划和过程改进的默认度量手段用生产周期作为计划和过程改进的默认度量手段规定了跨功能团队跨功能团队是可选的。可以有专职团队任务必须分解,以便在1个Sprint里面能做完没规定任务规模规定了燃尽图没规定专门的图表形式间接限制(每个Sprint的)WIP直接限制(每个工作流状态的)WIP规定了估算估算是可选的不能往进行中的Sprint里面加任务只要有人手富余就可以加任务一个SprintBacklog归一个团队所有一张看板图可以由多个团队或多人共用规定了三种角色(PO、SM、Team)没有规定任何角色每个Sprint之间重置Scrum板看板图一直保留着规定了经过优先级排序的产品backlog优先级排序是可选的46第三章看板方法3.11Scrum和看板的差异SCRUM是一种颠覆性的敏捷实践看板是温柔型、渐进型的,不需要改变任何体系,只需要把流程可视化,事后进行分析看板系统:偏向成熟的、偏向运维47第三章看板方法3.12推荐看板工具:trello第四章Chapter404精益软件开发49第四章精益软件开发4.1精益思想丰田模式的一套最先进的企业运营管理方法这种管理的最高境界就是调动全体员工不断学习、积极参与、持续改善的企业文化精益思想的精髓是拒绝浪费目标:价值对人的
本文标题:芝麻绿豆之敏捷实践
链接地址:https://www.777doc.com/doc-3992117 .html