1/121敏捷开发知识体系整体框架1・1敏捷开发工程实践1・1・1项目管理•迭代开发•风险价值生命周期•多级项目规划•完整团队•每日站立会议•任务板•燃尽图1・1・2需求管理•需求订单•业务流程草图•用例驱动开发•用户故事1・1・3架构•演进的架构•演进的设计•基于组件的架构设计1・1・4开发•结对编程•测试驱动开发•重构•代码规范1・1・5测试单元测试并行测试测试管理2/121・1・6变更管理•持续集成•自动构建•团队变更管理1・2敏捷开发管理实践描述•定义和特征说明•主要角色•主要活动和最佳实践•主要输入输出•工作流程1・3敏捷开发工程实践描述•定义和特征说明•应用说明•案例说明2敏捷开发核心价值观和原则2・1敏捷软件开发宣言•个体和互动高于流程和文档•工作的软件高于详尽的文档•客户合作高于合同谈判•响应变化高于遵循计划•也就是说,尽管右项有其价值,我们更重视左项的价值.2・2敏捷软件开发的核心价值观敏捷开发的核心理念就是以最简单有效的方式快速打成目标,并在这个过程中及时地响应外界的变化,做出迅速的调整.2.2.1核心价值观•以人为本•目标导向3/12•客户为先•拥抱变化2・2・2敏捷开发的原则•我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。•欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。•经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。•业务人员和开发人员必须相互合作,项目中的每一天都不例外。•激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。•不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。•可工作的软件是进度的首要度量标准。•敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。•坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。•以简洁为本,它是极力减少不必要工作量的艺术。•最好的架构、需求和设计出自自组织团队。•团队定期地反思如何能提高成效,并依此调整自身的举止表现。3敏捷开发管理实践3.1ScrumScrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。3・1・1Scrum中的角色3.1.1.1“猪”角色•产品负责人(ProductOwner)•通常由市场部门的人担任•敏捷教练(ScrumMaster)•通常由开发组组长担任•开发团队(ScrumTeam)隆忙先跑剌我申会叹SprintReview一幣F牛角関―曦也迭代£9冲洞画国会说SprkrlRetros.pectiveDallySCRUM冲WQ威划稣SprintPlanWWilSd'iR.H4^d-sr:^1*ftSTAftIflP.*41虽迭代两层项目规划(Two-LevelProjectPlanning)整体团队协作(WholeTeam)持续集冲刺规划会议(SprintPlanMeeting)每日站立会议(SprintDailyMeeting)冲刺复审会议(SprintReviewMeeting)冲刺回顾会议(RetrospectiveMeeting)ProductSprintBacklog•影响项目成功的人,但只直接参与冲刺评审过程。•为产品开发团体架起环境的那个人•管理者4/12用包括开发,需求,测试3.1.1.2“鸡”角色•软件是为了某些人而创建!就像“假如森林里有一棵树倒下了,但没有人听到,那么它算发出了声音吗”,“假如软件没有被使用,那么它算是被开发出来了么?”•利益所有者(客户,提供商)3・1・2主要活动和最佳实践nV3・1・4・1项目管3・1・4工作角产品位贾人活啊规划会议SprintPlanning工V严貼H单ProductBacktagScrum;仃产A11事ProductBackhg幵刻「-僻n站立会议DailyScnjinMeeting沖刺订单SprintBacklog冲剌复用会仪Sprlrn:冲剌卩懺会议SpnnlRelroapeclivaGofjyntjhi^DJ旳1T-3t??冲剌且冲鞘i|『冲轴回顾舍仪斯的血傩増*产曲订5/123・1・3主要输入输出•产品订单(ProductBacklog)•冲刺订单(SpringBacklog)•燃尽图(BurndownChart)•新的功能增量•在Scrum项目管理过程中产品负责人获取项目投资,并对整个产品的成功负责.•产品负责人协调个中利益干系人,确定产品订单中初始...