目前的问题包括:
1. 更新不及时;
2. 可读性差;
3. 面对不同使用者,不同类型文档的重复性大;
4. 更新工作不能与开发工作进行良好互动。
5. 文档太多造成了用户使用文档上的混乱
以致延伸的问题:
1. 提倡极限编程 - 抛弃文档的一种团队开发方式;
a) 问题是:开发团队需要进行一定的培训,而且需要客户配合,不是所有开发团队都有条件、有能力实行。
2. CMMS开发管理模式 – 硬性规范编写文档的和使用文档的各个方面的标准。
a) 问题是;管理成本很高,导致开发成本高昂
b) 需要项目经理强力管理和推行,否则会出现浪费人力而又没有收获的情况
3. 统筹编制基本要求文档,然后实行单点(功能点)、单人开发;
a) 问题是:对程序内部结构控制不严,容易出现协同与质量问题
我的理解:
1. 项目团队开发需要必要的文档,这是毫无疑问的,而且有效的文档越丰富,对项目开发和团队沟通越有效;
2. 团队使用文档、编制文档是有成本的,文档越多成文越高,而且增加速度高于文档数量的线形提升。
3. 项目团队如果没有必要的文档,也是有成本的,而且项目大小、项目开发时间与文档数量应该成正比,如果缺乏必要的文档,其沟通成本远远要大于补充完成这些文档所需要的成本。
4. 观点:项目开发不能没有开发文档,同时要降低开发文档的使用和管理成本。
实现良好的文档管理的核心要点
1. 减少、取消不必要的开发文档的编制和使用;
2. 提高开发文档在团队中的使用效率;
具体做法:
1.把开发文档的粒度减少,就是把原来一篇开发文档,按照模块或其他要求进行分解,成为多个文档。
a) 比如说,一个客户资料管理模块一般在整个ERP系统中是其中一块,我们就可以把这个模块单独成为一篇文档,整个ERP系统的完整文档,就是由这些一个个模块整合起来。
b) 而就是对于这个“客户资料管理模块”,我们也可以继续分解为:
i. 功能描述部分;
ii. 数据库设计部分
iii. 内部对象设计部分
iv. 界面描述部分
v. 等等。。。
2.确定开发文档对应的使用者,编制有针对性的文档内容,同时这些文章,从分解后的开发文档中获取。
a) 比如说上面例子:面向客户的,只需要提供功能描述和界面描述部分;
b) 面向开发人员,就要包括所有内容;
c) 面向数据库开发人员的,只需要数据库设计,内部对象设计,功能要求等部分。
3.那么剩下来的就是如何对这些松散的文档进行有效管理的问题。对于这个问题,其实可以通过编写简单的文档管理程序进行管理。
这样做到的话,我们在每个阶段都有针对性地文档来指导开发人员的工作,同时,开发人员又不会被过多文档淹没。而且,还可以通过一些管理策略,让开发人员可以根据开发情况修改部分文档。
4.然后要关注的一个问题就是这些文档的版本管理,对于这个问题,可以采用现行版本管理工具来管理或者采用开发行政指引的方式来解决。
通过以上做法,可以缓和开发团队与开发文档的对立关系,让开发文档真正为团队工作服务;同时也切实降低了管理成本和开发风险。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/