1. 问题是什么?
面对问题(并解决它们)是开发人员的一种生活方式。当问题发生时,我们希望赶紧把它解决掉。
太阳下面无新鲜事,如果一个熟悉的问题再次发生了,怎么办?
我们希望记起第一次是如何解决的,而且希望下次能够更快的把它搞定。然而,有时一个问题看起来跟以前遇到的完全一样,但是我们却不记得是如何修复的了。
夫子曰:上面的情况是不是经常发生?
2. 恶魔的方案
在开发过程中是不是经常遇到似曾相识的问题?这没关系。以前解决过的问题,现在还是可以解决掉的。
夫子曰:这是恶魔一般的方案,我们已经有过一次解决这个问题的经历,还要再有一次,以后会不会还会再有一次,两次,三次?
这就是噩梦。有没有其他解决方案。
3. 天使的方案
不要在一个地方跌倒两次 ——维护一个问题及解决方案的日志
-
可以在互联网上寻找答案吗?
诚然,有些问题可以在网上找到解决方案,但是有时候,你找不到。
找不到的概率偏大,因为互联网上没有你的软件开发过程,也就没有你遇到的问题。如果你遇到的问题,在网上都可以找到答案,这也就意味着你的同行很多,你做的事情,走过的路,你的同行已经走过了,原创价值就低了。
-
维护一个问题库
问题库里面保存曾经遇到的问题,还有对应的解决方案的日志。
这样,当问题发生时,我好像遇到这个问题,但是不记得怎么解决了。
去搜索我们的问题库,找到有效的解决方案,工作效率是不是就提高了?
怎么去描述问题呢
- 问题发生日期
- 问题简述
- 解决方案详细描述
- 引用文章或网址,以提供更多细节或相关信息
- 任何代码片段,设置或者对话框的截屏,只要它们是解决方案的一部分,或者可以帮助更深入地理解相关细节
如何保存问题
将日志保存为计算机可以搜获的格式,以方便关键字搜索
使用什么工具呢?
- 共享
共享编辑,共享信息。一个人的力量是有限的,共享,才更有动力编辑。
- wiki
方便多人共同编辑
4. 切身感受
解决方案日志应该作为思考的一个来源,可以在其中发现某些特定问题的细节。对于某些类似但是有差异的问题,也能从中获得修复的索引。
夫子曰:记录问题日志的过程是一次问题复盘的过程,最近看到一个信息,写作的目的的不仅是一篇好文章,而是思维锻炼,清晰化的书面表达,才可以让思维更清晰。记录问题解决日志,可以达到同样效果。
5. 如何平衡?
- 注意记录问题花费的时间,不能超过在解决问题的时间
- 找到以前的解决方法非常关键。使用关键字,可以帮助你在需要的时候发现需要的条码。
- 如果搜素WEB,没有找到,或许搜索方法有问题
- 要记录问题放生的应用程序,应用框架,版本信息,或者平台的特定版本。同样的问题,在不同的版本,或许特征不一致
- 记录团队做决策的重要原因。否则,过了6~9个月之后,想再重新回顾决策过程的时候,这些细节就很难记得了,很容易发生互相职责的情形。
6. 总结
夫子曰:不能在一个地方摔倒两次。 好记性不如烂笔头。
这么多名言警句,无数次的告诉我们,要注意问题复盘,记录。可是这个问题还是问题,它并没有消失。有的团队,个人就是不注重积累,觉得这些都不重要,最重要的是代码。所以这些人,还工作在代码对他们很重要的层次。
知易行难,慎之,戒之!
注:文中斜体部分为引用文章内容