zoukankan      html  css  js  c++  java
  • 软件工程之美8讲——怎样平衡软件质量与时间成本范围的关系?

    软件工程之美8讲——怎样平衡软件质量与时间成本范围的关系?

    什么是软件项目管理金三角?

    软件项目中,也有一个类似的平衡关系,就是
    软件质量(产品的质量,客户的满意度)与
    范围(需要实现多少功能)、
    时间(多久可以完成)、
    成本(花多少钱)四个要素之间的平衡。

    瀑布模型和敏捷开发如何平衡时间成本范围的关系?

    除了可以将“金三角”的知识应用在软件项目中,还可以应用它来理解和应用软件工程中的开发模式,尤其是瀑布模型和敏捷开发这两种典型的开发模式。瀑布模型有严格的阶段划分,有需求分析、系统设计、开发和测试等阶段,通常在开发过程中不接受需求变更,也就是说,我们可以认为瀑布模型的范围是固定的,其他两条边时间和成本是变量。
    所以使用瀑布模型开发,如果中间发现不能如期完成进度,通常选择的方案就是延期(加班),或者往项目中加人。我们再来看敏捷开发,敏捷开发中,是采用固定时间周期的开发模式,例如每两周一个 Sprint,团队人数也比较少。
    所以,在敏捷开发中,时间和成本两条边是固定,就只有范围这条边是变量。这就是为什么在敏捷开发中,每个 Sprint 开始前都要开 Sprint 计划会,大家一起选择下个 Sprint 能做完的任务,甚至于在 Sprint 结束时,没能完成的任务会放到下个 Sprint 再做。这时候再想想文章开头我们提到的问题:听说迭代模型很好,你也尝试使用迭代模型,但是每次迭代时间到了还是完不成,只能把迭代时间延长,最后又做回传统的瀑布模型了。你现在是不是就明白了:如果不能固定“时间”这条边,就会导致时间也成了变量,迭代自然无法正常推进。

    如何平衡好软件质量与时间成本范围的关系?

    那么怎么样才能平衡好软件质量与时间成本范围的关系呢?前面我们说日常生活中“多、快、好、省”最多只能选两样,其实如何平衡好软件质量与时间成本范围的关系也是一样的道理,我们只能最多选择两样,然后在另一边或者另两条边去寻找平衡。所以第一件事就是:从时间、成本和范围这三条边中找出来固定的一条或者两条边,再去调整另一条边。

  • 相关阅读:
    PAT 1123 Is It a Complete AVL Tree
    PAT 1122 Hamiltonian Cycle
    PAT 1121 Damn Single
    PAT 1120 Friend Numbers
    JS数组的sort排序
    [转] jquery操作select(取值,设置选中)
    [转]2013和2014年中国互联网企业100强排行榜
    css 更换浏览器 默认图标
    [转]CSS禁止文字选择
    github 在线 创建文件夹
  • 原文地址:https://www.cnblogs.com/15248252144dzx/p/14347007.html
Copyright © 2011-2022 走看看