开发模式

来自linux中国网wiki
跳到导航 跳到搜索

软件开发过程

其各个阶段实现了软件的需求定义与分析、设计、实现、测试、交付和维护。软件过程是在开发与构建系统时应遵循的步骤,是软件开发的路线图。[1]

敏捷软件开发


敏捷式开发模型的特性是能够持续性的对软件本体进行不断改造以及客户对软件开发过程中的不断介入。它适用于小规模的开发团队,好让每个成员能够互相在开发进行时方便交流。 敏捷模型的优点在于其灵活性——经过一次次例行的开发迭代期(iterations)后,在每一次迭代期的开始时小组便会考虑向软件引入新的特性和改变,也就不会特别跟随原有的开发要求。 过程模型

过程模型由五个基本的框架活动组成:沟通、计划、建模、构建和部署。他们之间线性(linear)、迭代(iterative)、演进(evolutionary)和平行(parallel)关系会产生不同的模型。常见的过程模型包括:瀑布模型、V模型、原型设计、增量模型、螺旋模型等[1] 软件开发过程wiki

敏捷开发与Devops

敏捷开发的重心是开发,Devops的重心是开发和运维的协作


敏捷开发,相比迭代式开发两者都强调在较短的开发周期提交软件,但是,敏捷开发的周期可能更短,并且更加强调队伍中的高度协作。 敏捷方法有时候被误认为是无计划性和纪律性的方法,实际上更确切的说法是敏捷方法强调适应性而非预见性。


就像开头说的,敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。

在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

简单地来说,敏捷开发并不追求前期完美的设计、完美编码,而是力求在很短的周期内开发出产品的核心功能,尽早发布出可用的版本。然后在后续的生产周期内,按照新需求不断迭代升级,完善产品。


随后在每一个小的迭代周期里,团队会根据计划(Sprint Plan Meeting)确定本周期的Sprint Backlog,再细化成一个个Task,分配给团队成员,进行具体开发工作。每一天,团队成员都会进行Daily meeting,根据情况更新自己的Task状态,整个团队更新Sprint burn down chart。

see also

软件开发模式的种类有哪些?

软件开发模式对比(瀑布、迭代、螺旋、敏捷)

一分钟了解敏捷开发模式