软件就像园艺
最近我一直在读《程序员修炼之道》(第二遍😁),我发现一个类比给我留下了深刻的印象,它彻底改变了我对软件开发的思考。
在第 6 章“当你编码时”(第 184 页)中,作者说:
不幸的是,软件开发最常见的比喻是建筑施工。[...] 与其说是建筑,不如说是软件,它更像是园艺——它更像有机物而不是混凝土。[...] 您需要不断监测花园的健康状况,并根据需要进行调整(对土壤、植物、布局)。
这让我意识到我一直生活在矛盾之中,也意识到了必须接受软件开发及其真正生命周期的现实。很多时候,软件并非只是编写完成就完事了。它会随着需求的出现而不断演进。你六个月前写的代码可能会被重写,这很正常。依赖项更新,你的软件也会随之改变。等等。
作为一名软件开发者,这或许并不新鲜,但很多与开发者共事的非技术人员可能并不理解这一点,并认为这就像建筑施工一样(就像我以前那样)。以下是你需要向他们推销的内容:
软件不是静态的,软件是有生命的。
谢谢阅读。