软件过程改进必须有数据作为支撑。
那么,这些数据哪里来? 在软件开发过程中,项目组会实时产生各种各样的数据,只要你想得到的与待改进的过程有关的数据,你一定可以收集得到。 软件开发过程中可以收集到的有用的数据包括如下几项:
源代码中包含了很多重要的需要分析的数据,这里面有代码文件、函数、类、组件等的数量、大小、位置、关联关系等信息,这些信息可以把产品和流程的各种因素联系起来。
通过收集软件运行的相关数据,可以让你知道软件的哪些功能是常用的,哪些功能是不常用的。
软件开发过程中除了代码,也需要产生一些技术文档,如需求文档、设计文档,这些文档的规模可以反映开发人员的工作量,这些文档的内容可以解释代码为什么会是现在的样子。
我们可以通过对代码进行的静态分析,获取程序的复杂度或者依赖关系的数据。
如果开发过程中使用了版本管理工具,那么我们就可以很容易获取诸多与版本相关的历史数据,诸如:每个版本的生产时间,作者,每次变更的相关数据,包括谁、什么时候、改了什么地方以及为什么修改等。
开发过程中出现的所有技术问题、管理问题,把它收集起来,对于本项目的监控以及新项目的管理都会有巨大的帮助。
软件开发过程中还可以收集到一些社会学上的数据:开发人员的小组或者团队间的任务分配、开发人员工作量数据以及质量数据等。有了这些数据,你就能知道每个人在软件开发的各个任务上耗费了多少精力,或者做了多少修改,犯了多少错误。 不管你想改进哪个过程,首先我们应当确保收集到的数据是客观地记录了各种更改、问题以及相关的信息,真实地反映了开发人员在处理这些问题时所做的各种事情。 这正是: 改进需要集数据,多种数据可收集 参考书目: 参考书目:软件之道: 软件开发争议问题剖析,作者: Andy Oram Greg Wilson,出版社: 人民邮电出版社 |
|