我是这么利用数据:西红柿炒鸡蛋

这绝对是一道神奇的菜,上大学的时候,我和舍友总是抱怨为什么西红柿炒鸡蛋里面全是西红柿而没有蛋

!现在世道可是真的变了,西红柿因为营养丰富而不断价格上涨,如今再去餐馆点这道菜,会毫无悬念的发现

:全是鸡蛋,没有了往日的西红柿!

啊!西红柿炒鸡蛋,鸡蛋炒西红柿,让你哭笑不得的是:谁便宜,谁就是主角!

其实软件开发也一样,只是很多人没有发现,或者还没有发现,但总有个模糊的印象:如果开发速度是个

西红柿,那么开发质量就是鸡蛋!如果功能丰富是个西红柿,那个界面简洁美观就是个鸡蛋!等等等等。

只是我们自己还没有形成这样的开发理念,顽固而又执着的觉得:软件是个不可分割的整体!殊不知它就

和西红柿炒鸡蛋一样,是个混合物!今天我想和大家分享一点点我在“搅拌”这道软件大餐方面的

心得。

首先,让我们做一点划分的工作。我们把客户需要的功能点(业务功能、模块功能、数据集成功能等等)

,以及固有的功能点(比如:美观的界面、人性化的设计、性能卓越的反馈等等),一一的在看板上列出来,

尽可能全面而详实。然后,让大家选出功能最相似的两项,给最相似的两项起个综合的新名字,然后以新名字

继续这个过程,不断的寻找最相似的项,直到所有的项被合为一类。(学过数据分析的同学也许看出这是:聚

类)

然后,美妙的事情发生了,每次合并都是两个相似项合为一类,请注意是二合一,像极了西红柿和鸡蛋,

不是么?让我们把两个大项里面各自的最后一个以单元素存在的项作为第一个实现的功能(理解这句话需要耐

心!其实就是:最孤僻的那个项!),他们作为首批实现是有原因的,作为差异较大的项目,他们更容易特例

化,而不必左思右盼的考虑通用性!而随着更多的相似性的加入,自然而然的归类总结,产生通用的部分!

让我们继续,看看上面的过程产生了什么?注意到两个功能差异足够大,可以综合的安排两队人马并行开

发,最后汇聚到一起,准确的说是“炒在一起”!于是,每时每刻客户看到的就都是一盘调配均衡

的“西红柿炒鸡蛋”,否则,不论你是西红柿多还是鸡蛋多,用户都会抱怨,他们会认为你什么便

宜上什么,无论事实如何,你左右都是错,不是么?

还产生了什么?由于子项之间的差异依然足够大,这让开发的视角更符合科学,从特例到一般,平稳的进

化,让你的开发人员仿佛不费力气就找到了通用模块。

同时,尽管我们强调足够大的差异让特例化成为可能,但实质上,我们还是把相似引入了进来,让不同区

域的功能划分到了一起,更容易同步创意,让他们很自然的结合在一起,共享开发团队的想象力的洗礼!

不知你看出来了没有,这样的一个功能划分几乎是完美的,让我们强调一下:

1、  手头马上要做的两项总是差异足够大,让客户不会产生厚此薄彼的感觉,最大程度的让他们以

为你们团队能hold住全场!

2、  同类要做的两项差异足够大,让开发人员深入浅出的理解业务,先做一个特例,看看效果,再

做更宽泛一点的,再宽泛一点,开发人员就是这样才能没什么压力,又以超乎想象的速度融入业务。

3、  不丢失前面2条的同时,看板上的聚类图把同类功能放在了一起,更能够激发创意,也就是说:

策划人员从内往外看,一层一层的突破思维束缚!开发人员从外往内做,层层深入!两队人马里应外合、两面

包抄,齐活了!

好了,故事本该结束了,按惯例,我想点一点数据思想。大家注意看今天的分享,在往常我会捎带着讲解

人为管理信息的缺点,捎带着表明:要让信息数据化,参与模型计算,参与分析,今天只字未提,其实这个例

子也是要这么做的,不要忘了分析功能点,分析反馈就好了!想说点什么呢?纵观现在的数据分析以及所谓的

数据挖掘,大都介绍那些看着名字都会背的算法,不是说这些算法不重要,而是看完这些东西之后很尴尬的发

现:“尼玛,用不上!”他们不是需要超大量的数据积累,就是需要牛X的大型计算机或是分布式

集群。醒醒吧,这离我们太远了,我也常常阅读这样的文章,刚开始很激动,后来很不屑,感觉就像看科幻片

,因为我实在买不起那么贵的玩意儿!让我们玩点小的,就像今天的聚类,把功能点聚聚类,产生点能玩的小

东西,把数据分析带入寻常百姓家,这才是我们的菜,不是么?

来吧,来盘正宗的西红柿炒鸡蛋!

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/

时间: 2024-11-10 00:23:10

我是这么利用数据:西红柿炒鸡蛋的相关文章

我是这么利用数据:业务闹钟

每天起床都依赖闹钟的我,对闹钟其实又爱又恨. 有一天,我突发奇想,我们的业务不就是类似于时间,一刻不停的往前推进,那些我们要做的事,不就像 闹钟,在关键的时间点(可指定),给予我们提醒,叫停我们去做某些事情(复习下英语语法 :stop to do something) 抱着试一试的态度,我自己写代码开发了一个类似闹钟的页面(当初的页面面目全非了,画示意图咯) 填个时间,写段话,然后到了那个时间,服务器就把这段话发送给你 后来我考虑,怎么发送呢,可选择的有以下几种 1.email 这个比较传统,而

我是这么利用数据:快到碗里来

