天天看点

代码大全学习-30-构建管理(Managing Construction)

构建的管理基本可以分为代码的管理、配置的管理、进度的管理、质量的管理和人的管理。下面分别说。

代码管理

代码管理的核心就是鼓励写出好的代码,不管用什么样的方式。可以制定代码标准,用版本控制的工具,可以用各种技巧比如结对编程,审阅,张贴好的代码示例等等。

配置管理

配置的管理就是对变化的管理。各种各样的变化,需求的,设计的,代码的等等,怎么让它们的影响最小,保证项目可持续完工。方法很多,详细的可参考下面的checklist。只强调两点:一是要分批分阶段处理更改请求,这样可以控制选择最可实现的去实现;二是要做好备份,电脑,硬盘都是有可能坏的,不怕一万,只怕万一。

Checklist: Configuration Management

General

  • Is your software-configuration-management plan designed to help programmers and minimize overhead?
  • Does your SCM approach avoid overcontrolling the project?
  • Do you group change requests, either through informal means such as a list of pending changes or through a more systematic approach such as a change-control board?
  • Do you systematically estimate the effect of each proposed change?
  • Do you view major changes as a warning that requirements development isn't yet complete?

Tools

  • Do you use version-control software to facilitate configuration management?
  • Do you use version-control software to reduce coordination problems of working in teams?

Backup

  • Do you back up all project materials periodically? 
  • Are project backups transferred to off-site storage periodically? 
  • Are all materials backed up, including source code, documents, graphics, and important notes? 
  • Have you tested the backup-recovery procedure?

进度管理

进度的管理关键在于如何准确的估算时间。影响时间的因素很多,可以借助于工具或者专家,也可以靠自己的经验。一般来说,估算的越细节,准确率越高;越接近于完成,估计的准确率越高。所以可以周期性的重估来提高最终的估算准确率。软件项目十有八九都会滞后,那么发现已经滞后了怎么办呢?基本上指望后面赶上是不太可能的,绝大多数情况是后面滞后越来越多。增加人手基本也不太好用,除非那个人很熟悉这个项目或者这个项目的一部分可以单独分出来。比较可行的一个解法是看看是不是有些特性是可以不要的,有些是要求不那么高的,减少一下工作量。

质量管理

质量的管理最关键是要能测量。什么东西好不好都要有个标准,能测量才能比较,有比较才有提高。所以,定可测量的标准,然后测量,分析结果,想办法改进。

人的管理

人的管理关键就是尊重,把人当人。程序员是人,老板也是人。人都有七情六欲,各种各样的需求,要提高效率这些都是要考虑的因素。作者在书中提到一组数据表明客观物理环境对效率有很大的影响,把环境从最差的25%提高到最好的25%可以使效率翻番。这里环境是指像私人工作面积的大小,工作场所是不是安静,干扰多不多等等。

继续阅读