@何幻 的回答已经很到位了。我稍微补充一些。一些日常项目,一些公司内部项目的传承问题。
一个项目中的代码,技术,结构,数据等等对于任何新进人员都是一个黑盒。我们工作做久了就会发现,有一些团队当有量离职,后续人员交接不顺利的时候,往往是项目衰败和臃肿的开始。
起因不一定是接手的开发者水平烂,是因为项目相关的知识没有传承下去。
项目文档,项目中代码注释信息很多时候都起到了一个项目开发人员再教育的功能,让后来者能够通过自学的方式来继承项目开发需要的知识。
所以重视项目文档编写的项目组,并不担心核心开发人员离职。当一个项目存在一两个核心开发人员,同时又不重视文档编写,注释,和代码风格的标准化,那么当核心人员离职之后,后来者需要很多时间和精力去学习,研究,甚至收集一些基础信息。这部分的时间精力和正常开发工作产生严重冲突。
因为没有项目专家,没有文档
软件项目为什么越做越慢? 图1
学习项目,研究项目知识,开发新的代码,修改旧的bug,这些任务之间就会产生时间和精力冲突。
于是在某些情况下,舍弃学习项目老代码,开新轮子,加自己熟悉的架构,技术和新代码模块成了一个必然的选择。
然后项目越发臃肿,越发慢。
项目专家或者完善的项目文档,有这两者之一,项目开发速度就会足够快。
最好是有项目专家,项目专家可以很快速的让开发人员跳过学习和研究阶段,直接灌输当前任务需要的背景知识,项目知识,架构知识,代码知识,数据字典知识。这就超级棒了。
其次就是文档,当存在问题,就可以通过文档来自己学习,查看和研究。
软件项目为什么越做越慢? 图2
就这样。