4006-998-758
3000+课程任你选择
SEAI需求分析法
研发学院 SEAI需求分析 开课时间:2023-02-14
陈勇

25年软件研发经验

资深编程专家

敏捷专家

25年软件研发经验,资深编程专家、敏捷专家。10年编程、测试开发经验,3年中高层管理经验擅长在实际环境中应用敏捷开发实践。具有丰富的工程技术与项目管理实践经验,从程序员、项目经理、CMMI/敏捷咨询师、事业部总监、副总经理等各种技术与管理岗位获得的一手经验,令其可以站在企业管理者的角度,以更广的视角来理解敏捷开发,并能配合和推动非研发部门协作推广敏捷。

IT著作:敏捷开发1001夜合著,《QUML量化统一建模语言》百度阅读9.7分  ,《IT职场人生》百度阅读9.7分  。


查看老师详情
课程内容


课程特色

世界唯一可以直接进行自动功能点估算的需求分析方法。

编写需求的同时,自动获得颗粒度近似的需求条目(用户故事),无需额外的拆分环节。

替代UML、用户故事,快速形成需求框架,效率高达150字/人年。

直接支撑后续工作(划分MVP最小可用产品、微服务、编码、测试)


课程思路

何为好的需求?SEAi需求分析法设定了4个目标。一般的需求分析方法能完成其中一个就很困难,而能同时达成4个目标的,当前只有SEAi需求分析法。

1.客户与用户可以自然阅读需求,并清晰地理解和认可需求的边界

a.“自然阅读”指不借助复杂的工具、图形、规则,而是像阅读普通的文字一样毫无困难地理解需求。

b.“需求边界”指做什么不做什么的边界,这个概念虽然很早就被人提出,但几乎所有方法都未能给出需求边界的形式和精确定义。

2.项目经理可直接基于需求计算工作量、工期、成本等人力数据

a.项目经理可以在不借助外人的情况下,直接由需求给出工作量、工期、成本、合理代码行数、测试用例数、测试缺陷数、发布缺陷数等核心数据。

i.一些敏捷开发方法如Scrum也可以给出某些数据,但均需要开发团队配合(但立项估算时团队很可能还不存在),且一般仅进行当前迭代的估算。

3.开发人员可直接基于需求完成数据库设计,编写页面/接口

a.需求文档的目录层级中,明确包含数据库表、页面/接口这两个层级(但又不会导致非技术人员难以理解),开发人员明确知道要开发什么。

i.一般的“用户故事”则无法明确知道要写多少个页面/接口。

4.测试人员可直接基于需求编写测试用例

a.需求文档的目录层级中,直接包含需求实例这一层级(但又不会导致非技术人员难以理解),测试人员对测试用例的数量、大致内容有明确概念。


课程范围

本培训以SEAi需求分析法为主,主要受众为产品经理。但其扩展应用会涉及项目经理、开发骨干、测试经理的一些技能

QAD量化敏捷开发是一系列课程/咨询的集合,整个体系前后连贯,覆盖需求、管理、技术的各方各面。

产品经理(对应Scrum中的PO,下图黑色人物)和项目经理(对应Scrum中的Scrum Master,下图蓝色人物)是其中的两个主要角色。


产品经理:

以SEAi需求分析法为主

包括从自然语言的简单需求描述,转变为场景、实体、行为、实例,并最终形成MVP,使用DevOpsBan进行管理;用需求实例化产生验收测试用例

核心收益:需求条目的量化,能满足横向、纵向对比


项目经理:

以QAD管理流程(QAP量化敏捷计划,DevOpsBan,QAM量化敏捷度量)为主

包括需求条目化,用户故事地图,整体计划,迭代计划,每日立会,DevOpsBan看板,全程量化管理  

核心收益:仅基于需求条目数,就能完成工作量、工期、成本、代码行数、测试用例数、测试缺陷数、发布缺陷数估算


课程体系

SEAi需求分析法(主要内容)

SEAi需求分析法是一种简单易学,使用高效,但却功能强大的描述、拆分模糊需求的方法。


简单易学

步骤化流程化

每个步骤有具体方法

有量化数字协助判断

1分钟即可理解

1小时即可使用此方法完成对自己实际需求的拆解

1小时教学后,拆分结果与创始人的差异即可达到1/7以内


使用高效

10分钟可拆解一个随机的1人年需求到达行为层(大致对应用户故事)

每人天可拆解约30人年的需求到达实体层(大致对应史诗故事)

与代码中的某些元素有固定的对应关系,因此对于已经完成的项目,可以通过对代码的度量而快速重建SEAi需求条目


功能强大

自动量化,即可跳过传统估算环节,直接用需求某些层次的数量,计算得出工作量、工期、成本……测试缺陷、发布缺陷数等

可直接用于类与方法的编码

可直接用于用户界面和接口测试

兼容性强,可直接作为史诗故事、用户故事、用户故事地图上面的条目使用


培训效果

QAD系列课程的目标设计

QAD系列课程的需求建模课程,可以仅通过短期课程培训达到远高于业界平均水平的效果。

QAD系列课程的自动化测试目标设定数值极高,除了少数学员外,几乎不可能仅仅通过培训达到,需要辅以咨询。

QAD系列课程关注实际应用的情况,而非培训效果本身,从而避免了培训课堂气氛热烈,实际工作中无法推广的情况。


QAD系列课程的验证项

课堂练习的验证

课间实战训练的验证

以下是QAD系列课程的量化效果:QAD只以量化指标评价研发水平,因此也只用量化指标来评价课程/咨询效果


需求建模与实际项目偏差

