课程背景
微服务是一种分布式系统架构解决方案,推动细粒度服务的使用,这些服务协同工作,且每个服务都有自己的生命周期。因为微服务主要围绕业务领域建模,所以避免了由传统的分层架构引发的很多问题。微服务也整合了过去十年来的新概念和技术,因此得以避开许多面向服务的架构中的陷阱。
“用户根本不知道他们想要什么,直到我们给他展示产品之前。”
——史蒂夫.乔布斯
“世界上所有的需求都至少被修改过三次。唯一一个只经历过两次变更的工程师已经死了。倒在了去修改需求的路上... ...”
——无名
需求分析、需求规格化以及需求管理的工作贯穿项目生命周期的全过程。如何帮助技术人员能够准确而又简洁地规格化描述清楚需求、如何与业务人员准确而又迅速的确认需求并达成一致、如何确保在新产品开发的生命周期中双方对于需求的一致性、完整性与可回溯性理解与认知……这一系列的问题都对“编写有效需求”提出了很高的要求。为了帮助学员对以上问题有清晰的认识、完整的了解和全面的把握,我们特别设计了“编写有效需求训练营”这门课程。在设计本课程时,我们特别注重如下要点:
1. 帮助学员由浅入深、从粗到细地从“业务模型”、“业务流程”、“业务规则”等三大层次梳理需求、规划需求和描述需求;
2. 从目前主流的需求分析和需求规格化方法与技术中,特别挑选了能够为大家快速理解、有效掌握的用户故事(User Story)、用户故事地图(User Story Mapping)、Use Case、数据流图……等方法做出了进行总结和提炼,形成一整套有效的“如何编写有效需求”的解决方案,确保课程的可应用性和有效性;
3. 凭藉讲师在不同领域、不同细分客户的成功经验(银行、保险、证券、期货、电信、互联网……),本课程还将对业界优秀企业关于需求开发与需求管理方面的最佳实践进行深入的分享、分析和研讨;
本课程讲师是产品研发、软件工程和项目管理方面的领域专家,荣获中软协颁发的“2014中国软件工程年度人物大奖”、“2016杰出贡献专家”,长期在国内外领先的研发企业(华为、IBM、中移动、中国银联、……)从事软件工程、产品研发管理及管理咨询工作,有丰富的软件工程、过程管理与研发管理咨询经验。
课程大纲
Module 1:编写有效需求的“Yes”与“No”(9:00~10:00)
角色扮演游戏
过程:讲师扮演业务人员,学员(分组)扮演执行需求调研任务的研发人员,模拟进行需求调研过程
讲评:通过演练来认识“靠谱的需求从哪里来”的命题,认识在沟通需求中的常犯错误——边界不清晰、缺少可视化监控手段以及无限制拔高用户对产品的期望值 ……
实际案例剖析:在描述需求时经常容易陷入的误区有哪些?
“业务流程”与“产品流程”的边界不清晰
“用户期望”与“产品功能”“的边界不清晰
只有“产品能做什么”,没有“产品做的有多好”
最容易被忽略的一类用户——Administrator
实际案例剖析:“编写有效需求”的第一要务——我们交付的是产品的价值,而非产品本身
案例剖析之一:化繁就简
案例剖析之二:去简就繁
“桌面以上的交付价值”Vs.“桌面以下的交付价值”——哪些没有被讲出来的需求
需要“编写些什么”?需求的三部分内容:功能性性需求、非功能性需求、设计约束
三种不同详细程度的“需求”:白云级需求、风筝级需求和场景级需求
从产品用户的角度出发,我们能观察到的需求的三个层次:业务模型、业务流程和业务规则
Module 2大话里面有真情——如何精确撰写产品的“立项报告”(10:00~11:00)
如何在“立项报告”中准确描述本产品的“业务模型”?从从相关方的“期望值”入手
“裙摆模型”——如何从孤立的“白云级需求”中判断产品整体上的“交付价值”
描述“交付价值”的标准句式
诺兰模型永放光芒——如何准确地描述产品的 “交付价值”
正反案例对比介绍与剖析——有效地描述“立项报告”与无效地描述“立项报告”之正反案例介绍与剖析
Module 3可以让技术人员与业务人员坐在一起分析并确认业务模型的神器——用户故事(User Story)与用户故事地图(User Story Mapping)(11:00~12:00)
讲得清楚每条需求“以便于给用户带来怎样的价值”是用户故事方法最神奇的地方
使用用户故事地图来勾勒产品的全貌
正反案例对比介绍与剖析:用户故事描述“风筝级”需求的实例
Module 4如来神掌——如何有效描述业务流程?(13:30~14:30)
描述场景级需求的神器——用户用例(UseCase)
UseCase所带来的“如来神掌”效应:区分“产品”与“用户”的边界
正反案例对比介绍与剖析:用户用例描述“场景级”需求的实例
Module 5如何描述非功能性需求?如何判定需求的优先级?(14:30~15:00)
描述非功能性需求的“八元方法”——从8个维度分析并确定非功能性需求
需求的平衡
使用Kono模型判断需求的优先级
使用“二叉树”方法设定需求的优先级
Module 6如何描述“机机交互”类型的需求(产品与其他产品之间的交互)——需求建模(15:00~15:30)
案例分析:使用数据流图描述产品与产品之间的接口
案例分析:使用实体-关系图描述具体的数据模型
Module 7撰写需求时的文字语言技巧(15:30~16:30)
两种模式的需求规格说明书文档的样例——IRF(界面原型-业务规则-业务流程)和UseCase(用户用例)
需求的命名规则
正反案例对比介绍与剖析:“好”的和“不好”的需求描述样例剖析
Module 8本次培训总结及答疑(16:30~17:00)
为何放弃治疗——为什么不愿意把需求写清楚?
让我们一起把把脉吧——在贵公司如何有效部署需求开发与需求管理活动