Archive

Monthly Archives: February 2011

cloud把“云”这个炒滥了的话题再次翻出来,是因为和Scott Shaw在酒吧里的闲谈以及看到了熊节的Chef学习手记之壹:概念

先翻翻家底,OpenSource是ThoughtWorks的文化之一,ThoughtWorker都是Open Source的吹鼓手以及积极的贡献者,但是,是什么让ThoughtWorks形成了这样的OpenSource文化,它给ThoughtWorks和客户带来了什么?

  • 相对于商业软件,更容易雇佣到hard-core的Open Source软件专家。
  • 相对于商业软件,起步的成本更低,ThoughtWorker们可以在Beach Time和业余时间学习和掌握新技能、新工具而无需花大量的金钱购买License或者成为某公司的金牌合作伙伴。
  • 相对于商业软件,OpenSource软件的的概念更新,使用起来更有效率,更有乐趣,替换掉政治正确的商业软件,帮助客户提升了效率也节省了资金。

简而言之,OpenSource给了ThoughtWorks一个以极低的成本生产专家的机会,而这一切都发生在利用敏捷软件开发拉通业务需求和软件开发的大背景下。

那么Next Big Thing是什么? 我认为会是DevOps, 它是将软件作为投资品的存在形态转变为利润发动机的存在形态的最关键一步。在这样的背景下,技术狂热的ThoughtWorker如何积累技能?如何继续走在客户的前面,成为值得信任的建议者?

云,就是答案,云,同样给了ThoughtWorker一个用非常低的成本锻炼部署技能的机会,给了我们一个用很低的成本打造类似于heroku这样的部署平台的机会。

熊节,已经开始了,你呢?

事在人为,峰回路转这篇博客里我嘲笑了黄鳍金枪鱼这个工具的同时,捎带调侃了商业智能这个被滥用的概念,并立即受到了读者们强烈质疑。(读者们,我爱你们)

我单开一楼,向读者们聊聊我为什么不喜欢商业智能(工具)。

高德纳咨询公司对商业智能的定义是:

一种用于探索和分析数据(结构化,特定领域数据,常存储于数据仓库)的交互过程, 用于获得对问题的深度理解,并由此得出结论

Wikipedia对于商业智能的表现形式的定义中第一个是“报表”,而我们通常看到的商业智能工具也基本上是可交互报表加数据仓库的套路。

那就先说说可交互

交互的主题是人,那么

  • 他们是谁?
  • 他们对怎样的数据感兴趣?
  • 他们需要以何种形式展现数据?
  • 他们何时需要这些数据?做什么?

作为一个普适软件,BI工具如何回答这些问题?

用户(报表的使用者)很少按照BI的设计者想象的那样热爱数据,热爱Drill down, 热爱于修改各种过滤器查看不同的结果,绝大多数时候,他们仅仅是看一眼就离开页面。

那么为什么他们总要各种各样的过滤器,这难道不是他们希望和数据交互的铁证么?

在我看来大多数的原因是:

  • 客户不清楚它们需要什么数据,他们需要实验
  • 软件的发布周期过长

所以客户希望在持有数据的同时,保持对数据的交互,这样他就可以自行定制软件了。

如果IT团队可以:

  • 了解清楚需求
  • 缩短发布时间

我们确定昂贵的BI还是必要的么?

再说说表现形式:

Information Dashboard Design这本书中,作者特别提到了

商业智能领域必须将他们的关注点转移到个体如何感知和思考,视觉展示,界面构造上去….

很遗憾,我没有看到这件事儿再BI领域中变得流行,大概老板们的忍耐能力都比较高吧,倒是作者列举的BI领域的问题普遍发生:

  1. 数据的上下文不完备
  2. 显示过多的细节数据
  3. 选择了错误的measure
  4. 选择了不适合的展现形式
  5. 数据被安排的很糟糕
  6. 没有高亮重要数据
  7. 不恰当的使用颜色
  8. 枯燥的展示模式

1-3与需求分析相关,这些数据的用途,会触发什么行为?

4 - 8与用户体验,用户交互相关。

在加上开发人员常常要被引入定义报表,其实使用BI工具的过程往往制造定制软件的过程,购买了BI,等同于购买了一个可以被用于快速、廉价的制造定制软件的工具。

那么,用普适软件适应定制化的需求会出现什么问题? 不适用!譬如:

  • 你找不到想要的展现形式
  • 你没法对不同的人使用不同的展现形式
  • 你没法去高亮重要的数据
  • 你没法决定哪些数据该显示,哪些不该,因为它们或者全部显示,或者全部隐藏。

请自觉把上述“没法”替换成“很难”,如果你打算跟我讨论一个牛X异常的商业智能工具。

加上上一篇文章,

总结一下我想表达的:

  • 了解清楚需求,谁,用什么数据,做什么事情,比拥有所有的选择性强
  • 用户没你想的聪明,他们可能根本不需要选择
  • 定制化软件比你想象的便宜,好用
  • 加快软件的发布周期才是王道
  • 加快软件发布的办法之一就是让开发人员用他们擅长的,对开发模式友好的工具进行定制化开发。

过去五周我们都在和一个叫做黄鳍金枪鱼的报表工具缠斗。

黄鳍金枪鱼,被称为商业智能工具,和某些智能项目管理工具,智能电视,智能冰箱一样,我认为“智能”这两个字存在的意义是让人觉得别的选择都是不智能管理,不智能电视,不选择它会让自己成为做出了不智能选择的低智人群 。

黄鳍金枪鱼说:你可以简单的通过拖拽配置,就能生成报表,不会技术的你也能智能起来哦!技术人员,玩儿蛋去吧!

真相:

  • 在界面上,你可以通过拖拽实现叫做Join的功能, 你吭哧了半天,技术人员就写四个字母: Join
  • 在界面上,你可以通过拖拽实现叫做Filter的功能,你又吭哧了半天,技术人员这下写了五个字母,Where
  • 你吭哧了很久,其实就写了一条SQL

清醒吧,制造智能软件的傻瓜。

  • 不了解SQL如何使用这个工具?    你的目标用户永远需要技术人员的帮助来实现商业智能
  • 了解SQL干嘛需要拖拽生成SQL?能让商业智能起来的人不会喜欢你的软件。

这个智能世界让人情何以堪!

与这样的智能软件集成会怎样?

  • 无法多人并发工作
  • 无法版本化
  • 无法测试
  • 无法充分利用技术人员已掌握技术,不利于学习,不利于技能积累
  • 严重的产品依赖

简单的说,噩梦!

我们用了3天,哼哧哼哧的用黄鳍金枪鱼实现了一个很土的、基于图片的、不可交互的、商业智能报表,同时帮黄鳍金枪鱼挑出来4条虫。

然后,孙龙同学花了几个小时高高兴兴的用HighChart实现了全部的、漂亮的、可交互的、有意思的商业智能报表。

然后,业务人员被活起来的报表打动了,5周前所有人认为板上钉钉的技术架构就这样被撼动了,一个被高层选择为商业智能解决方案的在落地时变化了。

这五周我们做了很多,我们也确实摊上了好客户和一点点的好运气。

事在人为,峰回路转,整个过程有些象书上描述的剧情。

这是我学到的新一课。