实际项目中,讲师建模结果与产品完成时偏差:约5%(建模34个页面,完成时实际36个页面)页面≈用例

课堂练习中,学员讲师偏差:约10~14% 即讲师只发现10~14%的页面级元素存在问题,需要增加、修改、拆分等。2020年培训普遍偏差只有10%左右,部分学员可达到3%


需求建模速度

讲师大会分享中

可在10~15分钟左右,对随机听众的随机需求(一般在6~12个月工作量)完成用例级建模

分享30分钟可完成:建模,估算,用户故事地图,看板

课堂练习中

学员可在约20分钟左右不包括分组、推选组长、选择产品的额外约5~10分钟时间,完成约100~240人天真实需求的场景、实体、行为建模

实际项目中

讲师可在1小时内使用QUML完成4个人月需求的建模

广州某学员在培训后10日内,耗时3天完成了960人天(约4人年)的需求建模,且对需求进行了额外的描述

讲师带领两位熟悉需求的学员,耗时2.5小时左右,对已经完成的15人年项目 30人团队,15程序员,已开发6个月 完成了需求逆向工程,重建了实体级别的需求模型,并与编码、工作量、测试用例、测试缺陷等数据对比后确认无误


编码/重构

课程培训中

可在60分钟左右,对随机听众的随机需求进行编码,形成主观分100分级别的主框架,必要时包括自动化测试代码以展示代码运行情况

实际咨询中

一天内将2000行代码重构为140行

某客户定期讲述需求中的难点 经统计共12个,讲师为客户完成实际代码框架

协助客户将25万行代码中的约14万行通过减半

通过使用“编码整洁指数”,在9个月将11个团队的平均分从1.5提升到3.3分 满分5分

自动化测试能力

实际项目中

讲师第一次在实际项目中使用Web自动化测试,就进行了Mars封装,约10个工作日完成了173个自动化测试用例,生产率约为15~20自动用例/测试人天,远高于实际需要数值(6)

北京某学员仅学习1天,即在周末耗时1天,完成了粗略的零编码自动化测试框架

北京某学员仅学习1天,即使用讲师的零编码策略,在约15工作日后完成其Robot Framework的改造,生产率高达24自动用例/测试人天,团队已有余力完成过去欠缺的测试用例

北京某客户在8天自动化页面测试咨询后,2个测试人员1.5个月完成了1830测试用例的编写,生产率高达30自动用例/测试人天,并为Mars Java框架贡献了约1000行封装代码 此客户在此前曾经接受了14天的原始selenium培训,但无法实际使用


课程大纲

课程以2天的形式进行(7+5小时),第一天讲解产品需求分析,第二天讲解如何使用需求分析的结果。

注意!即使只想学习需求分析,也要听第二天的课程,否则不知道如何使用需求,就不知道如何写需求才能满足使用要求。


第一章:产品需求分析(7小时)

核心目标1:使用正确的方法划分和描述顶层需求

核心目标2:使用SEAi方法拆分顶层需求

课程内容(黑体字环节带有实战沙盘演练)

需求采集

用户访谈与需求采集误区

SEAi需求分析法

识别产品的场景Scenario

建立场景描述语言

需求拆分

从场景描述中发现实体Entity(作为史诗故事)

识别标准,分析完成标准

为每一个实体分析CRUD行为Action(作为用户故事)

识别标准,分析完成标准

为每一个行为按成败顺序拆分需求实例Instance(作为验收测试用例)

练习:基于实际需求进行场景描述和实体拆分(形成史诗故事)

练习:利用CRUD拆分行为(形成用户故事)

练习:( 可2选1  现场授课优先选择A,远程选B)

练习A:建立用户故事地图(适合现场)

练习B:使用《SEAi需求模板》生成整体需求文档

演示:识别跨组需求,创建产品线级看板


第二章:产品版本规划与运营(3~4小时)

核心目标1:按照商业步调制定中长期产品路线图

核心目标2:建立最小可用产品与用户故事地图

核心目标3:基于需求建立中长期的估算

课程内容(黑体字环节带有实战沙盘演练)

版本规划

使用产品路线图表达产品模块间的关系及顺序

案例:滴滴打车的商业步调与产品开发顺序

利用Lean Startup方法分析最小可用产品MVP,并形成迭代需求

使用简化的用户故事地图表达MVP

练习:基于两种策略拆分产品版本

练习:(可2选1  现场授课优先选择A,远程选B)

练习A:在用户故事地图中划分2~3个版本/迭代(适合现场)

练习B:使用《SEAi需求模板》生成迭代需求文档

中长期估算与迭代估算

基于敏捷功能点AFP的估算

可估算2周~无限的工作量、工期、成本、合理代码行、测试用例、测试缺陷、发布缺陷数

基于SEAi需求条目的快速发布周期估算

练习:(可 2选1  现场授课优先选择A,远程选B)

练习A:口算估算《SEAi需求模板》的迭代

练习B:使用Ada Scope工具估算《SEAi需求模板》的整体和迭代


第三章:扩展应用(1~2小时)

核心目标1:建立灵活的微服务策略

核心目标2:基于SEAi快速编写代码结构,并确定需求范围

核心目标3:了解需求实例化生成验收测试用例的技术

微服务

利用微服务规划产品

基于SEAi需求分析的微服务拆分策略

演示:基于两种原则拆分微服务

面向变更的设计与编码

建立SEAi需求(史诗故事+用户故事)与编码之间的关系

需求实例化

从需求到验收测试用例

需求实例化模板

练习:完成单个实体的需求实例化


返回上一级