IBMRational敏捷开发解决方案IBM软件部吴文龙议程敏捷开发的价值IBM敏捷开发的理论与实践IBMRational敏捷项目管理解决方案IBMRational敏捷解决方案的优势业界人士从来没有停止探索解决之道上世纪60年代中期的“软件危机”1968年初提出了“软件工程”软件开发技术软件项目管理60年代未“瀑布式”生命周期模型80年代以来,CMM/ISO9000/SPICE等质量标准体系这些演进的着力点是技术、工程与管理。然而忽略了最本质的“用户需求与用户参与”,同时对变更的应对也没有行之有效的手段!更没有考虑到团队能力可持续发展的问题!敏捷转型:业界的一致共识敏捷采纳率[1]一项2008年二月的调查显示:61%开发人员认为他们正在使用敏捷78%IT管理层认为他们正在使用敏捷18%回答者指出他们仍在pilot阶段15%回复当前未使用敏捷的人希望在今年采用敏捷[1]Source:DrDobb’s2008AgileAdoptionSurvey同一个调查显示,敏捷方式对提高生产效率有效:许多成功的大公司正在使用敏捷。除IBM外,使用敏捷的公司还包括:Microsoft,Google,Motorola,Philips,Yahoo,Nokia,Siemens,Symantec,Sun,华为,腾讯“YoudonotdoAgile,you‘are’Agile”–ScalingSoftwareAgility–DeanLeffingwell”[1]为什么组织会采用敏捷战略?和传统的瀑布模型项目66%的成功率相比,敏捷团队平均成功率为70%敏捷开发团队生产更高质量的产品、并且更快交付、更倾向于交付正确的功能、更倾向于提供更大的ROI详细的在线结果参见:Dr.Dobb’sJournal(DDJ)2008ProjectSuccessSurvey议程敏捷开发的价值IBM敏捷开发的理论与实践IBMRational敏捷项目管理解决方案IBMRational敏捷解决方案的优势IBM对于敏捷的定义敏捷方法的特点•更关注协作•更关注质量•更关注可工作的产品•更关注全才化的专才•是基于实践的,而不是基于理论“通过持续的利益相关人反馈,使用用例(或用户故事)和一系列短小且是固定时间的迭代去发布高质量的,高可用性的代码”--IBM的定义“敏捷开发是一种基于更紧密的团队协作,能够有效应对快速变化需求、快速交付高质量软件的迭代和增量的新型软件开发方法”-Wikipedia的定义IBM的敏捷宣言原则:•承认变更是不可避免的,通过在项目中的学习与改进来创造新的机会•发扬团队中个体的自主性与领导力,从而创造一个让成员发挥潜能并为共同目标努力的工作氛围•采用频繁的交互帮助整个产品团队迈向共同的目标•在项目全程让用户介入,从而得到持续的反馈•可持续地交付功能可用及价值上被客户认可的产品是度量成功的标准•采用测试驱动开发并不容忍缺陷•致力于不断地改进产品及开发过程。敏捷开发必须做到:•考虑复杂的架构级别的需求•提供有效的治理手段•强调方案的质量与可用性•有约束•针对各种类型的开发都行之有效:SOA、组件、解决方案及版本套件等等•为小的团队及大型跨地域的团队提供集成的开发流程。IBM的敏捷流程:核心部分挑选高优先级的故事创建/排序用户故事发掘需求短的固定时长的迭代为项目干系人演示可工作的代码反省&采取行动主题用户故事版本需求队列获取反馈产品发布计划利益干系人的目标优化故事,计划工作•Scrum•Code,Doc&Test•DiscussStoryProgressPlanConceptDevelopAvailabilityGAProductRequirementsShipReadinessDeploymentSuccessROI10符合IBM产品生命周期管理流程的敏捷项目管理DesignPartnerClosed(Managed)BetaOpenBetaVoiCEBoardofAdvisors,LabAdvocateJazz.net-Open/CommercialDevelopmentEnvironmentGlobalRationalUserGroupsNumberofClientsInvolvedperProduct:25100+5010ConceptPlanDevelopQualifyQualifyLaunchLife-cycleProductSolutionsProfitSatisfiedCustomersPDTMemberrepresentingDevelopmentwillProvideStatustothePDTandwillprovidea“go-nogo”positionAtDCPmeetingsVisionVisionDefineArchitectureDesignSystemDefineStakeholdersDefineBusinessValue&FunctionalityRefineArchitectureRefineSystemValidatestakeholdersEstimateProductBacklogPlanReleaseCreateEstimatefortheReleaseHigh-LevelPlanforIteration1&2VisionVisionVisionVisionMonitorRelease&IterationVelocityContinuousStakeholderFeedbackReflectionUpdateRelease&IterationBurndownProductBacklogPrioritizeBacklogRefineReleasePlanDevelopInfrastructureBusinessThemesBusinessThemesEstablishBacklogStoriesHigh-LevelUserStoriesiesUserStoriesIBM敏捷转型治理架构敏捷转型敏捷治理结构咨询和培训成熟度评估服务敏捷文化转型工具方法和流程12IBMRational研发中心敏捷转型成果汇报截止2009年5月的成果:从2007年开始,使用敏捷方法的项目每年以93%的速度增长。目前约50%的项目使用敏捷方法,58%的开发人员是基于敏捷方法进行开发敏捷项目的质量提高:缺陷数每年减少约13%缺陷队列(Backlog)每年减少12%敏捷项目提高产品按时发布率10%13议程敏捷开发的价值IBM敏捷开发的理论与实践IBMRational敏捷项目管理解决方案IBMRational敏捷解决方案的优势IIBMRational端到端的敏捷开发解决方案助力快速全球软件交付最佳实践技术方法论领导IBMServicesforAgileChange&releasemanagementQualitymanagementDeveloperproductivitytoolsProcessandprojectmanagementIBMAgileResearchAgileIndustryExpertsIBMdeveloperWorksRationalUnifiedProcessAgile@IBMOpenSourceProjects分布式团队的敏捷无缝治理端到端自动化实时项目试图快速的软件迭代成功的敏捷项目交付能力IBM的敏捷方法最佳实践敏捷核心迭代开发2级项目规划整体团队持续集成测试驱动开发架构管理进化的架构进化设计组件化架构设计设计驱动的实现质量管理并行测试测试管理独立的测试性能测试脆弱性评估配置管理团队变更管理正式的变更管理需求管理共同愿景业务流程草图用例驱动开发需求管理治理与合规风险价值生命周期实践编写和裁减RMC中的敏捷开发方法框架IBM敏捷开发项目管理平台总体技术架构最佳实践与过程绩效管理组合管理团队协作其它更多….项目管理Web,Eclipse,VisualStudio等客户端的集成服务器端的集成合作伙伴生态系统&开放标准、开放平台、开放架构Linux®,Microsoft®Windows®,UNIX®,IBMz/OS®架构工具建模工具开发工具测试工具其它工具支持敏捷团队的工具平台FlagshipAgileProductsRationalTeamConcert(RTC)–Distributedagiledevelopment,projectmonitoringPrimaryAgileProductsRationalAppScan–WebsitesecuritytestingRationalApplicationDeveloper(RAD)–DevelopmentRationalBuildForge(RBF)–Continuousintegration,deploymentRationalInsight–GovernanceRationalQualityManager(RQM)–TestmanagementRationalRequirementsComposer(RRC)–RequirementsmodelingRationalSoftwareAnalyzer(RSAR)–StaticcodeanalysisExtendedAgileProductsOtherproductsarepotentialcandidatesforscalingpurposesMCIF:敏捷实施框架业务目标过程/实践运营目标RationalDOORSOtherofferingsRationalRequirementsComposerOtherstocome…OfferingsRationalBuildForgeRationalSoftwareAnalyzerRationalAppScanRationalQualityManagerAdoptBestPractice可重用资产库RationalAssetManagerRationalMethodComposerRationalTeamConcert绩效管理工具当前目标度量过程改进的进度工具最佳实践各个MCIF服务组件之间是相互强化的SelfCheckIBMPractices参考•问题的背景•如何去提高•实践的详细介绍•方法库中的哪一部分才是对我们改进最重要的?如何实施?•如何让我的团队掌握?•如何指引并辅导我的同事?•如何使用工具?•如何测量是否成功?下来应该关注什么?•我们做得怎么样?•哪些地方需要提高?•下一步应该实施哪一个实践?IBM敏捷可扩展模型1CoreAgileSoftwareDevelopment(核心敏捷软件开发)关注构建目标是以协作,迭代的方式开发高质量的系统Value-drivenlifecyclewithregularproductionofworkingsoftwareDisciplinedAgileSoftwareDevelopment敏捷开发扩展至全系统生命周期风险和价值驱动的全生命周期AgilityatScale(大规模部署敏捷)Addressesoneormorescalingfactors,including:团队规模地域分布组织分布规范的遵从治理程度应用复杂度3221敏捷转型敏捷治理结构咨询和培训成熟度评估服务敏捷文化转型工具方法和流程议程敏捷开发的价值IBM敏捷开发的理论与实践IBMRational敏捷项目管理解决方案IBMRational敏捷解决方案的优势RationalMethodComposerincludingRUP可配置的过程平台,帮助捕获过程和最佳实践根据项目需求适配过程模版提供项目指南IBMdeveloperWorks570万参与者的繁荣社区行业中主要的学习和最佳时间来源专家服务降低进入门坎IBMRational的