问题解决方法学(转)
我们会不定期遇到很多问题,诸如从“我的电脑为什么锁住了”到“服务器为什么这么慢”等一系列问题。如何解决这些问题,是区分优秀专业人士和一般专业人员的标准。
问题解决方法学
在中学期间,我曾接触过该科学方法。过程是这样的:
1.对问题进行明确的描述;
2.做出假设;
3.进行预测;
4.验证假设。
5.分析结果。
该方法论可以应用到我所遇到的问题之上吗?当然可以。
对问题进行明确的描述——通常,会很多问题要求你解决你。如“服务器为什么这么慢?”“我为什么连接不上数据库?”“该报告为什么运行超时?”
做出假设——前天晚天,可能在服务器或SQL Serve上打了补丁。可能是网线没有插好。也可能是开发者改了存储程序中的一行代码。列出可能影响系统产生该问题的原因,并按该列表一一测试。
进行预测——猜猜结果是怎样的。如果是一个你之前曾遇到的问题/错误,接下来如何处理,你心里就十分清楚了。如果是一个新问题,利用之前的经验和推断技巧,去判定哪些改变导致了系统产生问题。
验证——制定一个计划,进行一处修改,然后检查问题是否解决。不要一次做出三处及以上修改, 这样不容易确定是哪处改变修复了该问题——一次只修改一处。要明白系统正常运行是怎样的。如果查询很慢,要了解问题发生之前性能是怎样的,问题发生时性能是怎样的,什么样的性能是可以接受的。明确的检验指标很重要。你必须能够测定出问题是否得到改善,是否保持原样,还是变得更加糟糕。
分析结果——对指标进行验证。你是否获得你期望的结果?如果是,问题解决了吗?如果不是,根据你的列表,下一项检测是什么?继续根据列表一一检测并分析,直到问题解决。