项目开发中开发文档出现的问题及其对策

2023-11-18

在常规项目开发管理中,很多项目专家都提出要用各种各样规范的文档对开发工作进行管理。但是在日常工作中,由于这些文档的编写的管理工作都是相当繁重的,以致让一线员工不能主动积极使用、更新这些文档,长期下来,这些管理型的、设计型的文档所发挥的作用就大大降低,同时由于更新的不准时性,使得这些文档在后期维护过程中的作用大大降低。
 
目前的问题包括:
  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.然后要关注的一个问题就是这些文档的版本管理,对于这个问题,可以采用现行版本管理工具来管理或者采用开发行政指引的方式来解决。
 
  通过以上做法,可以缓和开发团队与开发文档的对立关系,让开发文档真正为团队工作服务;同时也切实降低了管理成本和开发风险

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

项目开发中开发文档出现的问题及其对策 的相关文章

  • 2021-03-31

    智能风控中的全场景化的模型组合包括哪些内容 近期某些网贷的广告 频上热搜 近有某东 远有某60 相信在大家的WX朋友圈更有大量 精彩 广告诱惑各位提前消费 于目前的政策而言 当下网贷行业的监管已达到最顶峰 网贷再也回不到巅峰时刻 但与此同时

随机推荐

  • 传统的项目经理可以担当Scrum Master吗

    原文链接作者 Amir Nasiri 一个习惯了传统项目管理方法的项目经理 可以在敏捷组织里担当ScrumMaster吗 这是一个很有意思的问题 也是所有项目经理在有朝一日面对敏捷方法 比如Scrum 的时候需要思考的问题 敏捷在落地实施时
  • QGis 二次开发教程(目录)

    目录 QGis 二次开发搭建 windows QGis QgsVectorLayer 图层加载 shp file矢量图层 QGis QgsVectorLayer 图层数据解析 获取经纬度集合和其他字段标量 QGis QgsVectorLay
  • Keras+CNN模型识别手写数字(mnist)详细分析

    CNN模型 CNN卷积神经网络 包含卷积层 卷积运算提取输入的不同特征 更多层的网络能从低级特征中迭代提取等复杂的特征 线性整流层 RELU 池化层 卷积后会得到维度很大的特征 将特征切成几个区域 取最大值或平均值 得到新的较小维度特征 全
  • tcp和udp,通信协议

    1 什么是tcp和udp 常用的网络通讯 浏览网页 软件聊天等等 都是基于tcp和udp传输的 2 tcp和udp的区别是什么 1 最大的区别是一个基于连接 一个基于非连接 举例说明 如果把人与人之间的通信比喻为进程之间的通信 写信和电话
  • 通俗易懂讲解区块链

    文章目录 一 区块链是什么 区块链的几个核心特点 1 去中心化 2 非常安全 3 不可篡改性 4 开放性 5 无第三方 6 匿名性 二 区块链与比特币的关系 三 通俗易懂解释区块链 1 民生领域 2 经济产业领域 3 政务领域 4 数字身份
  • B站马士兵python入门基础版详细笔记(6)

    前言 这篇文章是B站学习python入门基础班的视频的第五 六章内容 主要讲述的是列表 主要包括列表的创建 以及他的元素的增 删 查 改操作命令 一 列表的初始化 为什么要使用列表 列表就好比C语言中的数组 它可以在这个数组里面保存各种类型
  • 达梦数据库创建数据库实例、规划表空间

    1 创建数据库实例 1 1图形方式创建 到数据库安装目录 dm7 的 tool目录下 打开达梦数据库配置助手 dmdba localhost tool dbca sh 打开达梦数据库配置助手 选择创建数据库实例 点击 开始 如下图 创建数据
  • unity shader入门(一) 基本结构和变量声明

    文章目录 前言 Unity中shader相关的结构 什么是openGL和DirectX unity shader的分类 编写一个unity shader shader的基本结构 shader的property类型 在subshader中再次
  • Matlab 高斯信道下QPSK通带通信系统的简单仿真

    1 原理 2 仿真 3 总结反思 4 参考资料 1 原理 QPSK的具体内容请参考百度 QPSK的调制jie框图大致如下 QPSK信号可以采用正交调制的方式产生 如第一张图片的左半部分 I路信号与cos 信号相乘 Q 路信号与sin信号相乘
  • 【知识分享】机器学习的基本流程

    个人理解的机器学习简单流程如下 0 收集数据 1 对数据集进行预处理 2 划分数据集 训练集 测试集 验证集 3 训练 4 验证模型 对每个步骤详细解释 0 收集数据 可以使用之前学过使用爬虫对特定网页内容爬取 或在数据网页等信息网站上直接
  • [error] MFC错误不能将参数1从"const char [3]"转换为"const wchar_t *"

    在做项目中经常遇到很多错误 这里我仅仅把自己遇到的一些错误和解决方法写出 供自己和大家查看 代码如下 CRect rect GetClientRect rect CString str str Format ld rect bottom M
  • OpenCV Error: Assertion failed (type == B.type() && (type == CV_32FC1

    最近切换到64位系统上 运行以前的程序真是各种bug不停啊 主要还是系统位数导致的 先看下面这个错误 OpenCV Error Assertion failed type B type type CV 32FC1 type CV 64FC1
  • 解决ChatGML启动报错:RuntimeError: expected scalar type Half but found Float

    1 编辑web demo2 py文件 2 在原始命令加上 half 原始命令 model AutoModel from pretrained app model chatglm2 6b trust remote code True half
  • 如何优雅地实现 Excel 文件导出功能?(阿里出品的 EasyExcel,安利一波)

    EasyExcel 前言 导出是后台管理系统的常用功能 当数据量特别大的时候会内存溢出和卡顿页面 曾经自己封装过一个导出 POI百万级大数据量EXCEL导出 采用了分批查询数据来避免内存溢出和使用SXSSFWorkbook方式缓存数据到文件
  • 区块链技术详解

    区块链概述 区块链定义 区块链 是一个共享的 不可篡改的账本 旨在促进业务网络中的交易记录和资产跟踪流程 资产 可以是有形的 如房屋 汽车 现金 土地 也可以是无形的 如知识产权 专利 版权 品牌 几乎任何有价值的东西都可以在区块链网络上跟
  • 关于ROM,RAM,FLASH的个人理解

    RAM和ROM是指的存储介质 不是存储器 在硬件构造上不同 所以性质不同 但都是半导体存储介质 RAM是随机存取存储器 随机是什么意思呢 意思是 给定一个地址 可以立即访问到数据 访问时间和位置无关 RAM特点是掉电会丢失数据 但是RAM的
  • docker -toolbox host is not running 最简单解决方案

    很多小伙伴下载toolbox后 用gitbash运行docker machine start 可能会出现 docker host is not running的错误信息 其实我觉得就是无法启用虚拟机服务 打开虚拟机可以看到其实创建的虚拟机是
  • 小米手机安装linux视频教程,屏幕失灵的小米5手机安装linuxdeploy centos7记录

    几年前使用的小米5手机不知道什么时候屏幕失灵了 触摸任何地方都没有反应 幸好下面三个实体按键还是好的 就拿来安装一下linux系统 我到华强北去问了一下 修好屏幕至少需要100多块 这个手机卖旧手机也就是100块 懒得换屏幕盖板了 刚好前段
  • java sqlexception_java.sql.SQLException

    java sql SQLException ResultSet is closed是什么错误 java sql SQLException ResultSetisclosed是什么错误 java sql SQLException Result
  • 项目开发中开发文档出现的问题及其对策

    在常规项目开发管理中 很多项目专家都提出要用各种各样规范的文档对开发工作进行管理 但是在日常工作中 由于这些文档的编写的管理工作都是相当繁重的 以致让一线员工不能主动积极使用 更新这些文档 长期下来 这些管理型的 设计型的文档所发挥的作用就