KISS 方法 — 单纯的,简单的

KISS 这四个字母是由“Keep It Simple, Stupid” 这句话中每个单词的首字母构成。它是美国的一句俗语,据说是从军队用语中演变而来的。大概是当部下做得不好的时候,长官就用大声训斥:“简单点!笨蛋!”

KISS 正是工程学的基本思考方法。

###有时间想做不下去,还不如快点做
无论做什么事情,在计划开始实行之前或者是实行到一半的时候,一定会有消极的人这样说:

“这个太困难了,一定做不好”
“应该有更好的办法吧”
“这个太难用了,换一个吧”

在英语中有个词叫“Naysayer”。Nay就是No,这个词的的意思是“说不的人”。
我喜欢做一个坚持到底的人(也是我工作中几年才慢慢养成),不坚持发现慢慢失出越来越多。
有时,我们会经常翻来覆去在想一些做不下去的理由,还不如快点做。真要是做到最后不行,那时候再说做不去。

这想起我们老大(东风)说的一句话:“与其抱怨下属这不行,那没干好,还不如培养他拿A”。也是同样的道理。

最近由于团队成员人员不断增多,杂事也随之增加,发现自己时间碎片化越发严重。
于是采用同事推荐的teamcola做时间记录工具(推荐下,简单易用),只有将时间流水记录下来,才能从中发现规律和去总结,例如:

  • 哪些事情不需要去参与
  • 哪些事情根本不重要的
  • 哪些时间段处理某类问题效率更高,等等

时间管理得从记录开始。但刚开始的时候,我们并不能从中发现规律,来来回回就哪些类型的事情,谈不上哪个更优先或更紧急。团队其他成员可能碎片时间不多,更觉得记录意义不大。
但坚持后一段时间后,会发现,过往历史再回顾时,一个个片段非常深刻。而如未记录,人的记忆一般超过7天就会淡忘。

###坚持到了最后,就会明白失败的原因
我们在做事的时候,经常是还没完成就想“这个做不好,那个也有问题的”。而想的这些就成了绊脚石,不要自我设限。
其实做事只要坚持到最后,就算不成功也会学到很多。

在工作中,经常会碰到一些同事,容易产生依赖心理,只要团队中有更强的人,当出现不能解决的问题时,就将责任转移至他人身上。而自己往往错失了成长的机会。
我是挺愿意去尝试,也鼓励大家去尝试,哪怕是犯些错误,甚至制造一些重蹈覆辙的问题,但是在可控范围内。

前段时间我犯了一个错误,负责的一个项目,也因我部分产生这样的心理,导致差点问题严重下去。还好,我们老大及时指正。当时脑子惯性去思考,能让对方多承担一点,自己就不想去折腾了。也未去评估其中的风险,首先对方并不在我们的掌握范围内,风险是不好控的。其次在我们WEB开发领域,对方也不是强项。最后如果出现问题后,沟通和排查问题的成本高。这样依赖或责任转移,只能将风险放得更大。

我们团队中,一位同事也是。让他尝试带位新人,中途,可能由于本身他活多,照顾不到;也因没有太多经验,带得累;差点就想赖皮了,还好,扛下去了。
虽说最后没有想象中的成功,但已学到不少。当下次团队中有新人时,估计得称应手。
也让他从另外的视角去认识自己,而后工作中,思维逐步发挥。

###别想乱七八糟的方法
我们不需要去设计“巧妙”的方法,或者一定追求最佳实践模式,直接去解决问题才是最好的。
昨天我们有一次产品讨论会,在讨论会上,各位老大给产品经理提不同意见。产品经理觉得这个可行,那个需要。结果不断的将产品逻辑及流程越来越复杂。
这时产品总监说了一句话:“我们如果什么都不做,这个问题能解决吗?你们把产品想得太复杂了,可以先制定出相关的规则去运营,用最简单的方式,让大家先用起来,然后我们收集反馈再去优化产品。”
其实是可以的,我们只是在照顾每个人说得都有理的需求上,不得不去设计“巧妙”方案,解决这中间的问题。
在软件设计上,同样大家在为“巧妙”的方法绞尽脑汁,生搬硬套。最典型的所谓要面向接口,而不是面向实现。但问起:

“你有几个实现类?”
“只有一个”
“哪为什么要整个接口呢,你这并不同体现多态特性?”
“为了将来扩展”

在我们大部分的简单互联网的WEB开发中,很少会存在需要具备良好可扩展性。往往当需求变更时,都在原有基础上修改或者重写了当前方法。
我现项目中都没有接口概念,如果要有平滑(老方法仍在使用)扩展时,直接新建一个同样的方法或页面,例如:show.jsp, show2.jsp 等等。当切换完后,再干掉老的。
现流行的ROR或nodejs等等快速开发框架,都是直接有效的解决问题,没有那么多接口,也没有那么多职责类似的类存在(像j2EE中的DAO层等等)

以前也有一次,为了将许多相同逻辑整成通用组件,同时要照顾到页面各种编辑的不同特性。花费大量时间去精力设计一个具体可扩展的模型,各种设计模式的结合(桥梁,装饰,工厂等等),当时还满有成就感的,哇,能将这么多设计模式结合使用。
三天过后,结构出来了,也从兴奋中冷却后发现。如果我就设计一个配置文件,将变化特性的包括进来。建立一套标准,以不变就万变了,这事情原来可以这么的简单。