随笔-34  评论-108  文章-0  trackbacks-0
(1)准备工作的中心目标就是降低风险:一个好的项目规划者能够尽可能早的将可能的风险清除掉,以使项目的大部分能够平稳的进行。目前软件项目中最大的风险来自糟糕的需求分析和糟糕的项目计划,因此准备工作就倾向于集中改进需求分析和项目计划。
(2)作为技术人员,我们的一部分工作就是培训周围的非技术人员,讲解开发过程。
      观点:在开始编码、测试、调试之前进行需求分析和架构设计——才能保证关键方面都做的正确。
       “老板就绪”测试:如果觉得你的老板已经明白了“在开始构建之前进行前期准备”的重要性,那么可以进行以下测试:a、我们最好立刻开始编码,因为将会有很多的调试工作需要做。b、我们并没有为测试安排太多的时间,因为将来不会发现多少缺陷。c、我们已经非常详细的研究了需求和设计,我想不出在编码和调试期间还会遇到什么问题。
(3)绝大多数项目都不可能完全使用迭代式开发法或者完全使用序列式开发法,预先详细说明100%的需求和设计是不切实际的,不过对绝大多数项目来说,“尽早把哪些是最关键的需求要素和架构要素确定下来”是很有价值的。
   一条很有用的经验规则:计划好预先对80%的需求做出详细说明,并给“稍后再进行详细说明的额外需求”分配一定的时间。然后在项目进行过程中,实施系统化的变更控制措施,只接受那些最有价值的新需求。另一种替代方案是只对最重要的20%的需求做出详细说明,并且计划以小幅增量开发软件的剩余部分,随着项目的进行,对额外的需求和设计做楚详细说明。
(4)如何在序列开发法和迭代开发之间做出选择:
       选择序列开发法:需求相当稳定;设计直接了当,而且理解透彻;开发团队对于这一领域非常熟悉;项目的风险很小;“长期可预测性”很重要;后期改变需求、设计和编码的代价可能很昂贵。
      选择迭代开发法:需求并没有被理解透彻,或者出于其他原因你认识是不稳定的;设计很复杂,或者有挑战性,或者两者兼具;开发团队对于这一领域不熟悉;项目包含很多风险;“长期可预测性”不重要;或其改变需求、设计和编码的代码不是很高。
         这里我有个问题:什么是“长期可预测性”?

posted on 2007-09-18 08:44 探丫头 阅读(1012) 评论(2)  编辑 收藏 引用 所属分类: 《代码大全》读书笔记

评论:
# re: 第3章 三思而后行:前期准备(1) 2007-09-18 10:19 | Minidx全文检索
可预测性,首要的条件是产品和过程已建立了定量的质量目标。开发活动中的生产率和质量是可量度的。已建立过程数据库。已实现项目产品和过程的控制。可预测过程和产品质量趋势.
所谓的长期可预测性,需要在上面的基础上,预测偏差,实现及时纠正。  回复  更多评论
  
# re: 第3章 三思而后行:前期准备(1) 2007-09-18 10:26 | 探丫头
@Minidx全文检索
真是太谢谢了,多向你学习  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理