业务建模--竞争优势

本文为《软件方法-业务建模和需求》的读后感系列,可在线试读

认知红海时代

俗话说的好:人无我有,人有我优,人优我廉,人廉我走。

上大学用DreamWeaver学网页,老师说过:2000年那时候,40张图文的HTML静态页,可以要价2万RMB。现在么,建站服务几千块就能搞定。国内某个电商建站服务商,现在转型做小程序去了。

在这片红海之中获取竞争优势,是每个企业努力的目标。

解读利润公式

企业一般是指以盈利为目的,运用各种生产要素(土地、劳动力、资本、技术和企业家才能等),向市场提供商品或服务,实行自主经营、自负盈亏、独立核算的法人或其他社会经济组织。 –百度百科

会计学上的定义, 营业利润=营业收入-营业成本-税金及附加-销售费用-管理费用-财务费用-资产减值损失+公允价值变动收益(-公允价值变动损失)+投资收益(-投资损失)+资产处置收益(-资产处置损失)+其他收益。

简化一下,简单理解为:利润=收入-成本-费用。

现在较为通用的SaaS模式,客户一般会持续的租赁软件。续费客户的费用几乎可以忽略,即利润 = 收入 – 成本。

成本,主要是场地费+研发相关费用。一个良构的设计,可以显著降低开发成本和实施改动成本。客户规模到一定量级,可以有效的摊低研发费用。

收入,基本是由研发部给指导价格,营销部根据市场去调整的。最核心的,还是软件功能丰富体验良好,匹配客户的需求。所以,需求的好坏直接决定了软件的收入。

综上,利润=需求-设计。

“需求”和“设计”两个术语有两种用途:

  1. 用于表达建模得到的结果,例如“需求和设计不是一一对应的”
  2. 另一种用于表达建模的工作流,即需求工作流和设计工作流,例如“我正在做需求”。
    为了得到需求,需要做的建模工作流有业务建模和需求。为了得到设计,需要做的建模工作流有分析和设计。

分离需求设计

如果需求和设计不分,利润就会缩水

需求映射设计

如果直接从需求映射设计,就会带来重复的代码。举个例子:

需求描述 设计
A部门需要管理铺货,制定铺货标准,让下面的人按标准执行 A部门铺货管理
B部门需要管理铺货,制定铺货标准,让下面的人按标准执行 B部门铺货管理
C部门需要管理铺货,制定铺货标准,让下面的人按标准执行 C部门铺货管理
D部门需要管理铺货,制定铺货标准,让下面的人按标准执行 D部门铺货管理

由于各部门管理理念有一定差异以及一些其他因素,我真见过系统是这样设计的。

设计映射需求

如果直接从设计映射需求,就会出现假的“需求”。好多人觉得不可思议,设计怎么会映射到需求?就B端产品,做个分析:

一般B端是以项目交付为主的,早年没有PaaS的时候更是各种二次开发。项目积累够了,就会想要抽取共性做成产品,基本上是这样操作的:

  1. 一线客户基于自己的角度给出功能
  2. 项目基于已有零碎场景,直接进行设计
  3. 项目成功上线,形成解决方案
  4. 由于人员流动,且为了可落地,产品方案大量参考项目方案
  5. 产品设计参照项目设计,进行整合以及体验的优化

举个具体的例子:

项目功能点 实际场景 设计倒推需求 真实需求
城市等级管理,可以定义城市的等级,如直辖市、副省级市、地级市、县级市、镇级市、特别行政区等,还能额外定义国家中心城市、省会城市等 某类活动费用的投放上限,根据城市的等级(国家规定的城市等级划分)有所不同 需要有城市等级的功能,费用控制需要用到 同步国家最新行政区域,以及对应的城市划分,并且能够为城市打上自定义的标签。

需求设计分离

需求 设计
一个人,可以走路、跑步、跳跃;他还会举重、投掷、游泳; 运动系统子、神经子系统、呼吸子系统、内分泌子系统、循环子系统
他会进食,也会排泄; 消化子系统、泌尿子系统
极端情况,迅速反应,避免受到伤害; 神经子系统-反射
他可以繁衍后代。 生殖子系统

整体如图:

人体子系统

建模没有借口

借口 实质
“敏捷”、“迭代” ,放弃建模 “迭代”只是一个底线,确实,再高明的大夫也没有把握一个疗程就治好患者,所以要按疗程试试看,但是每一个疗程中,依然要尽力检查、诊断、拟治疗方案。检查、诊断等技能越精湛,所需要的疗程就越少。
“项目时间太紧” 有了计划,才能更好的应对变化
“试错大法” 反客为主,成本过高。
“软件开发是艺术” 艺术也是有迹可循才行
“系统比较特别”,“小系统” 没有什么特别的系统,不同形态的系统各自有各自的复杂性

  目录