星期二, 五月 24, 2005

系统开发的十个原则

  1. 让系统用户参与
  2. 使用一套方法解决步骤
    2.1 研究并理解问题,问题的上下文和问题的影响
    2.2 定义方案必须满足的需求
    2.3 确定满足需求的侯选方案,并选择"最佳"方案
    2.4 设计和/或实现选出的方案
    2.5 观察并评估此方案的影响,相应的细化该方案
  3. 确立开发阶段和开发活动
    用一种方法论(Methodology)比如:RUP或Agile Process.
  4. 在开发过程中记录文档.
    两个目的.
    4.1 商业社会中,防止人员流动造成的效率损失
    4.2 提高关联人员之间的交流和相互接受程度
    4.3 需要在文档的价值和编写文档的工作量之间寻求平衡
  5. 建立标准.
  6. 管理项目和过程(注意:过程管理的难度远远高于项目管理)
    6.1 CMM2要求一个项目管理的技能.但CMM3/CMM4/CMM5/都是属于过程管理的优化.
    过程管理(Process Management).关心:阶段(Phase/MileStone),活动,交付件和质量标准.
    项目管理(Project Management).界定范围,规划,组织人员,组织,指导和控制一个项目的过程.
  7. 把信息系统当作重要的投资看待.需要评估项目的成本效益(Cost-effectiveness)
  8. 不必害怕取消和返工
    8.1 逐步投入(Creeping commitment).可以给项目增加几个评估和可行性的检查点.
    8.2 风险管理(Risk management).
  9. 分而治之.
  10. 设计系统时应考虑到增长和变化.

注意:我们系统科学家用来描述所有系统随着时间不可避免地出现衰退的现象.

一个信息系统的临界点是:维护的费用超出了开发一个新系统的费用.

增加系统熵的变化推动力是:需求的变化.