返回

敏捷开发是什么?

2022-12-02

在以前,程序员们用写代码来交流,而现在,几乎每个公司都有专门的团队(敏捷开发团队)负责产品迭代。那么,到底什么是 敏捷开发 呢?今天就来聊一聊这个话题。
首先要先明确一点:我们现在所处的时代与以前不一样了,以前是一个“软件为王”的时代,而现在我们需要的应该是“以用户为中心”来设计产品。

敏捷开发

一、  什么是敏捷开发

“敏捷”一词是从“Scrum”翻译过来的,这两个词在本质上是相同的。
Scrum (软件开发过程)是指围绕着用户的需求来组织和设计代码,而敏捷(软件开发)则是针对这些需求来进行重构和迭代,所以两者在本质上的区别是显而易见的。
但如果我们仔细分析一下,就会发现二者之间还是有一定区别。
首先,“敏捷”所强调的是一种迭代过程(也就是需求被创造出来了之后),而 Scrum则是强调快速发布产品(即用户体验/测试);
其次,“敏捷”开发过程中所使用到的工具和开发方法都比较类似于“代码评审”。

二、 敏捷开发 的分类

按照软件开发团队的规模,可以将软件开发团队分为三类:小团队、中型团队和大团队。
按“使用”软件的功能、界面等划分,则可分为:产品型、服务型以及用户型。
按产品开发周期划分为:周、日或季度性开发(也就是每周至少完成一个产品统),而按照开发项目的数量划分又可以分为多个版本的持续版或者是敏捷开发等。
按照模式分类,敏捷开发的实现主要包括Scrum与XP和其他的方式,同样是敏捷开发,XP极限编程更侧重于实践,并力求把实践做到极限,实践可以是测试先行,也可以是结对变成,关键要看具体的应用场景。
SCRUM则是一种开发流程框架,也可以说是一种套路。SCRUM框架中包含了三个角色,三个工件,四个仪式。其目的是为了有效完成每一次迭代周期的工作。SCRUM是一个重点。
但不管是什么形式的敏捷模式,只要在进行软件项目开发时能够贯彻“以用户为中心”来设计研发出来的产品都是好产品。

三、敏捷开发 和瀑布式开发比较

瀑布式开发,顾名思义,就是按照预先设计好的顺序从下到上按顺序逐个实现。将软件项目开发周期严格划分为几个固定阶段,每个阶段结束都有对应的详细文档作为输出,直至完成整个开发流程。
而敏捷开发的核心在于“敏捷”二字,它要求我们必须根据需求不断地进行迭代。阶段性成果可以在开发过程中被客户查验,从而降低软件开发风险性。且灵活性高,需求的变更可在任何时候进行。