当我成为一个骄傲的父亲时,我几乎失去了所有的空闲时间。
从那时起,我两次成为骄傲的父亲。
长话短说-我有三个孩子。
这基本上意味着根本没有空闲时间。
时不时地,我只有五分钟的时间思考清楚,我幻想如果有时间,我会做的事情。
这包括学习如何弹吉他,教高中生数学,打开自己的比萨店等等。
即使我确实找到了空闲时间,我也不会将其浪费在幻想上,因为如果我没有计划坚持的话,那么细读其中的任何内容都是没有意义的。
作为软件开发人员,我们也有幻想(与工作相关–其他幻想不在范围内)。
我们每个人对于大变革都会有自己的想法,这将带来改善。
这些想法没有实现,因为它们没有经济上的直接诱因。
这些想法的范围从开发使用自然处理语言并能理解用户要求的智能文本框到用新的酷技术取代我们现有的老旧烦人的构建技术。
但是,没有人要求使用智能文本框,而旧的烦人的构建系统也可以正常工作。
在敏捷时代,这些幻想会发生什么?
敏捷发展教会我们追求客户价值。
任务被包装为用户故事,以确保没有浪费。
所说故事优先考虑价值,因此我们始终致力于处理最重要和最有价值的故事。
技术债务和技术用户案例要格外小心。
我们只处理最痛苦的事情。
我们被教导仅在新技术帮助我们解决问题,不招待我们或保持最新状态时采用新技术。
问题在于,它不仅杀死了开发中的一些乐趣,而且还使我们的解决方案靠近我们找到它们的地方。
计算机科学中的几种算法,例如遗传算法和模拟退火算法,都使用随机化来逃避最小局部性。
简而言之,这些算法基于以下方法:从解决问题的初始方法开始。
然后迭代地使用“智能”假设,通过对其进行少量修改来改进解决方案。
他们进行的迭代次数越多,找到的解决方案就越好。
这种方法的问题在于,最初的解决方案可能被不良解决方案(最小局部性)所包围。
在这种情况下,算法将无法很好地执行,并最终返回接近初始解的结果。
我们如何摆脱这种最低限度的局限性?
一个建议是不时使用大脑和明智的假设,不定期地更改解决方案。
这样做的想法是,有时这种反弹将很好地升级您的解决方案,以弥补其他无济于事的时间。
我们如何在开发过程中逃脱最小的局限性? 即使在敏捷时代,我们也应该花些时间幻想自己。 我们迭代中的此类随机反弹应集成到敏捷方法中。 如果我们坚持足够长的时间,我们最终将为我们的问题找到更好的解决方案。 我们可以保证的一件事。 它将更加有趣。
参考: DeveloperLife博客上来自JCG合作伙伴 Nadav Azaria和Roi Gamliel的开发 人员幻想 。
翻译自: https://www.javacodegeeks.com/2012/05/developers-fantasies.html