如何摧毁妥善解决的神话

如何摧毁妥善解决的神话

原文:https://medium.com/hackernoon/how-to-destroy-the-myth-of-the-proper-solution-94ca958def1f

阻止我们踏上无尽旅程的想法

A design artwork representing the stereotype of the perfect city of the future

讨论是软件开发的基本部分,它们是增加可伸缩性的必要摩擦。从这些讨论中可以得出一些模式,当这些问题可能对结果的质量产生影响时,这些模式允许我们及早发现问题。其中之一就是妥善解决

正解是软件开发中的常用表达。它可以以多种形式出现,如“最佳解决方案”、“以正确的方式行事”、“使之更好”或“改进它”。它们都有一个共同的基本原则:

仅仅因为一个人相信有最好的答案,并不意味着它就是最好的答案

在大多数软件项目中,对问题的直观分析是必要的,因为更可接受的答案在于在许多变量(业务需求、人力资源、代码复杂性、技术债务等)中实现最佳结果。).主要的问题是“最好”或“适当”是很难衡量的,取决于每一个具体情况。

正如易读性一样,当由一个人得出结论时,“适当的解决方案”可能是主观的或不准确的,因为它依赖于那个人当前的知识和精神状态。然而,当作为一个团队工作时,得出主观和不准确的答案的机会较低,尽管它们仍然受限于该团队成员的知识水平。此外,同一个团队的两个人可以想出一个解决方案,这个解决方案看起来对当前问题的核心是一样的,但对边缘情况是不同的,或好或坏。

很难(无论是作为个人还是团队)为一个问题找到合适的解决方案的原因是,人类在所有领域的知识都太庞大了。即使我们能把全人类目前的知识装在口袋里,仍会有许多东西有待发现。真正想出一个合适的解决方案的唯一方法是了解一切,包括未知的东西,并把它作为一种尝试,以精心设计出尽可能好的、可衡量的结果。

真正想出合适的解决方案的唯一方法是了解一切,包括未知的东西,并以此为契机,努力创造出尽可能好的、可衡量的结果

不幸的是,能够衡量这个行业的某些东西本身就是一个挑战。每个特定的环境都是动态的。例如,变量经常变化,我们无法使用像科学方法这样的有效模型来有效地预测结果。知道一切(包括未知的东西)是乌托邦。

合理的结论是,正确的解决方案是一个谬误。是不可能实现的。

如果我们意识到正确的解决方案是不可能实现的,我们至少可以根据个人或团队当前的知识或情况,尽可能地接近它。即使我们不能衡量一个对所有情况都一样的合适的解决方案,我们仍然可以试验一些东西,看看它是否在我们的环境中有效。如果它有效,这并不意味着它将适用于所有情况,但至少意味着它适用于业务需求、人力资源、代码复杂性或我们目前拥有的技术债务。

没有“合适的解决方案”这种东西,只有在当前知识和环境下我们能够想出的最佳解决方案

代码在到达主分支的时候就已经是遗留的了,在进入生产的时候就已经做出了决定。我们唯一能做的就是提高自己的能力,让下次做得更好。

找到合适的解决方案是一个神话,这并不意味着我们应该停止使用这个术语,只是它不应该阻止我们在持续改进的旅程中每天越来越接近它。如果我们这样做了,我们最终会达到一种状态,在这种状态下,我们会发现自己比很久以前更快更好地解决问题。

然而,如果我们没有感觉到我们每天都在进步,那就意味着我们没有更进一步。

我的朋友,这是一个更大的问题。

感谢阅读。如果您有任何反馈,请通过 Twitter脸书Github 联系我。


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除