首页 > 其他分享 >敏捷开发 - 敏捷软件开发理论及流程

敏捷开发 - 敏捷软件开发理论及流程

时间:2023-09-05 21:25:11浏览次数:37  
标签:迭代 软件开发 流程 Scrum 开发 敏捷

什么是敏捷软件开发

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

敏捷开发和传统开发(比如瀑布模型)有何区别

敏捷开发的核心是迭代开发(iterative development)。敏捷一定是采用迭代开发的方式。对于大型软件项目,传统的开发方式是采用一个大周期(比如一年)进行开发,整个过程就是一次"大开发";迭代开发的方式则不一样,它将开发过程拆分成多个小周期,即一次"大开发"变成多次"小开发",每次小开发都是同样的流程,所以看上去就好像重复在做同样的步骤。

敏捷开发的好处

早期交付敏捷开发的第一个好处,就是早期交付,从而大大降低成本。降低风险敏捷开发的第二个好处是,及时了解市场需求,降低产品不适用的风险。由于敏捷开发可以不断试错,找出对业务最重要的功能,然后通过迭代,调整软件方向。相比传统方式,大大增加了产品成功的可能性。如果市场需求不确定,或者你对该领域不熟悉,那么敏捷开发几乎是唯一可行的应对方式。

敏捷软件开发的流程

图片来源于网络,这张图相对全面的体现了敏捷软件开发的流程

敏捷软件开发的原则

Robert大叔的《敏捷软件开发》大体上给出了12个原则

  1. 我们最优先要做的是通过尽早地、持续地交付有价值的软件来使客户满意。交付得越频繁,最终产品的质量越高。
  2. 我们欢迎需求的变化,即使到了开发后期,敏捷过程依然能够驾驭变化,为客户创造竞争优势。
  3. 经常交付可以工作的软件,从几个星期到几个月,时间间隔越短越好。
  4. 在整个项目开发期间,业务人员和开发人员必须朝夕相处在一起。
  5. 围绕斗志高昂的人构建项目。
  6. 在团队内部,最有效率也最有效果的信息传达方式,就是面对面的交谈。
  7. 可以工作的软件是进度主要的度量标准。
  8. 敏捷过程提倡可持续开发。出资人、开发者和用户应该总是保持文档的开发速度。
  9. 对卓越技术和良好设计的不断追求有助于提高敏捷性。
  10. 简单-尽可能减少工作量的艺术是至关重要的。
  11. 最好的架构、需求和设计都源自自我组织的团队。
  12. 每隔一段时间,团队都要总结如何更有效率,然后相应地调整自己的行为。

敏捷软件开发常见方式

通过如下报告(大概是16年左右),大致上可以看到敏捷在整个开发方式的趋势,敏捷中Scrum独占鳌头

常见的敏捷开发方式如下:

敏捷开发 - 面向工程管理:极限编程(XP)
极限编程(ExtremeProgramming,简称XP)是由KentBeck在1996年提出的,是一种软件工程方法学,是敏捷软件开发中可能是最富有成效的几种方法学之一。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。极限编程透过引入基本价值、原则、实践方法等概念来达到降低变更成本的目的。

敏捷开发 - 面向过程管理:Scrum方式

Scrum是迭代式增量软件开发过程,是敏捷方法论中的重要框架之一,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum Master角色负责维护过程和任务,Product Owner代表利益所有者,Developer Team包括了所有开发人员。

典型的中小团队开发流程详解

一直想总结一个比较完善的开发流程,但是各个公司的规模,文化和开发方式有很大的差异;后期会加入其它公司的研发流程。

项目研发流程规范

  1. 比较适合大一点的公司和团队,需求,UI,测试,产品经理和开发独立;
  2. 采用前后端分离, 前端采用前端开发框架提供页面,后端提供数据接口等;
  3. 有完善的CI&CD环境;完善的代码分支,权限控制和分配;
  4. Scrum敏捷开发,每个Sprint为2-4周,周期根据User Story量进行调整;
  5. 这个研发流程中最好再 加入不同的部门及角色负责相应流程的标注;
  6. 以及各个阶段,各个角色所需要有的产出;

