文档章节

软件项目可持续性运作地思考

孤岛旭日
 孤岛旭日
发布于 2014/11/05 11:03
字数 979
阅读 36
收藏 1

各类大大小小的软件项目数不胜数,而运作这些项目的团队更是参差不齐,对于很多中小团队而言人员流动是家常便饭,对此很难控制,所以如何在动荡的团队中保持项目的可持续性就成了项目负责人必须思考的命题。

我一直在小公司工作,当然也遇到过这样的问题,以下结合实际谈谈自己的看法:

先说错误的做法,很多负责人会自然而然地想到“文档”,这种说法无可厚非,文档的重要性更是不言而喻的,只是有两个问题:
1.文档维护代价很大,对于中小型团队来说按时交付是排它性的第一要素,很少团队有文档工程师,文档的撰写及更新都由设计、开发人员自行维护,而需求的变更、尤其是细节的变更会很频繁(请别相信前期充分的需求调研、优秀的架构可以保证整个生命周期内需求不变更,这是很天真的),相关人员很少有精力去确保文档与实现100%对应;
2.文档说明不了一切,开发人员接手未曾了解过的模块他需要知道三点:模块的需求、目标,模块的架构设计、模块的代码实现,只有充分了解以上三点才能做开发或维护,而文档无法清晰地阐述这些,因为文档是死的;
基于以上原因,我觉得文档只能部分解决持续性运作。

我认为解决的方案是多种手段地组合

1. 三个会议,分别对应三个要点,要求团队所有成员参与:
 需求分析会议,项目负责人把当前版本要完成的功能需求一一告知各个成员,这点与Scrum中的Sprint计划会议有部分类似,目的是为使所有成员都了解需求;
 高层设计评审会议,模块负责人在完成设计后向全体成员阐述设计思想,一方面是项目负责人可以评审设计是否合理,另一方面所有成员也知晓了模块地设计;
 回顾会议:模块负责人在交付代码后向全体成员说明编码概要及重点,让所有成员都对其代码所有了解;
只要不是项目成员整体离职,那么这三个会议几乎就可以解决可持续性问题,另外它对代码质量管控、成员表达能力、设计编码能力都可以做到有效地考评;
2. 文档,文档自然还是要的,并且也是很重要的,当然一定要注意同步;
3. 编码风格,统一编码风格,尽量使用大家都看得懂的结构及算法,不要刻意标新立异;
4. 注释,对接口代码及重要逻辑片段加上注释,同时要保证注释与代码的同步,对注释同步的代价远低于文档地同步;

我之所以这么认为并非是我藐视文档,相反地对于文档我相当重视,只是我们不是微软,实在是没有这么多的财力、精力可以花费在文档上,在中小团队中总是要有所取舍。另外再重申一点:文档是死的,人是活的。

补充敏捷宣言:
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
也就是说,尽管右项有其价值,我们更重视左项的价值。

© 著作权归作者所有

共有 人打赏支持
孤岛旭日
粉丝 42
博文 58
码字总数 30599
作品 3
杭州
架构师
ITIL系列之IT服务持续性管理

在当今服务导向和客户中心的的业务环境下,维持IT服务的持续运作对于实现组织目标具有至关重大的意义。尤其是在发生灾难的情况下,灾难(Diaster)指严重影响系统运行甚至导致系统停止运行的...

技术小阿哥
2017/11/27
0
0
OSC 全面永久开放 git 公有库和私有库

git@osc (http://git.oschina.net) 上线已经有一段时间了,经过这段时间的运营和观察,我们决定不再对公有库或者私有库的数量进行限制。现在每个账户可以创建的代码库的总数为1000个(相当于...

oschina
2013/06/28
36K
608
ITIL基础概述与实战案例分析(上)

这篇文章将结合实例给大家介绍ITIL Foundation的管理方法和具体应用。目前ITIL Foundation主要有两个版本,分别是Vesion 2与Vesion 3,个人认为二者并不是取代关系,而是不同企业发展不同阶段...

文艺小青年
2017/11/09
0
0
ITIL系统之IT能力管理

能力管理主要关注组织业务和IT基础架构之间的关系,它不仅要评价和改进现有服务能力,而且还应分析和预测组织未来的业务需求,从而据以确定未来应当配置的服务能力的级别。因此,能力管理流程...

技术小阿哥
2017/11/27
0
0
大咖带你了解技术团队效能动力模型

摘要: 如何避免自己成为整个团队的瓶颈?如何让集体成为真正的团队?我们需要怎样的工程师?团队效能的未来在哪里?阿里云效邀请了阿里巴巴高级技术专家李云(花名至简),亲情讲解团队效能...

猫耳m
06/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[Hive]JsonSerde使用指南

注意: 重要的是每行必须是一个完整的JSON,一个JSON不能跨越多行,也就是说,serde不会对多行的Json有效。 因为这是由Hadoop处理文件的工作方式决定,文件必须是可拆分的,例如,Hadoop将在...

Mr_yul
14分钟前
0
0
54:mysql修改密码|连接mysql|mysql常用命令

1、mysql修改密码: root用户时mysql的超级管理员,默认mysql的密码是空的,直接可以连接上去的,不过这样不安全; 注释:为了方便的使用mysql,需要把mysql加入到环境变量里; #后续自己输入mys...

芬野de博客
21分钟前
0
0
鼠标单击复制粘贴标签中的内容

<span ref="spanContentOne" id="spanContentOne" style="font-size: 14px;">或许不是最亮眼,总比瞎买强一点</span><!--<input type="button" @click="copyClick('1')" value="复制" />-......

帝子兮
26分钟前
0
0
使用axel多线程疯狂下载

在Linux中比较常见见的下载工具是curl和wget,但是下载比较大的文件两者都不支持多线程, 断点续传的作用不见得能发挥到最大。今天介绍一个axel工具,开启多线程疯狂下载。 安装 Fedora/Cen...

linuxprobe16
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部