快速软件开发——经典错误(笔记)

来源:互联网 发布:炒股训练软件 知乎 编辑:程序博客网 时间:2024/05/22 14:00

当人们谈到获得快速软件开发的成功时,并不能列出成功的原因,因为太多了。也不要想着找到导致开发速度变慢的根源并消除他,因为也太多了。有时你做了一些措施去能够快速开发,但是即使犯了一个错误,也可能导致你前功尽弃。我们能做的,就是尽量避免所有导致项目变慢的错误,如果你避免不了,你就会陷入慢速开发,甚至导致项目失败。下面列举了36个常见的典型错误,这不是全部。

人员

  1. 挫伤积极性。激励可能比其他因素对生产效率和项目质量的影响更大。
  2. 人员素质低。
  3. 对有问题的员工失控。
  4. 英雄主义。
  5. 项目后期加入人员。
  6. 办公环境拥挤嘈杂。
  7. 开发人员与客户之间发生摩擦。
  8. 不现实的预期。这本身不会延长项目周期,但会助长认为项目开发周期太长的风气。
  9. 缺乏有效的项目支持。快速开发的许多方面都需要高层对项目的支持,包括实际的计划、变更控制以及新型开发方法的采用。缺乏有效的高层支持事实上注定了项目的失败。
  10. 缺乏各种角色的齐心协力。包括高层支持者、项目领导、项目成员、市场人员、最终用户、客户和任何项目介入者。
  11. 缺乏用户介入。这会导致项目充满需求误解,易受项目后期功能蔓延的威胁。
  12. 政治高于物质。
  13. 充满想象。一切结果要从“现实”去推论,不能凭借“我想”、“可能”、“也许”去判断。它所产生的问题会比其他问题的组合导致的问题还要多。

过程

  1. 过于乐观的计划
  2. 缺乏足够的风险管理。主动去管理风险。
  3. 承包方导致的失败
  4. 缺乏计划
  5. 在压力下放弃计划。项目失败的原因不是在放弃计划本身,而是不能指定替代措施,反而是一头栽进编码和问题处理中去。
  6. 在模糊的项目前期浪费时间。
  7. 前期活动不合要求。前期活动包括需求分析、总体设计和详细设计。如果一项工作在项目初期需要5小时完成,那么在项目后期你至少需要50小时才能完成它。
  8. 设计低略。
  9. 缺少管理控制。设置管理控制点,以便有必要的计划拖延迫近警告。
  10. 太早或过于频繁的集成
  11. 项目估算时遗漏必要的任务。
  12. 后期赶进度。如果你的项目为期6个月、花三个月的时间才完成2个月的里程碑;或者增加了一些新功能,但没有做相应的计划调整,这时你必须采取一些措施,不然你必然无法按期完成项目。
  13. 鲁莽编码

产品

  1. 需求镀金
  2. 功能蔓延
  3. 开发人员的镀金
  4. 又推又拉的交易。当管理者批准进展慢于预期进度的项目顺延并在进度更改之后加入全新任务的时候,会发生一种奇怪的商讨策略。这对进度毫无帮助,只会破坏进度。
  5. 研究导向的开发

技术

  1. 银弹综合征
  2. 过高估计了新技术或方法带来的节省量
  3. 项目中切换工具
  4. 缺乏自动的源代码控制手段

我们每个人或多或少地曾经有过类似的经历。避免或减少这些错误并非很难,但为什么总在犯?关键是认识问题,正如作者所说,你在初期用一倍的工作量可以完成的质量保证工作,如果当时没有做,到后来恐怕需要付出5~10倍的代价才能弥补。我们一定要重视那些看来是“小事”的问题,它们可能像长江大堤中的白蚁一样,小洞会毁了大事的。

0 0
原创粉丝点击