当前位置: 主页 > 建站知识 > 软件开发

软件开发方法-螺旋敏捷瀑布Scrum极限编程快速应用程序开发方法学的主要原则

发布时间:2023-06-21 11:11   浏览次数:次   作者:佚名

eclipse 插件开发方法与实战_eclipse插件开发方法与实战_软件开发方法

每个企业都应根据自己的优先事项和发展项目决定组织公司内部的工作流程。我的目标是告诉您现有的方法类型以及您可以获得的结果。我收集了不同案例和不同公司使用的最着名的软件开发方法。他们都有自己的优点和缺点。但看板没有列入这个名单,因为我已经写了很多有关它之前。

以下是前6种方法的列表:

敏捷

瀑布

Scrum

极限编程

快速应用程序开发方法

螺旋

敏捷

敏捷软件开发是承担软件工程项目的概念框架。有许多像Scrum这样的敏捷软件开发方法论(我们将在本文中更多地介绍它),Crystal方法和动态系统开发模型。

敏捷方法的主要目标是通过在短时间内开发软件来降低风险,称为迭代,通常会持续一到四周。每个时间盒就像一个迷你软件项目,包括发布新增功能的所有必要任务:

迭代可能不会增加足够的功能来保证发布产品,但是敏捷软件项目打算在每次迭代结束时发布新软件。在此迭代之后,团队重新评估项目优先级。敏捷方法强调工作产品是进度的主要衡量标准。相对于其他方法,敏捷产生很少的书面文档 - “实时”是更好的通信类型。大部分开发团队成员(以及企业主)都位于附近,可以面对面沟通。

敏捷软件开发方法学的主要原则:面对面会议,持续合作,早期和持续交付工作软件,透明度。每当客户端或内部发生意外或频繁的变化时,该模型就成为经理和团队领导者的最佳选择。

优点

缺点

瀑布

瀑布模型是一种循序渐进的开发方法,其中开发被视为通过几个阶段稳步向下(如瀑布),通常:

该方法的线性和刚性特性使其易于理解和管理。所以对于经验不足的经理和团队来说,这是理想之选 在这种方法中,完成了不同的目标。在进入下一个阶段之前,每个阶段必须完成100%,不要回头修改项目或方向。从理论上讲,这个过程导致项目按时交付,因为每个阶段都有详细的计划。它可以用于目标明确,需求稳定的项目。

但在实践中,瀑布式开发通常不能达到预期,因为它不包含大多数项目所必需的不可避免的变化和修订。当一个应用程序正处于测试阶段时,很难回头去改变在概念阶段没有想到的东西。

重点是一次性规划,时间安排,目标日期,预算和整个系统的实施。在开始下一阶段之前,通过大量书面文件,正式评审以及用户的批准/签收和大多数阶段结束时发生的信息技术管理,在项目的整个生命周期内保持严密的控制。书面文件是每个阶段的明确可交付成果。

尽管缺乏灵活性和过时的想法,但这种方法旨在摆脱不必要的文书工作,耗时的定期会议和积压。因此,对于预先了解开发的所有方面的小型项目而言,这是一个很好的选择软件开发方法,对于复杂项目来说这是一个不好的解决方案,因为它非常不灵活。

在您有明确要求和解决方案的情况下,您不需要定义流程来开发最终产品。您只需在完成项目时设定截止日期软件开发方法,并以您自己的方式完成项目。

优点

缺点

Scrum

Scrum是一个用于管理产品开发的迭代式和增量式敏捷软件开发框架。它定义了一个灵活的整体产品开发策略,开发团队作为一个单元实现共同目标。这种方法使团队能够通过鼓励所有团队成员的实际共同定位或紧密的在线协作以及所有团队成员和所涉及的学科之间的日常面对面交流来自我组织。

Scrum的一个关键原则是双重认识,即客户会改变他们想要或需要的东西(需求波动)并且会改变他们的想法。Scrum采用基于证据的经验方法 - 接受事先不能充分理解或定义的问题,而是集中关注如何最大限度地提高团队的快速交付能力,响应新兴需求,并适应不断发展的技术和变化在市场条件下。

Scrum的主要特点:

Scrum由Scrum master提供,它的主要工作是消除阻碍团队实现冲刺目标的能力。Scrum的主人并不是团队的领导者(因为他们是自组织的),而是团队与任何不稳定影响之间的生产力缓冲区。

该方法鼓励所有团队成员以及项目涉及的所有学科进行口头交流。

与看板不同,Scrum更具时间框架和计划性。整个项目被分成称为Sprints的时间框,并且所有团队坐在一起并为每个Sprint计划需要完成的任务列表或用户故事列表。一旦团队同意并承诺在给定的时间框架内完成某些任务,开发团队应该坚持承诺并完成Sprint中的所有任务。

如果延迟成本很高,最后期限应尽可能延迟,Scrum最适合。当最终产品不清楚或者需求没有得到客户的正确反馈时,经常会使用Scrum。在这里,客户参与整个过程,确定并关注需要完成的某些sprint产品待办事项(与团队一起)。Scrum取代了灵活的方法论,适合长期发展,并且频繁更改需求。换句话说,它适用于需要300多个小时的开发项目。

与瀑布不同的是,Scrum模型采用更灵活的规则,可以适应最后时刻的变化。团队合作,检查和透明度是Scrum方法的关键因素。

结构:

这种增长方法用于快速开发软件,其中包括一系列迭代以生成所需软件。它使有意推进的项目步入正轨。

优点

缺点

极限编程

极限编程方法(XP)指的是敏捷软件工程方法论。它是为了避免开发目前不需要的功能而创建的。它旨在创造一流的最终产品,而不考虑需求的频繁变化。这种方法的另一个目的是降低软件必需品的成本。为了实现这一点,应用持续测试和计划。

与其他方法相比,XP需要更多时间和人力资源。至于XP主要用于在非常不平衡的环境中制作软件,并在建模过程中提供更好的易用性,这对于复杂的项目来说是完美的。如果您的客户有最后期限来交付产品,但没有清楚地了解其工作方式,并且风险更高,那么这是最佳选择。XP技术的设立是为了解决和缓解风险并提高成功的可能性。

与瀑布方法不同的是,系统的需求被确定并且通常被“冻结”,XP意味着在项目后期阶段改变需求的成本可能非常高。

极限编程核心实践: