软件咨询师对于广大软件工程师来说是软件一个既向往又神秘的职业。 有人会问:“咨询师要写代码吗?咨询” A:“有可能的啊。” 有人问:“有不写代码的师工时候吗?” A:“有啊,而且更多时候是具箱这样的,软件咨询师既不写代码,也不设计测试用例。软件” 那软件咨询师干什么呢?咨询他们在客户遇到问题时提供建议。 (图片来自:http://ceoreboot.com/) 作为软件领域的师工专家,他们擅长利用个人丰富的具箱领域知识,去解决软件开发、软件测试过程中的咨询各种难题。除此之外,师工软件咨询师需要利用各种技能与工具帮助自己快速收集信息,具箱分析、软件定位客户的咨询问题所在。 本文尝试通过ThoughtWorks咨询师的师工一些实践,来总结一下软件咨询师常用到的工具。工具分为两个维度: 技能工具 MECE分析法 MECE是麦肯锡所提出的一种分析方法,是“Mutually Exclusive,Collectively Exhaustive”的云服务器缩写,通常翻译成“相互独立,完全穷尽”。简单的说,MECE提供了一种有效的分类方法,当我们获取了团队中的信息时,这些信息可能非常杂乱。 例如当团队中出现测试效率低下的问题,团队中不同的人会给出非常多,互相交织的,层次不同的问题,有人会说“自动化太少”,有人会说“测试时间太靠后”等等。通过MECE原则,我们可以将这个事实进行抽象,归纳成相互独立的领域,验证是否实现了完全穷尽,让我们对问题的调研更加全面。 Five Whys分析法 Five Whys,从字面理解非常简单,就是连续问5个“为什么”,同样是香港云服务器一种解决问题的分析方法,用于简单快速的找到问题的根源。 例如: - “我现在头痛”--为什么? - “我没休息好” -- 为什么? - “我写文章写的太晚了” --为什么? - “我白天没有想好怎么写” -- 为什么? - “之前准备工作没有做好” --为什么? 综上所述,我对写这篇文章所需要的时间估算出现偏差。 通过这一系列连续的询问,我发现了导致我现在头痛的深层原因,其实是我对这篇文章的时间估算出现了问题,导致我熬夜加班写,最终没休息好。如果以后要避免类似的头痛,治本的方法是作好规划,减少熬夜。 当然,并不是说Five Whys一定就能找到问题的更深层次的根源,但是在咨询现场、时间宝贵的情况下,亿华云是一种相对快速有效的方法。 系统思考 系统思考就是以整体的观点对复杂系统构成组件之间的连接进行研究。 ——《系统思考》 当我们找到了很多问题之后,需要判断哪些问题需要解决,以及做到怎样的程度时,系统思考会帮助我们从系统的角度出发,发现这些问题之间存在的相互关联与影响,帮助我们的客户作出决策。 例如,从测试的角度出发,我们希望产品的质量非常好,***一直不出现问题,但是单纯通过测试达到改善质量的目的,可能将增加成本,进而导致产品价格上升,产品竞争力有可能下降等等。在咨询现场,咨询师们会经常遇到这样的问题,通过系统思考,帮我们找到当下***客户核心需求的方案。 系统思考在测试领域应用的实例:《运用系统思考,走上改善之路》。 手绘 为什么有手绘呢?边讲边画比单纯的语言效果好。拥有好的手绘能力,在白板上绘出形象生动的图,可以极大的提升演讲的效果和趣味性,同时体现出专业的一面。 (图片来自ThoughtWorks 王伟) 物理工具 常用的工具有Trello、 Xmind、PPT/Keynote,以及现场使用白板。 Trello: 主要作为项目管理工具,主要用途 Xmind:作为整理资料与思路的工具,主要用途 白板:作为咨询现场快速信息收集与展示工具,主要用途 PPT/Keynote: 作为正式的方案交付件。 结语 上述工具是ThoughtWorks软件咨询师日常工作中所使用工具及方法的一部分,针对不同的咨询场景还有很多不同工具。但是对于软件咨询师而言,工具只是招式,丰富的领域知识与过硬的技术能力才是内功,像金庸小说中讲到的那样,“无招胜有招”才是***境界。 【本文是专栏作者“ThoughtWorks”的原创稿件,微信公众号:思特沃克,转载请联系原作者】 戳这里,看该作者更多好文