草庐IT

软件项目管理 3.4.增量生存期模型

软件项目管理 2023-03-28 原文

软件项目管理 3.4.增量生存期模型

【公众号 “项目管理研究所” 将会第一时间更新文章】
归档于软件项目管理初级学习路线
第三章 生存期模型
《初级学习路线合集 》


前言

大家好,这节我们学习软件项目管理---增量生存期模型,顾名思义,增量模型就是一个增量一个增量的开发过程,每一个增量是一个交付成果。

一、增量模型

增量模型向客户提交完成的可交付的成果,让用户可以立即使用,如果有些项目是为了加快交付速度,频繁交付少量的可交付成果,就可以采用增量模型。

增量模型的策略是不同时开发项目的需求,而是分增量开发。每个增量包括分析,设计,实施,测试,提交等过程。

首先构造具体的核心功能作为第一个增量,然后试用反馈修改后,进行第二次增量,然后试用反馈修改后,再进行第三次增量...直到所有的增量完成。

该模型假设需求是可以分段开发的,可以成为一系列的增量产品。
所以增量模型的优点是可以避免一次性投入太大成本所带来的风险。

二、增量模型案例

1.这个项目为了更快给用户可用的产品,这个项目分了四个增量来提交,通过不断地试用反馈修改,如同滚雪球一样,最后完成了这个项目。

另外,有一个特殊的增量模型称为渐进式阶段模型,每一个增量就是比较完整的系统,既提交的是正式的版本,包括以产品相关的其他资源。

例如某套系统为了最终完成1.0版本,先后发布了0.1版本,0.2版本,0.3版本等等...,而每一个版本都可以是正式的产品,直到最后提交了1.0版本。

我们看一下银行业务生存期案例,这个项目需求比较复杂,所以采用了增量型模型,分多个阶段提交系统,每个阶段提交的版本是正式可以运行的系统。

三、迭代模型和增量模型的区别

迭代模型和增量模型都属于并行开发的软件生命周期模型。

迭代是不能并行的,迭代的并行是指迭代任务,好比从3.1-3.31号是一个迭代计划,该迭代计划需求人员能够分析功能点5-功能点10,设计人员能够作功能点3-功能点7的设计,开发人员能够作功能点2-功能点4的开发,测试人员能够作上个迭代周期发布的代码。
迭代的并行是指工作流的并行。

你们看到迭代计划是比较复杂的,所以对项目经理的经验要求很高。

增量模型通常是指具备底层框架和平台的项目,在该稳定的框架和平台上,来开发和增长具体的业务功能。每一个增量之间相对独立,各个增量能够并行开发,好比:3.1-31号实现增量1(包含5的功能点),3.20-4.15开发增量2(包含另外的4个功能点)。增量内部是瀑布模型。

两种类型的区别在于迭代是基于IBM的RUP的以架构为核心,用例为驱动,角色职责划分不一样,在同一时刻项目内部需求、设计、编码、测试的活动都在发生。

迭代适合需求不明确、架构风险大的项目,增量适合需求比较明确,架构比较稳定,并且增量功能的实现基本不影响架构。

还有一个不一样就是迭代计划是基于角色的,增量计划是基于任务的。

两种类型的相同之处,每一个迭代和增量结束后都有产品发布。

总结

总之 增量模型的优点是:

1.阶段式提交一个可运行的产品

2.关键的功能更早出现

3.早期预警问题,避免缺陷蔓延

4.阶段性完成可以降低估计失误

到这里,增量生存期模型就讲解完毕!希望大家对生存期模型有一个新的认识~

如果您觉得这篇文章有帮助到您的的话不妨点赞支持一下哟~~?

后续将持续更新【软件项目管理初级学习路线】的全知识点,大家感兴趣的多多关注博主哟~
————————————————

有关软件项目管理 3.4.增量生存期模型的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  4. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  5. ruby-on-rails - 在混合/模块中覆盖模型的属性访问器 - 2

    我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah

  6. ruby-on-rails - 如何验证非模型(甚至非对象)字段 - 2

    我有一个表单,其中有很多字段取自数组(而不是模型或对象)。我如何验证这些字段的存在?solve_problem_pathdo|f|%>... 最佳答案 创建一个简单的类来包装请求参数并使用ActiveModel::Validations。#definedsomewhere,atthesimplest:require'ostruct'classSolvetrue#youcouldevencheckthesolutionwithavalidatorvalidatedoerrors.add(:base,"WRONG!!!")unlesss

  7. ruby-on-rails - form_for 中不在模型中的自定义字段 - 2

    我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢

  8. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  9. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  10. ruby-on-rails - 如何将验证与模型分开 - 2

    我有一些非常大的模型,我必须将它们迁移到最新版本的Rails。这些模型有相当多的验证(User有大约50个验证)。是否可以将所有这些验证移动到另一个文件中?说app/models/validations/user_validations.rb。如果可以,有人可以提供示例吗? 最佳答案 您可以为此使用关注点:#app/models/validations/user_validations.rbrequire'active_support/concern'moduleUserValidationsextendActiveSupport:

随机推荐