标签:迭代,软件开发,流程,Scrum,开发,敏捷
From: https://www.cnblogs.com/kisshappyboy/p/17680815.html

相关文章

  • scrum敏捷开发-传统开发方式的颠覆者
    在当今高度变化的时代,软件开发的环境和要求也在不断变化。传统的开发方法往往难以适应这种快速变化,因此,一种新的软件开发方法——敏捷开发逐渐得到了广泛的关注和应用。本文将介绍敏捷开发的概念、优势、实践经验、敏捷开发工具以及注意事项,帮助您更好地了解和运用敏捷开发。一、敏......
  • 2023年下半年软考开始报名!内附报名流程~
    重磅消息!2023年下半年软考报名,终于开始了!目前已经公布2023年下半年软考报名简章的省市有:广东,深圳,安徽,河北,云南,广西,江西,四川,吉林,辽宁,新疆、山东,甘肃,海南,内蒙古,黑龙江,西藏等地。  其中江西、辽宁、内蒙古、新疆地区2023年下半年软考报名今日开始,请各位考生仔细查看报名时间,尽快完成......
  • 最新敏捷认证培训课,近期公开课
    ​ 最新敏捷认证培训课,近期公开课   开课时间课程名称认证证书授课讲师授课方式报名09月09-10日SAFe认证LeadingSAFe官方认证班SAFe®6.0Agilist证书EricLiao&ScottWang远程立即报名09月15-17日SAFe认证SSM&LeadingSAFe官方双认证班SAFeAg......
  • O2OA(翱途)平台新版本流程平台新增退回功能、新增关联文档功能、新增业务数据变更记录
    尊敬的O2OA(翱途)平台合作伙伴、用户以及亲爱的开发小伙伴们,平台V8.1版本已正式发布。此次,为了更好的服务于业务场景,我们根据在项目中遇到的一些实际问题,重点也对流程平台和流程引擎做了细节上的优化,本篇将重点介绍流程平台中优化的一些细节,大家一起来看看。 ​ O2OA(翱途......
  • 软件开发中的原则 - SOLID
    在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式,不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则,和具体阐述意义。开发原则SOILD面向对象的基本原则(solid)是五个,但是在经常被提到的除了这五个之外还有迪米特法则和合......
  • 简化车辆登记流程:利用腾讯云OCR实现自动化信息识别
     项目中有一块,需要用到上传车牌车牌号到系统里,用了下腾讯云的ocr车牌号识别做了个小功能。通过腾讯云的orc识别,将车牌号录入到后台。 一,首先我们需要登录到腾讯云,然后搜索一下orc或者车牌号https://curl.qcloud.com/dPX3dJRL   或者直接访问这个链接 二,进入后就是......
  • 8、企业信息安全中级篇(敏捷开发)
    1、2、3、......
  • API接口的对接流程和注意事项
    随着互联网技术的发展和应用的普及,API接口已经成为不同系统、不同应用之间进行交互和数据交换的重要方式。API接口使得不同的系统能够互相调用对方的功能,提高了系统的灵活性和扩展性。但是,在进行API接口对接的过程中,需要注意一些流程和事项,以确保对接的顺利进行和系统的稳定运行。......
  • 微信小程序关于用户隐私政策调整相关的开发配置流程
    前言:最近,微信小程序的开放内容调整属于是比较频繁的,先前有授权微信手机号不在免费转为收费,而在2023年9月15日前,获取一些隐私信息需要弹框请求用户授权;在此日期之后,微信的隐私政策进行了调整,需要在用户授权的同时要求用户先同意《用户隐私协议》内容后方可进行微信隐私内容获取......
  • 软件开发原则
    软件开发原则原则介绍单一职责原则一个类或模块应该只负责一项任务或功能开闭原则软件实体(类、模块、函数等)应该对扩展开放,对修改关闭里氏替换原则子类应该能够替换其父类并且不会破坏程序的正确性接口隔离原则客户端不应该强制依赖它不需要的接口,即应该将......