数据分析的一项基本的前提是:你得有数据可以分析 所以有某些所谓的数据挖掘专家趾高气昂的说:数据挖掘的绝大数工作是在清洗数据! 都是些不食人间烟火的吃货,哪里来的现成的数据让他们清洗,实际的工作中我总是一次次的发现:获得 数据是最难的部分 其实获取数据的方式无非两种 1.从别的什么系统中获取现成的历史数据 2.从自己的系统中让用户录入数据 今天我想分享下我在第2点上的一点小小经验 首先,用户是最TMD烦某某系统的,需要他们付诸大量的配合,最后功劳还是做系统的人的,自己捞不着好 处不说,还为了习惯新

我是这么利用数据:对需求说不

我常常鼓励我的程序员对需求说不,我想和大家分享一些在这方面的经验 首先,人是很奇怪的动物,对于容易获得的东西,往往不够珍惜,特别是像程序这样的虚拟的东东,更是 对"免费"获得的程序不用正眼瞧一瞧,通常没有评价,或者评价为:也就那样吧. 这是我们每一位开发者不愿看到的,所以,我对任何需求都说不! 不是我不尊重用户,其实我想做的更好,我认为冒然的提出需求的人,其实不知道自己要什么!但是他们 总是以为自己知道自己不要什么,以至于原样按着需要做出来的软件会被认为并不是需要的,而世界上没有一 样

我是这么利用数据:KFC之所以在中国

几年前在苏州工作,偶尔有些短途的外出公干,虽说是短途,但到了陌生的城镇就面临一个很严峻的问题 :中午吃什么? 当发现自己常常选择KFC这样的餐厅时,仿佛悟出了点道理,虽然中式菜肴口味多样,但那些不熟悉的小饭 店带给我的,更多的是一种未知,兴许我选择的那家非常不错,但是我始终不敢确定.相反的,KFC则不一样 ,闭着眼睛都知道里面是卖汉堡的,而且那些汉堡是什么口味也基本上知道,虽不是很钟情于此,但至少不会 让我太失望,况且,吃饭这种事情,弄些难吃的菜倒了胃口,是很难补救的,每个吃货都懂的! 于是,标

我是这么利用数据:1篮子鸡蛋

一篮子鸡蛋放在你面前,让你挑几个带回去吃,你会怎么办?我想大致会这样:也不能说全拿走,这样不 好,也就看看里面哪几个个头大一些,然后挑那几个!今天想和大家分享一点点,由挑选引出的数据驱动的含 义! 说点题外话,可能"数据驱动"这个说法并不是我提出的,但是这四个字真的很贴切,很符合 我的思路,准备长期的使用,不过,问题是真的很难解释它是什么,尝试过很多角度来解释它,都还没有说清 楚,当然了,这给了我一次又一次反思的机会,倒也不错!今天这个话题也是继续拿鸡蛋的例子来谈数据驱动 ,可能是你的

我是这么利用数据:鱼和熊掌

刚刚开始参与编程的时候,就听说过这么一个段子:某程序员病危,久久昏迷不醒,各种药物治疗,均告 无效.家人百般焦急之时,有位同事来看望他,只是轻轻说了一句:"尼玛,需求又变啦!"该程 序员立马被吓醒了! 我们不止一次感叹:需求猛于虎,改需求则猛于母老虎!于是这些年软件行业发展了无数的技术,用以抵 御这样或那样的变化,了解其中一些确实对编写程序有帮助,但现实却冷冷的告诉每一个经历过的人:那些都 是治标不治本的玩意儿,照样忙的跟某人类的朋友一样!不过,世界上居然还存在着一些锦囊妙计,今天我和

我是这么利用数据:公共汽车的故事

自从买了车之后很少坐公交车了,不过对公交车的感悟由来已久,这些个每天奔驰在城市的各条道路上的 大家伙,年复一年,日复一日,没有明确的说要去载谁上路,但不影响他们总是按时按点从起点出发,顺顺利 利的到达终点.今天和大家分享一点点关于公交车和软件开发. "谁坐公交啊!"一般的人心里都这么想,但凡出去办事,公司只要报销路费,一律出租车走 起.但是每当自己掏腰包时,他们往往会转而选择1元钱可以坐10公里的公交车!这是怎么样的一种心理? 我们不是要批判谁,让我们理理思路,继续讨论.就单纯的问:这

我是这么利用数据:堵车的故事

南京城内房价太高了,断然不是我等上班族消费的起的,所以,我选择了在城外的小县城定居.顺带买了 台车,每天驱车数十公里来单位上班,正值今天南京下雨,路面湿滑,国道上渣土车龟速移动,外加多台重量 级"选车"横排占满路面,我无奈的被堵在路上超车不得,本来一个小时的车程,被我开出了一个 半小时以上,险些迟到. 有时候,我总是把这些琐碎的事情和工作联系起来,想想我的软件,人们总是把相似的工作看做等价,既 然等价那么花费的时间和代价也理应相同,随着这种思想蔓延开来,我们发现客户总能找到一些类似软件

我是这么利用数据:言者无心,听者有意

我喜欢参与到我的用户中去,了解他们,并和他们交流.后来,我要求我的团队成员也这么做,加入到他 们交流的QQ群.邮件通报列表.内部交流组等等的通讯工具组群中去. 这常常给我意外的收获,在用户的群组讨论中时常能看到这样的字眼 1.通知,由于生产任务重,xxx终端的出货工作交由xxx和xxx联合负责,春节后恢复以前的方式 2.xxx终端出现异常,正在排查,如有客户来电,请转至xxxx专员. 3.是谁处理了xxxx业务,设备故障解析错误,需要重新排查. 4.下周一开始,封闭xxx型号的终端咨询业务. 5