分析问题的模式

需求分析

不得不将需求调研和分析分开,从字面上应该很容易区分,然而实际工作中,有时候并没有严格区分。调研是一种比较原始的资料收集和整理,也可以用数据仓库系统作比喻,它就是从数据源到数据仓库的过程,数据源对应被调研客户,数据仓库对应着需求调研文档,这是经过抽取(询问)、清洗转换(合并、合理表达)、以及装载(编写)的过程。但这个结果还不是最终的目的,还得有分析,就像基于数据仓库数据作分析一样。

分析需求或是分析经营活动,都可以按照一定的模式,抽象到高一层次,它们是同一的。例如可以认为,分析的步骤是"明晰目标、分门别类、去芜存菁",之前,曾就后两者写过一些文字,参见,那是用分析存储过程代码来举例子的。看,虽然待分析的事物不同,但模式相同。

如何分析需求?从不同的地市,相同的部门收集了很多需求,有的形成书面的材料,一二三四列出来给你;有的临时跟你喷一通,你自己记着;还有的可能没什么思路,可能为了应付差事,给你点东西,非常可疑的东西。拿着这些材料,就得合计,哪些是同质的,只是表达方式不同,哪些需求是大家提出最多的,哪些是矛盾的,哪些可能是应付差事的。这就已经在开始分析矣。

但如果仅仅是脑筋在转动,这样的分析还不够,还得有工具、方法的支持。个人习惯上,还是用伊克赛来吧,这是一个分门别类的好工具。另外思维图也是一种不错的工具,但是它得到的结果不够结构化,不便后面的去芜存菁。

当然,在这两步之前,一定要将分析的目标表述清楚,能否用一句话表述。当然,这句话不能是口号,诸如"要建设有中国特色的经营分析系统",这句话必须得能够深入进去挖掘其含义的。譬如说需求分析的目标,"是要满足对系统规格的定义,作为架构设计的输入"。这是一个目标,其中"规格"、"架构设计"、"输入"都能够深入,继续定义。否则,就是一句口号。

经营分析

看看如何分析经营活动吧。经常,有人会提出类似下面的问题,"如何分析某种客户",这里的某种例如新增客户、集团客户等等,代表某一群体的。这类群体已经有明显的分类属性来标识。
但如果从上面的分析三步曲来看,显然这个提问的第一步,"明确目标"并没有做好。可能还会继续深入地提问,"某种客户的行为模式是什么样的?","某种客户的贡献变化是什么样的?"这更加清楚一些,但仍然需要对这个"行为模式"或者"贡献变化"作出定义。行为模式可以定义为"使用业务的量、方式",贡献可以定义为"成本、收入",而"变化",则定义为"在时间上的差异"。
所以可以将这类分析的目标表述为"某种客户,甚至其中更小的群体,可以为之制定什么样的营销政策?"
再深入下去,则是为此类客户"分门别类",客户一般的属性尽可附上,诸如所属地市、套餐、渠道等等,再则,就是其消费、帐务、交互属性,消费诸如长途、漫游时长,帐务如是否有月租、优惠费用等,交互如投诉次数、缴费次数、方式等。凡是客户,总是有一些共通的基本属性集,而针对具体的"某种"客户,可以有特定的属性,例如智能网用户,有"状态变化"的属性。这些属性就是细分此种客户的输入变量,这里称为"变量"是借用数据挖掘的术语。
当然就电信的客户来说,还有一些共通的地方,就是关注这些客户什么时候入网、什么时候离网。也就是常提到的"生命周期",其实就可以将某种客户首先分为四种,老客户、新客户、离网客户和不稳定客户。当然,这里的定义和传统的定义有所区别,所谓老客户是指在分析周期(数据的时间跨度)之前入网的,新客户是指在分析周期内入网的,离网客户指在分析周期内离网的,而不稳定客户是指在在分析周期内即入网又离网的客户。

这些都可以算作客户的"属性",细分客户。然而这种属性太多,需要挑出一些重要的属性,并为之命名。这在数据挖掘中是两步,聚类和概念描述。另外,从经验角度,分析人员、市场人员关注自己心目中的那些群体的客户,这里群体的标准不固定。比如说离网客户,可能上面有个明文规定的标准——如"注销的或是停机三月的",但可能他们说得离网客户是按照另外一个自己的标准,例如"注销的、停机三月的,或者最近三月消费小于10块的"。这是正常的分析需要,但底层数据支持起来比较吃力,因此到似乎可以考虑" 用户标签"的方法。

在几乎所有的分析中,发现有两个维度是必不可少的——时间和地域。时间上可以分析变化,同比、环比、趋势等,地域上分析分布对比。这点应该不论是电信,还是其他行业,似乎都是需要的吧。

 

总体设计和详细设计

对于总体设计和详细设计,我现在还不能很清楚的定义。但是就一般的原则来说,总体设计先于详细设计。总体设计应该记录的是共通的、稳定的、全局的设计思路、方法和规范。而在详细设计中,要给出每个环节的实现方法。一个是逻辑的,一个是物理的。由此,我倒是认为原来的那份总体设计更名副其实,因为是务虚的。而我写的这份带有很多物理实现的痕迹,因为对工具不熟,以后必定要继续修订。

这里面包含一个变与不变的判断。以前和同事交流这个问题,就提出过要分离出不变的部分,在程序设计中就是要提取共通部分。相信这是任何工作的一个重要部分。哲学寻求世界的本源,科学探求事物的规律,开发程序先概念、后逻辑再物理,人们工作中不断总结自己的经验。这都是在寻求"不变"的例子。

人对事物的认识是逐渐的,开始看到的事物,几乎都是变化的部分,和以前接触的事物不一样,随着了解加深,又发现其实很多部分和其他事物有相似之处。这就是一个变化到不变的过程,古话叫做"求同存异",现在流行的叫"抽象"。就那我们作需求来说吧,在软件行业,通常作需求的人不是真正的业务专家,当他刚接触这个业务,摸不着头脑,让他干三个月,他就会发现这些业务和以前接触的其他业务有如此多的相似之处,比如流程虽不同,但是流程的机制却是相同的。还记得IBM和那个叫Model什么公司研究的概念模型,理论上就是对业务的一种抽象,求不变。9大概念,无论是电信还是金融,都可以对应的上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值