推广的误区

现代的软件系统,它的复杂度越来越大,

各项技术的专业性分化也越来越严重,

因此,很少商业软件是由一个人独立完成的。


且不论软件整个生命周期中有过参与的种种角色

就只看到软件的开发者,这也是一个不小的群体


既然是一个群体,那么一起共事的其他开发者,就可能对自身的工作内容产生影响

一些优秀的团队喜欢招聘代码品味相同的人,也是这个道理。


不同的代码品味,会极大的增加沟通和软件维护成本

也会影响到做事情的方式,影响看待问题的角度,

影响代码库今后的发展方向。


所以,与别人沟通,甚至说服别人,采用与自己相类似的方式编写代码,

可以预见是一件经常发生的事情。


然而,很多看似合理的的尝试,却很少会成功。

当我们找到了一个完美的解决方案,打算推广给别人的时候,

等待我们的往往是冷漠拒绝


先确认目标是否一致

首先我们应该知道的是,方案总是为解决特定的问题服务的,

我们应当瞄准问题,而不是瞄准方案。

我们定义了什么样的问题,就能找到什么样的方案。


值得一提的是,我在这里并没有强调问题的固定不变的,

事实上,问题本身经常是变动的

这可能有悖于我们在学校中学到的一些常识。


因此,在我们向别人推广方案的时候,应该同时向别人确认一下问题,

我们是否正打算解决同一个问题?

我们预期达到的目标是否一致?


不幸的是,目标通常是不一致的。

所以方案不被认可,当然是显而易见的了。


别人不是在反对你的方案

即使我们目标达成了一致,

为了实现这个目标所要付出的代价,也可能不同。

对我们自身而言简单的方案,可能会给别人带来很大的麻烦


因此,别人不是在反对你的方案

而是在反对你给他带来的麻烦


看清了这一点之后,我们就不会绞尽脑汁找各种理由说服别人了,

而是转而去分析,

到底存在哪些困难,如何避免?


要知道,如果别人想反驳你,总能找到办法。


我们从不推行方案

咨询行业有一个法则,那就是,

如果客户没雇佣你,就不要为他们解决问题。


咨询是在他人的请求下去影响别人的艺术,

而在我们身边,却有很多主动提供“帮助”的反例。


所以,方案并不是推行出来的,

而是有人需要它。


想想我们有多少次,为了让别人学会什么东西,而强行灌输自己的想法?

知识一旦变得廉价就和噪音无异了。


因此好的推广,一定是以发现客户需求为前提的,

没有客户需求的方案,只是为了实现我们自身的需求,

我们应该付费给客户。


结语

我们在和别人讨论方案的时候,经常会遇到这些情况,

要么,别人不认同我们的预期

要么,对别人来说收益不明显,

要么,他们没发现有什么问题


强行推广自己的方案,会逐渐失去话语权。

The more one talked, the less powerful he appeared.