当前公司最常使用哪种软件开发过程模型?

时间:2010-06-04 05:10:29

标签: processmodel

我刚刚完成了计算机科学专业的毕业 现在我了解所有软件开发过程模型,即

• Waterfall Model
• Spiral Model
• Iterative and Incremental Development
• Agile Development [I don't know much about this]

但我想知道新当前公司最常用的是什么? 除此之外是否有新的模型,这是新的,并且都不知道它?

7 个答案:

答案 0 :(得分:14)

到目前为止,我所说的最广泛使用的方法是“让它现在正常工作,以后再做好”(后来就在你不再工作或产品死亡之后)。

这是最好的方法吗?绝对不。但你要求使用最广泛的一个。

答案 1 :(得分:7)

敏捷 - SCRUM现在被广泛使用了一天。

答案 2 :(得分:7)

我说大多数公司都有牛仔编码,因为他们的管理层根本不关心开发过程......他们只是想快速完成工作。

当然,更好的公司......以及你想要工作的公司应该有一个流程。我找到了敏捷方法论和这些公司最常使用Scrum,测试驱动开发,持续集成和迭代开发等实践。

我最近接受了从一个拥有牛仔编码的大型组织开始的挑战。我正在引入敏捷方法来改变流程并提高质量。

答案 3 :(得分:2)

也许不是你想听到的,但“敏捷”不是一个过程模型,而是一组态度,例如,甚至可以用于瀑布。软件开发过程模型类似于极限编程或Crystal Clear。

问题在于,虽然创建了一个术语“敏捷”来定义一组属性(参见敏捷宣言),但社区已经重新定义了它以引用方法论。任何方法(例如Scrum或XP)都可以实现为敏捷或非敏捷。

此外,方法/过程旨在解决不同的问题。有些为软件开发人员提供了流程(例如XP强制要求配对编程和TDD),而其他提供了项目管理流程(例如Scrum和XP)。所以比较很困难,有时甚至毫无意义。

在某种程度上,所有都是瀑布,它只取决于焦点水平。

我建议阅读Alister Cockburn。不同规模的团队和不同级别的“关键性”需要不同的解决方案。查看Crystal进程集。 Alister花了将近20年的时间研究世界各地成功而不那么成功的团队。例如,他发现,在一个小团队中,实际流程与诸如频繁交付之类的属性相关性较小。

希望这有帮助。

答案 4 :(得分:1)

主要是瀑布模型。

对于过程控制解决方案,软件人员正在进入迭代过程,以开发像Agile这样的软件。

我更喜欢TDD。

答案 5 :(得分:1)

每个流程模型都不好,也不错。因为它取决于您将要开发的软件。根据我的openion增量过程模型更好。

答案 6 :(得分:0)

我担心毕业的严酷现实之一是“大多数”软件开发都发生在大型企业环境中,大多数企业IT部门仍然使用瀑布(更常见的是至少在英国称为)结构化的开发方法

简而言之就是Design>>构建>>测试>>部署>>保持

这种方法更多地是由于需要管理预算,交付,时间尺度和维护可审计性,而不是开发优秀的软件......但是,这就是我们生活的世界......