首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择开发生命周期模型?

如何选择开发生命周期模型?
EN

Software Engineering用户
提问于 2012-01-10 13:11:03
回答 5查看 1.9K关注 0票数 3

基于这个关于敏捷哲学的替代方案的问题及其回答和评论,我认为讨论在项目开始时使用什么“方法”的决定可能是有用的。

似乎大家的共识是,如果您正在构建的东西需要精确的规范,那么瀑布就是超越敏捷的道路。这似乎为敏捷开发留下了巨大的空间。除了“商店是如何开发软件”之外,在早期规划阶段是否还有一些问题或“指标”可以更好地表明什么对客户/项目最有效?

和语言一样,这个想法是工作的最佳工具,所以作为专业的开发人员,你要做些什么来确保在即将开始的项目中使用正确的开发方法?

它真的像“如果它是一个桥梁或核武器反应堆类型的项目使用瀑布,否则使用敏捷?

我是一个自学成才的程序员,在公司工作,给予我很大的灵活性,他们对我有很大的信任,所以这类问题对我很重要。我想确保我是以最有效的成本/时间方式来处理我的工作/项目。

EN

回答 5

Software Engineering用户

回答已采纳

发布于 2012-01-10 13:24:23

首先,它不是瀑布或敏捷的选择,而是计划驱动的和敏捷的选择。有许多计划驱动的方法可供选择。另一个突出的计划驱动方法是Boehm螺旋模型。这是迭代开发,但不一定是增量的。我问了一个关于其他计划驱动方法的问题。,另一个被指示的是双子座SDM

当您在计划驱动的方法和敏捷的方法之间作出决定时,有许多因素需要考虑。在快速发展:驯服野性软件计划中,Steve McConnell有一个专门讨论选择生命周期模型的部分。他研究了许多生命周期模型--纯瀑布、代码和修复、螺旋、修改过的瀑布、进化原型、分阶段交付、进化交付、按计划设计、设计到工具以及COTS软件。我们将深入讨论每一个问题,并评估其处理理解不足的需求、建立可靠系统、管理风险、适应有限的时间表或预算、向客户和/或管理人员提供可见性以及团队的复杂程度的能力。

因此,是的,其中一个考虑是正在交付的项目类型。但是有许多因素和许多生命周期模型可以从中选择。

票数 2
EN

Software Engineering用户

发布于 2012-01-10 13:28:28

它真的像“如果它是一个桥梁或核武器反应堆类型的项目使用瀑布,否则使用敏捷?

是。

其实就是这么简单。

敏捷的意义在于使过程适应正在解决的问题。

瀑布的要点是建筑行业与软件设计和开发之间的类比(部分是错误的)。构建(首先设计一切,然后构建一切)并不适用于软件,因为软件几乎完全是一个设计练习。在软件开发中,很少有能与传统的构建或制造相媲美的。

票数 1
EN

Software Engineering用户

发布于 2012-01-10 13:20:09

这与由两个学派主导的发展方法没有多大关系。这就像问“僵硬、坚韧和僵硬”之间是否有区别。“宽松、灵活、不断变化”。它们是黑白相间的,有着千变万化的灰色。

此外,在敏捷中有许多不同的模板可从资料来源:维基百科中选择:

  • 敏捷建模
  • 敏捷统一过程(AUP)
  • 动态系统开发方法(DSDM)
  • 基本统一过程(EssUP)
  • Exia工艺(ExP)
  • 极限编程(XP)
  • 特征驱动开发(FDD)
  • 开放统一进程(OpenUP)
  • Scrum
  • 水晶清澈
  • 速度跟踪

注意,我提到了模板,因为在现实中,每个组织都有独特的需求,必须针对这些需求进行调整,而其中一个模板可以提供一个很好的起点。如果这还不足以让管理层选择一种基于现实的、理智和现实的软件开发方法,那么他们只是在犹豫,只是口头上支持这一想法,他们甚至会说,他们不太关心编写符合客户需求的高质量软件,而只是想保持对流程和人员的坚定和全面控制的错觉。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/129342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档