如果您想让我烦,请说“建造软件应该像盖房子……”之类的话。 说我不喜欢建筑隐喻是一种轻描淡写的说法,但是……我想我可能已经注意到了一些。
照上面的照片,不,它们不是太空火箭,而是剑。
星期日上午,这是35年来我第一次用木头做东西,称它为木工是一种奢侈,但是我的儿子们想锯木-所有男孩都应该锯,不是吗?
具体来说,他们想要一些剑来玩,所以板凳出来了,锯子出来了…………不错,我是一个真正的男人! –我可以做儿童玩具!
仔细观察一下剑,您会注意到,到手柄处,它们有一对“翅膀” –实际上,它们本来是护手的。 这是我在施工期间才发现的一项要求,当时大男孩认为他应该与小男孩不同。
所以是的,当您构建真实事物时,需求也会发生变化并不断扩展。 尤其是在发挥创新和差异化作用时。
当他要求这样做时,我不知道该怎么做。 我没有停下来努力,而是想“嗯……也许他会忘记,也许我会想到一些事情”-然后继续工作。
我确实想到了一些东西,我意识到,如果使用顶部的切边,则可以创建所需的效果。 现在是课程。
建造第一把剑花了大约20分钟-没有“翅膀”。 第二把剑花的时间更少,可能只有10分钟-再次没有“翅膀”-因为我知道自己在做什么。
整个过程非常顺利,我发现我想起了很多我的学校木工和与父亲一起在车库的时间。
但是,然后我开始了“翅膀”。
这些小的添加又花费了相同的时间,甚至更长的时间。 我也被钉子,螺丝钉弄得一团糟,最后用了木胶。 现在,美丽的光滑饰面被突出的指甲打断了。
用软件的术语来说:构建两个基本产品花费的时间不到总时间的一半,构建基础架构的过程很顺利。 大部分时间都花了很多时间才造成了最大的麻烦,这是增加和“精打细算”(或更确切地说是创新)。
去年秋天,我有建筑商要换房子。 在最初的三周中,基本产品被创造出来:拆除一堵物理墙,将一扇外墙用砖砌成,移开窗户,将地板,电气设备和管道拆除。 所有繁重的工作都很快完成。
事情放慢了脚步,又花了三个星期的时间来建造一个新的内部壁橱并铺设新地板。
然后又花了六个星期完成了管道,电气,完成了施工,安装了厨房并进行了装饰。
看到? 繁重的工作(最明显的钻头)实际上需要进行物理工作,因此很快就完成了。 详细的工作进展缓慢,可能是因为它需要注意细节。
真是令人沮丧:完成了艰辛的工作,墙壁已经消失,安装了钢梁,为什么还没有完成其他所有工作? 也许我应该和主要人物说,“我们可以招募更多人吗?” 或“我们现在不能并行工作吗?”
这不像软件吗?
我在一两个星期内就让Mimas投入运行了,但是又花了几个月的时间才能使所有ins和outs都按照我想要的方式工作。
即使使用Magento,您也可以在半天之内安装WordPress网站。 但是正确设置样式需要花费数周的时间。
您可以在几天内构建一个粗糙的裸露应用程序。 但是,完成所有细节需要几个月的时间。
如此之多的工作都让繁琐的工作变得无所适从,因此项目管理已不再是真正的工作。
问题是:对于那些不从事这项工作的人-我的孩子看着我,我看着建筑商,您的客户看着您-他们希望花费时间的地方-繁重的工作-实际上很快。 细节很慢。
现在写这本书对我来说,这正是ERP系统所发生的事情。 SAP,Microsoft和Oracle一起安装基本的ERP,几天之内就完成了–欢呼,所有辛苦的工作都完成了! 仅需细节,仅剩下“配置”即可。 除了配置是细节外,细节还需要时间。
博客也是如此。 这样的博客我可以在几分钟之内完成。 我花了更长的时间编辑它们。
世界再次颠覆了。
翻译自: https://www.javacodegeeks.com/2017/05/heavy-lifting-easy-bit.html