2013年7月2日,载有3枚“格洛纳斯-M(Glonass-M)”定位导航卫星的俄罗斯“质子M/DM-3”组级运载火箭在拜科努尔发射场升空一分钟内即坠毁。经过初步估计,事故原因是火箭第一级发动机停止工作。除了感慨俄罗斯又浪费了一大笔钱以外,这次事故带给我们最大的启示就是工作过程中要细心再细心,避免错误的发生,而避免错误并非仅有意愿就可以做到,还需要有非常强的发现/解决问题能力作支撑。因此,无论从事何种职位,培养发现/解决问题能力都至关重要。
要培养解决问题能力,必须先发现问题。在各行各业,现在辅助发现问题的工具有很多,就软件行业而言,所熟知的工具有黑盒测试工具、白盒测试工具、压力测试工具、纠错工具等等。正常情况下,这些工具可以帮助自己发现一些常见的问题,但对于更深层次的问题,工具很多时候就很难发挥作用。
可能有人会问,何为更深层次的问题?我们仍以软件行业为例来说明,当一个项目有一些bug时,我们基本上是可以通过工具以及自己的经验来发现。但对于项目的需求错误、框架逻辑错误,仅靠工具是很难发现的。这些涉及到底层框架的问题就是我们所说的深层次的问题,要发现这些问题,不仅需要工具,还需要自身的分析能力、逻辑思维能力以及对客户业务流程的精准把握。
明白了发现问题需要什么样的能力素质,培养发现问题能力也就有了基本的方法:一方面,在自己从事的领域中,要看一些涉及底层框架的知识书籍,例如在软件行业中,需要学好的知识包括软件工程、数据结构、算法等;另一方面,要对自己工作所涉及到的业务,有深入的了解,例如自己所做的是物流行业的ERP系统,那要解决系统问题,就必须对物流行业的工作流程有着比较完整的了解。
发现了问题,接下来要做的就是制定解决方案。评价一个解决方案成功与否,其核心标准主要有两个:1.解决方案是否能解决问题;2.解决方案是否具有可执行性。首先说第一个标准,解决方案能否解决问题,很多时候要依赖于自己的专业性、以往的经验和不断的实践验证,这需要经过长时间的积累才能做到游刃有余;至于第二个标准,笔者想特别强调的是,当确定制定出的解决方案能够解决问题时,必须要考虑解决方案是否可行。这里所讲的可行,主要是指在解决方案中会涉及哪些部门和哪些资源,这些部门和资源自己是否能够很好的调动,或者借助他人的协助能够很好的调动。如果无法获取所需的资源,那即便解决方案再好,也很难有效地执行。
此外,在解决方案中,还需要明确各项工作的时间节点、阶段目标、负责人等信息,并且在问题解决过程中,需要进行全程跟踪把控,随时根据实际情况进行调整。
如果说解决问题的过程是培养发现/解决问题能力的实践部分的话,那么解决完问题之后对解决过程的总结,就是提升发现/解决问题能力的理论部分。对于解决问题过程的总结,主要包括三个方面:一、哪些方面做得非常好;二、哪些方面做得非常差;三、为什么会做得好或者差。当遇到类似的问题时,即可以对自己的总结进行验证。只有不断的理论联系实际,自己的发现/解决问题能力才会得到有力提升。