本课程培训全过程,贯穿讲师多年在项目建设与管理中所积累的需求分析与管理之丰富经验。课程教学以理论为基础,以实际案例为主线,使培训人员能够牢固掌握用户需求获取、业务流程分析、需求建模和需求文档编写以及需求变更管控等技能,熟练使用需求开发与管理技术、方法、工具和模板,特别是对基于需求的敏捷开发与管理方法、技术的实践应用。
课程中通过讲解和案例分析指导学员完成一系列演练实践,使学员对需求分析与管理的方法和过程建立较深刻的认识和实际操作的能力。
通过培训,将达到的如下具体目标和收益:
1. 建立正确和牢固的软件需求价值观;
2. 掌握业务需求、用户需求、软件需求的捕获方法与工具;
3. 掌握需求分析与建模的方法与工具;
4. 掌握需求规约定义和需求基线管控方法与工具;
5. 软件需求与质量特性定义的方法与技巧;
6. 需求评审组织管理能力和需求变更控制管理能力的提升;
7. 掌握需求跟踪验证与功能点方法应用方法;
8. 掌握需求工程与制度建设的关系与应用工具;
9. 掌握产品需求全生命周期控制方法;
10. 掌握基于敏捷研发的需求管理过程与技术;
11. 掌握构建需求驱动的产品研发流程;
12. 掌握基于Scrum 的敏捷研发方法;
13. 掌握需求文档编写技巧与模板应用方法。
二、培训特色
本次培训强调理论、方法与实践相结合。课程全面围绕企业信息化和软件研发过程中的业务需求识别、需求分析、需求定义、需求建模、需求评估、需求跟踪与变更管控展开。通过实际项目案例,完全覆盖需求过程的各个知识体系的实践应用,包括需求捕获、需求分析、需求模型建立和文档编写、需求评审验证、需求跟踪控制等。
本课程教学以“理论指导+案例精讲+工具应用+沙盘演练”的方式进行,将充分体现“专业、解惑、实战、实用”的培训特色。培训过程中所体现的理论与实践巧妙结合的教学方法和对培训重点、难点、关键点的感应式、启发式和哲理式的教学风格和技巧,将确保培训理论的成效和应用技能的提高。
三、日程安排
日程 | 培训模块 | 培训内容 |
---|---|---|
第一天 上午 | PART 1.需求工程的思想与方法论 | 1)高质量需求工程的意义与作用 需求工程与需求开发方法论 优秀需求规格说明应具有的特性 2)对软件工程方法的重新思考与应用体会 瀑布方式的问题 需求的滚动式完善模式 复杂系统的需求分解 分层的需求组织方法 迭代的软件工程过程模型 3)需求开发过程定义与控制技巧 4)利用需求模式重构问题 利用模式解决划分中的困难 需求模式与需求复用 通过业务抽象发现模式 5)需求工程推荐方法的应用总揽 |
第一天 下午 | PART 2.需求开发第一阶段: 项目启动 |
1)从问题分析开始开发需求 在问题定义上达成共识 理解根本原因:问题背后的问题 2)问题域与问题框架 3)分析客户问题思考产品愿景 从行业的视角思考产品愿景 从产品战略的视角思考愿景 4)初步定义解决方案的边界与约束 定义解决方案的边界 确定解决方案将受的约束 |
第二天 上午 | PART 3.需求开发第二阶段: 开发客户需求 |
1)通过建立模型来理解业务 业务的上下文范围与视图 过程分解与事件分解 发现业务事件和“无事件” 基于领域建模的业务分析 基于控制系统的状态变迁模型 2) 用创新思维发现潜在需求 满足需求 发现需求 引领需求 3) 创新的产品定义与初步策划 明确产品定义的类型 分析与澄清产品关键特征的价值 有目的有组织的系统化创新 4)需求获取中如何理解用户和涉众的需要 引出需求方法论问题 交流的能力与面谈技巧 理解用户的思维过程 文档考古学 业务用例研讨会 创造性研讨会 头脑风暴会议 5)通过原型法挖掘需求 原型是“什么”和“为什么”要原型 水平和垂直原型对需求挖掘的贡献 原型法的风险评价 6)产品边界的最后确定 7)客户需求说明书参考模板 8)需求获取问题总结 |
第二天 下午 | PART 4.需求开发第三阶段: 开发产品需求 |
1)软件需求的严格定义及思考 2)深入理解用例方法 用例是规范行为的契约 用例的目标和层次 用例模型及其创建 3)利用用例建立产品部件场景 用例场景的基本描述方式 成功路经和异常路经 包含的场景描述 扩展的场景描述 泛化关系及场景描述 正确编写用例的提示 尽早发现变更规律 4)控制需求与状态转换关系 5)新产品开发项目中的需求问题 |
第三天 上午 | PART 5.需求开发第四阶段: 分析需求 |
1)发现和分析功能性需求 2)发现和分析非功能性需求 用例与非功能性需求 非功能性需求类型与软件质量模型 定义质量属性 冲突性的属性与取舍 3)确定验收标准 验收需要标准的原因 测量的尺度与理由 非功能需求的验收标准 功能性需求的验收标准 4)设定需求优先级 为什么要设定需求的优先级 不同角色的人处理优先级 设定需求优先级的方法与技术 风险识别与分析方法 |
PART 6.需求开发第五阶段: 编写需求规格说明 |
1)需求编写过程说明 2)需求规格说明书模板 3)项目驱动与问题描述 4)产品限制条件的确定 5)功能性和非功能性需求的描述 6)阐述项目问题 7)开发补充规格说明 8)产品需求规格说明书参考模板 9)需求文档编写的若干建议 |
|
第三天 下午 | PART 7.需求质量控制一: 需求的验证 |
1)验证与确认的基本概念 2)需求验证过程定义 3)需求验证测试的步骤 4)组织中如何实现质量关 5)应用原型方法控制需求与项目范围风险 |
PART 8.需求质量控制二: 需求的确认与管理 |
1)评审前复查规格说明 2)需求正式评审方法 3)需求管理及其过程 需求管理的目标 需求管理的实践 4)产品需求全生命周期管理 5)从需求开发过渡到需求管理 |
|
PART 9.基于敏捷开发的需求开发与管理 | 1)敏捷软件开发过程简介 敏捷过程的价值观与方法论 基于Scrum的敏捷软件开发方法与过程 基于DevOps 敏捷研发方法与过程 2)敏捷研发需求管理的作用与特点 3)产品的敏捷研发模式与原则 4)基于需求驱动的敏捷研发模式与工具应用 5)敏捷需求与发布计划 用户故事与主题 定义Product Backlog 估计用户故事的规模 估计开发速度制订发布计划 6)制定迭代计划 发布计划与迭代计划的关系 迭代计划制定方法 Sprint Backlog 7)Sprint进行中 ScrumMaster的工作与价值 需求的细化与不确定性消除 开好每日简会 保持可视性 8)Sprint评审与需求变更 Sprint评审会议 早期发现需求变更要求 团队对如何做得更好进行回顾 稳定边界防止需求蔓延 |
|
PART 10.需求分析案例教学 | 1)案例背景介绍 2)需求分析场景练习 3)如何确定项目的边界 4)如何划分需求的等级 5)学员操练结果点评 |
|
PART 11.需求建模和文档管理案例分析 | 1)从客户需求到分析模型 2)需求建模操作要点 3)避免使用实例陷阱 4)编写需求文档的原则 5)需求示例的改进前后 |
|
PART 12.从需求分析到架构设计案例分析 | 1)需求案例介绍与效果分析 2)体会练习不同需求对架构的影响 3)逐一分析不同背景下的工作思路 4)总结如何从需求过渡到设计 5)介绍如何从需求到测试 |
四、授课专家
王老师 国家资深信息化和新技术应用培训师,国家科学技术奖评委、教育部科技奖评委、国家高新技术企业评委、国家创新基金项目评委、教育部教育信息化专家、科技部科技项目评估专家,省制造业信息化专家组副组长、省软件行业协会常务理事、省物流与采购联合会常务理事、省现代物流专家委员会委员、省物流标准化技术委员会委员,曾任大型信息技术公司副总经理、技术总监,国际著名投资公司执行董事。享受国务院政府特殊津贴专家;省优秀中青年专家。从事信息化培训20多年,培训单位数百家、培训学员数万人。其专业+经验+案例的授课方式,与授课内容和授课环节紧贴客户实际需求和课程目标的突出特点,充分体现了王教授三十余年从事信息化研发与培训地专业经验和感悟。王教授近20余年来,一直致力于软件需求工程、IT项目管理等领域的研究和实践,对需求工程理论与实践方法有深刻的理解、丰富的实践和教学成就。王教授在授课全过程中,以“理论精讲+案例分析+工具应用+模板演练”进行教学,充分体现了“专业、解惑、实战、实用”的培训特色。其理论与实践巧妙结合的教学方法和对培训重点、难点、关键点的感应式、启发式和哲理式的教学风格和技巧深得培训单位和学员的高度认同和赞誉。
周老师 中培特聘专家。独立咨询师,专注产品管理、敏捷开发、企业架构、需求分析、个人成长。十几年的IT工作经验,从技术到产品,到研发管理,围绕软件产品开发全生命周期积极探索和实践,发布了多本电子书,《模型驱动软件工厂》、《报表引擎设计》、《敏捷方法之Scrum》、《开源信息系统开发平台 – OpenExpressApp框架》、《敏捷个人-认识自我、管理自我》、《业务分析与需求》、《规模化产品开发方法-产品线工程》、《架构语言ArchiMate》、《企业架构框架TOGAF》等, 获得2010和2011年十大杰出IT博客,在中国软件技术大会、中国软件工程大会、全球软件技术大会、Scrum Gathering等大会多次做过企业架构、产品管理、定制化开发以及敏捷方法等主题演讲。给建银、工行、国网、中油瑞飞、英华达、工程设计研究院等不同类型企业做过企业架构、敏捷开发、需求等方面的培训和咨询,深受企业好评。
程老师 中国第一批分析设计师、UML/UP专家、UP统一软件过程资深教练(国内首位软件项目过程教练)、需求专家,国内较早引入模型驱动开发方法的倡导人之一、国内最早的UP过程推动人之一。 擅长企业级应用分析设计与开发;对软件开发的整个流程有深刻认识,有很好的协作精神和学习能力。 在系统分析设计和开发方面均有丰富经验。能够结合实际,在复杂的应用环境中能够选择适合需求分析方法定义并改进需求规格说明,降低项目开发风险、缩短开发周期、提高应用系统的可维护性和可扩展性。