A la Carte Pattern, Consulting Pattern Series

作者:JerryXia | 发表于 , 阅读 (0)
2013-03-19
A la Carte Pattern, Consulting Pattern Series扁鹊见蔡桓公,立有间,扁鹊曰:“君有疾在腠理,不治将恐深。”桓侯曰:“寡人无疾。”扁鹊出,桓侯曰:“医之好治不病以为功。”居十日,扁鹊复见曰:“君之病在肌肤,不治将益深。”桓侯不应。扁鹊出,桓侯又不悦。居十日,扁鹊复见曰:“君之病在肠胃,不治将益深。”桓侯又不应。扁鹊出,桓侯又不悦。居十日,扁鹊望桓侯而还走。桓侯故使人问之,扁鹊曰:“疾在腠理,汤熨之所及也;在肌肤,针石之所及也;在肠胃,火齐之所及也;在骨髓,司命之所属,无奈何也。今在骨髓,臣是以无请矣。” 居五日,桓公体痛,使人索扁鹊,已逃秦矣,桓侯遂死。
–扁鹊见蔡桓公
模式名称
照单点菜模式
意图
通过提供我们能够deliver的服务(包括培训, 讲座, workshop等), 让客户来选择而不是我们主动安排各种培训, 来激发需求, 减少无的放矢的低效, 并使客户更好的了解我们, 快速的建立起合作的节奏
动机
公司变革的愿望有时来自管理层, 引入外部的咨询师更是只有他们才能做的决定. 而此时一线团...阅读全文

[Groovy Beginner] A Brief Summary

作者:JerryXia | 发表于 , 阅读 (0)
2013-06-06
[Groovy Beginner] A Brief SummaryGroovy is a general purpose language. By general, it means it has no advantage in specific area like architecture modeling, performance, concurrency, mass data processing, user interaction, etc. Its whole purpose is to improve you daily work efficiency. By daily work, it means tasks like file handling, network access, operating system interaction, etc. The mechanisms to improve the efficiency are Meta Programming, Functional Programming and DSL Fr...阅读全文

5 ways to eliminate if/else/switch/case in JavaScript

作者:JerryXia | 发表于 , 阅读 (0)
2013-09-26
5 ways to eliminate if/else/switch/case in JavaScript最近开始使用JavaScript. 回顾了一下这几天的代码, 发现圈复杂度为1. 30几个函数40多行, 超过两行的函数都很少 (当然那种当做对象来用的函数除外, 只说实际做事的函数. 不要小看这40几行代码, 完成了5个完整的具有用户价值的功能. JavaScript的表达能力不是盖的).
由于JavaScript具备一些函数式编程语言的特征, 写出没有分支没有显式循环的代码也属正常. 但实际上多数代码还是命令式的. 命令式风格也能写出圈复杂度为1的代码, 看看都用到了哪些技巧.
多态
这种技巧在<<重构>>里提过, 跟JavaScript没有多大关系. JavaScript对Duck Typing的支持, 使得多态更容易实现. 略过
Null Object Pattern
这个也跟JavaScript没多大关系. 具体到js, 简单说就是不要出现undefined和null, 总是赋初值. string赋””, 对象赋{ }, 等等, ...阅读全文

打破铁三角: 新的项目管理角度

作者:JerryXia | 发表于 , 阅读 (0)
时至今日, 依然有很多项目受困于项目管理铁三角: 范围, 时间, 和成本. 是啊,
必须在2月底完成, 因为报税高峰期3月份就来了. 必须在10月底完成, 因为要撑过双十一的并发量. 必须在10.1前完成, 因为要国庆献礼.这些需求都得做, 因为被替换的系统已经有这些功能了, 好多人在用, 没了他们会叫的.就这些人了, 招人短时间内也招不到, 再说你们不是说了加人反而会降低开发速度吗?这些都是现实的困难, 很难突破, 这也是前面几项被称为”铁三角”的原因. 那是否就一点办法没有了?
打破一条规则最有效的方法是推翻它的前提和假设. 当我们重新审视铁三角的时候, 会发现它至少有四个假设. 其中有两个假设比较明显, 早早就被人发现并利用了. 而另外两个假设则需更进一步的洞察力, 敏捷项目管理正是对准了这两个不那么明显的假设. 对这四个不同假设的颠覆, 导致了截然不同的软件过程管理方法. 下面我们依次来看一下.
时间变慢第一个假设较为明显, 即铁三角中的时间是按每周工作5天, 每天8小时来计算的. 无数的团队发现了这一点, 然后毫不犹豫的打破了它. 每周工作6天, 每天12小时如何? 工...阅读全文

Lean UX: 精益设计

作者:JerryXia | 发表于 , 阅读 (0)
2014-04-10
Lean UX: 精益设计当设计遇上软件
20世纪八九十年代,设计师开始进入软件行业。不过,他们仍然使用原来的套路来设计软件。不管是工业设计、平面设计还是时装设计,只要是以实物为产出物的行业,产品生产环节总是最大的瓶颈。在设计实物产品的时候,设计师必须在进入生产环节之前就把一切细节都确定下来,因为生产成本很高。开一家工厂,生产耐用品或者服装,成本很高;开一家印刷厂,印刷图书海报,成本也很高。
新秩序
这是一个必须全面合作才能成功的世界,而公司组织却依然严格区分职能和部门。这是一个必须不断做实验才能持续创新的世界,而我们却仍然在分析上浪费时间,为了说明文档而争执不休,拼命工作也只是为了完成交付任务。
Lean UX非常依赖跨职能合作,因为我们不能再把其他团队成员丢在一边,独自工作。我们不能再让团队等我们把所有东西设计完了再做开发。要想效率高,就必须每时每刻不断地和团队进行交流。这种持续的交流让我们不必再耗时费力地进行交付,而是尽量让整个团队达成共识。
Lean UX的通常做法:Lean UX使用协作、跨职能合作的方式,不依赖完备的文档,强调让整个...阅读全文