课程背景
在经济蓬勃发展的今天,企业的信息化需求变化非常快,这对软件企业提出了严峻的挑战,对需求的快速反应能力体现了一个软件企业的核心竞争能力,目前国内软件企业软件开发过程远未成熟,却还要常常面临国外同行的竞争。如何在这样一个激烈的市场竞争环境中既积累产品技术、又能够迅速把握市场机会,软件需求开发和管理能力成为了关键。
课程除了全面介绍软件需求开发和需求管理过程,还利用讲师实际的经验,与学员共同分析本企业需求工作中的问题,并特别针对目前需求工作中的常见难点进行分析,包括如何在需求工作中与客户进行主动合作、如何制作需求驱动的软件开发计划、如何在不断满足客户需求的同时积累企业的核心产品能力。课程不仅仅给学员在需求工程上一个完整的整体认识、还培训了学员在需求开发和需求管理的实际实施能力,包括一些难点实际操作能力。
课程结合行业环境和软件企业具体发展状态来讲述软件需求开发与需求管理,对不同态势下的软件企业的需求工作具有实际的参考价值。
课程特色
1、课程内容全面,包括需求开发的4个部分:需求获取、需求分析、需求编写、需求确认,和需求管理的4个部分:变更管理、版本管理、需求跟踪、需求状态跟踪。有别于传统课程着重于需求分析,本课程内容更全面,与企业实际软件开发过程结合更紧密,课程分8个模块,并配有相应的案例、练习和模板。
2、课程具有很强的实用性。讲师长期从事软件的研发管理工作,课程给出了讲师推荐的“最佳实践”,例如:如何保持需求与项目计划的一致性;如何进行简接有效需求编写的方法,让编写需求、需求查阅不再是令人望而生畏的事情等等。
3、课程还对一些需求工作中常见问题进行了探讨和给出解决建议,例如:
如何避免返工,提高需求工作的质量,获取正确的需求;
如何破解“需求范围的蔓延”“需求变更无休止”难题;
如何快捷准确了解项目的需求状况,从项目的全局到具体某个需求?如何获得各种需求的实时视图,包括决策层需要的需求成本情况和未来成本估算,管理层需要的版本安排、进展状况、工作量分布,还有重点特征的进展情况,或者某个需求的处理情况等等。
如何进行需求的重用和产品组件的复用
4、课程有别于传统,强调需求的“发现”而不仅仅是“收集”,“发现”大脑所思考的深层次的需求,而不仅仅是眼睛所看见需求;强调开发方与客户(包括内部的和外部的)就需求紧密合作,而不是简单的“你提需求我开发”
5、课程采用互动式教学、大量的小案例、分析大案例和学员亲自演练,有助于学员理解。
6、讲师具有12年软件产品开发、技术管理、人员管理的实践经验。
课程收益
解决问题:
有些项目,前期需求调研、设计开发测试都很顺利,但一到交付,就反复修改,甚至推倒重来,如何在一开始就避免这种情况的发生?
很多软件项目经理很委屈,“用户都不知道自己要什么,我又如何知道啊?”到底谁应该最了解需求?是用户?还是开发方自己?
有些用户开始对需求漠不关心,可看到产品之后,就提出了一大堆的意见!如何在项目前期建立良好的用户合作关系?提高项目前期的需求质量,那将直接减少设计开发返工工作量啊!
软件产品开发部门总是觉得市场部门提出的要求奇怪,觉得产品的实际实现比市场部门要求强大很多,为什么市场部门还挑了挑去?可市场部门又觉得产品开发部门的实现根本不是他们所需要的。
有些企业的高层管理喜欢给软件开发团队定交付期限,“必须一个月之内拿出来,这是死命令”,这样做有效吗?是不是还有更有效的方法?
有些开发方对需求变更不负重荷,提出“要引导客户的需求?”,可强势的客户并不认可软件企业的引导,开发方如何在需求变更中处于主动地位?
有些管理层很苦恼软件开发的汇报报告不易看懂,常常有一堆事务性的进展汇报,却很难获得一个全局性的视图,他们很难评估已完成的产品开发工作到底占全局工作的比例,产品功能比预期出现深度蔓延还是广度蔓延,高风险和难点问题解决得怎么样,为什么呢?
有些需求分析员为自己的建模能力而自豪!到底什么是高质量的需求,是完美的模型么?
很对开发方不愿意编写需求"直接写代码不是更好吗?干嘛浪费时间写那些没有人看的东西呢?"编写需求真的是浪费时间的工作么?为什么出现这种现象呢?
总体收益:
提高企业需求开发工作的质量,让正确而且完整的需求进入下一步设计和开发过程。
提升企业需求管理的能力,满足企业各个层次、多角度的管理需要,并促进整体研发管理水平的提升,加强项目过程的可控性、可视性,最终保证的成功交付。
用规范的方法逐步分解和化解客户干预和需求变化的对整个软件产品研发的风险,让需求成为软件产品升级进步的推动力,而不是产品研发失败或产品无法交付的风险。
具体收益:
1. 掌握需求的本质和需求工程的相关概念,建立正确的需求观。
2. 掌握需求分层与结构分解,并理解其如何与企业不同层次的管理工作相结合,建立以原子需求(需求项)为最小单元的需求管理“神经系统”,破除联系凌乱、颗粒度大小不一的“需求碎片”。
3. 掌握如何与客户(包括内部和外部)在需求工作中建立合作关系,让客户的参与成为软件质量改进的积极因素。
4. 掌握迭代的需求开发过程,并具体掌握如何进行需求获取、需求分析、需求编写、需求确认,最终得到高质量的需求。
5. 掌握业务需求、用户需求、功能与非功能需求的具体编写和使用方法,让需求易写易懂易查。
6. 掌握需求分配的版本化安排,理解其与产品版本化演进之间的关系,和如何进行产品组件的复用。
7. 掌握如何制订需求驱动的软件开发计划,让需求推动产品的升级,减少工作的反复。
8. 掌握需求过程涉及的一系列方法和工具。
专业背景:
12年软件开发及项目管理经验,先后参与数十个各类项目,并主管十多个各类项目,大多数是软件开发项目,部分为工程实施、管理变革的项目,在软件研发上具有丰富的实践经验和管理经验。
历任广州南方电信系统软件有限公司(后为中兴通信子公司)软件开发工程师、系统分析工程师、项目经理、开发一部经理、项目管理部经理兼信息中心经理、移动产品线总经理兼任项目管理部经理、新产品开发中心总经理、研发副总裁,直接主管了NF-BOSS(中国移动业务与运营支撑系统)、NF-IBSS(中国电信/网通业务与运营支撑系统)等系列大型软件系统的研发。后曾任AMDOCS (AMDOCS是全球电信行业软件提供商中的No.1)中国广州研发中心CRM研发总监,主管CRM研发。
曾两度接管濒危大型软件研发项目,实施包括需求开发和需求管理在内的过程改进,皆在短期扭转局面(3个月),取得成功;在广州南方电信系统软件有限公司期间主管移动BOSS系列项目(含东莞、佛山、惠州、河源、梅州、顺德,总合同额超过1个亿),取得很大成功,其中的东莞BOSS成为广东移动BOSS的样板工程,东莞、佛山两大区域中心皆为该项目的成功举行了庆功会。
课程对象
企业研发总经理/副总、公司总工/技术总监、研发项目经理、产品经理、PMO(项目管理办公室)成员、需求分析员、需求管理人员等。
课程大纲
1. 认识软件需求
本章节学习目标:掌握软件需求的基本概念、理清思路
什么是软件的需求?
问题探讨
需求的定义
需求的影响因素:范围、干系人、目标的相互作用
需求的层次划分与分类
业务需求
用户需求、业务规则、质量属性
功能需求、系统需求、外部接口与约束
需求常见概念的澄清
案例分析与演练1
2. 需求工程
本章学习目标:理解需求工程的组成部分和包括的知识点,理解迭代的需求开发过程,以及需求工程如何与企业组织模式相结合。
问题探讨
什么是需求工程?
什么是需求开发?
什么是需求管理?
需求开发与需求管理的关系
需求工程的推荐方法
迭代的需求开发过程
需求分析员的职责
企业需求组织
典型需求组织举例
案例分析与演练2
3. 业务需求
本章学习目标:理解业务需求的重要性和其对用户需求、功能需求的指导作用,以及如何获取和分析编写业务需求。
问题探讨
业务需求的组成
产品的业务目标
产品的前景与范围
业务需求的来源
业务需求分析与编写要点
业务需求的特点
业务需求的模板及说明
案例分析与演练3
4. 需求获取
本章学习目标:理解需求获取的重要性,区别需求获取与需求收集,掌握需求获取的方法
问题探讨
需求的来源
用户类
需求获取的方法
需求访谈
需求研讨会
需求整理和分类
用例法
用例发现
业务用例与场景
提取产品用例
提取功能性需求
用例模板
寻找遗漏的需求
案例分析与演练4
5. 需求分析
本章学习目标:理解高层需求的分解和最终原子需求的形成,掌握需求分析的方法
问题探讨
需求分组
产品分解结构
产品复用
需求分析的方法
原型
需求建模
非功能需求
需求优先级处理
需求分配
需求工作量评估与版本工作量汇总评估
案例分析与演练5
6. 需求编写
本章学习目标:理解需求编写与需求获取、需求分析的关系、以及需求规格的结构及如何与需求管理相结合,掌握需求编写的方法。
问题探讨和概念澄清
需求的标识
需求规格的框架及汇编
需求项框架
需求矩阵
需求规格说明模板
需求矩阵模板
案例分析与演练6
7. 需求确认
本章学习目标:理解需求确认在质量控制和在软件开发中的承上启下重要作用,掌握需求确认的方法
问题探讨
需求确认的时机
需求评审:正式与非正式的评审
业务需求的评审
用户需求与功能需求的评审
测试需求
需求进入基线
案例分析与演练7
8. 需求管理
本章学习目标:掌握如何和需求开发相结合,建立一个需求管理的“神经系统“,满足不同层面、不同角度的管理需要。
问题探讨
需求基线的建立
需求分配的确认
需求分配到版本,形成版本计划
需求分配到产品线
需求分配到流程
需求复用
需求的版本
需求驱动的软件开发计划
软件项目的分级计划体系以及各个计划的相互关系
需求变更驱动软件开发计划变更
需求属性扩展
需求状态跟踪
需求跟踪:需求关系链
需求跟踪矩阵
需求变更控制过程
需求管理工具
案例分析与演练8