什么是敏捷开发?

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

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

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

敏捷开发模式的分类

敏捷开发的实现主要包括 SCRUM、XP(极限编程)、Crystal Methods、FDD(特性驱动开发)等等。其中 SCRUM 与 XP 最为流行。

同样是敏捷开发,XP 极限编程 更侧重于实践,并力求把实践做到极限。这一实践可以是测试先行,也可以是结对编程等,关键要看具体的应用场景。

SCRUM 则是一种开发流程框架,也可以说是一种套路。SCRUM 框架中包含三个角色,三个工件,四个会议,听起来很复杂,其目的是为了有效地完成每一次迭代周期的工作。在这里我们重点讨论的是 SCRUM。

SCRUM 的工作流程

学习 Scrum 之前,我们先要了解几个基本术语:

  • Sprint:冲刺周期,通俗的讲就是实现一个“小目标”的周期。一般需要 2-6 周时间。
  • User Story:用户的外在业务需求。拿银行系统来举例的话,一个 Story 可以是用户的存款行为,或者是查询余额等等。也就是所谓的小目标本身。
  • Task:由 User Story 拆分成的具体开发任务。
  • Backlog:需求列表,可以看成是小目标的清单。分为 Sprint Backlog 和 Product Backlog。
  • Daily meeting:每天的站会,用于监控项目进度。有些公司直接称其为 Scrum。
  • Sprint Review meeting: 冲刺评审会议,让团队成员们演示成果。
  • Sprint burn down:冲刺燃尽图,说白了就是记录当前周期的需求完成情况。
  • Release:开发周期完成,项目发布新的可用版本。

如上图所示,在项目启动之前,会由团队的产品负责人(Product owner)按照需求优先级来明确出一份 Product Backlog,为项目做出整体排期。

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

当这一周期的 Sprint backlog 全部完成,团队会进行 Spring review meeting,也就是评审会议。一切顺利的话,会发布出这一版本的 Release,并且进行 Sprint 回顾会议(Sprint Retrospective Meeting)。

敏捷开发与 DevOps

DevOps 是 Development 和 Operations 的合成词,其目标是要加强开发人员、测试人员、运维人员之间的沟通协调。如何实现这一目标呢?需要我们的项目做到持续集成、持续交付、持续部署。

时下流行的 Jenkins、Bamboo,就是两款优秀的持续集成工具。而 Docker 容器则为 DevOps 提供了强大而有效的统一环境。

了解 XP 极限编程

参考
https://blog.csdn.net/fw0124/article/details/48713959

参考

https://www.funtl.com/zh/spring-cloud-itoken-prepare/#%E4%B8%89%E5%88%86%E9%92%9F%E4%BA%86%E8%A7%A3%E6%95%8F%E6%8D%B7%E5%BC%80%E5%8F%91

转载于:https://www.cnblogs.com/yanxiaoge/p/11052035.html

iToken----开发前准备相关推荐

  1. 浅析微信支付:开发前的准备

    本文是[浅析微信支付]系列文章的第三篇,主要会讲一下在开发前的一些注意事项. 浅析微信支付系列已经更新两篇了哟-,没有看过的朋友们可以看一下. 浅析微信支付:前篇大纲 浅析微信支付:微信支付简单介绍( ...

  2. 我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)...

    中午吃饭时间到了,小白赶紧向老菜坐的位置走过去. 小白:老大,中午请你吃饭. 老菜:哈哈...又遇到问题了吧,这次得狠狠宰你一顿才行. 小白:行行行,只要您赏脸,米饭任吃,嘻嘻,我们边走边聊. ... ...

  3. 1使用帝国cms开发微信小程序之开发前的约定

    实战案例 博客.新闻资讯.商城 本记录适用人群: 有html,css,js前端切图的开发人员. 小程序开发其实分为两端,一端是小程序界面ui开发,另一方面是数据提供者开发. 开发所需要用到的工具和软件 ...

  4. hibernate课程 初探单表映射1-4 hibernate开发前准备

    开发前准备: 1 eclipse 2 hibernate tools的安装(需要相关的jar包)(可以简化orm框架) hibernate tools的安装步骤: 1 到官网下载 https://so ...

  5. pythonweb开发工作内容_我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)...

    中午吃饭时间到了,小白赶紧向老菜坐的位置走过去. 小白:老大,中午请你吃饭. 老菜:哈哈...又遇到问题了吧,这次得狠狠宰你一顿才行. 小白:行行行,只要您赏脸,米饭任吃,嘻嘻,我们边走边聊. ... ...

  6. PHP程序构造,PHP程序员在做网站开发前对基本目录结构如何规划?

    之前分享了一些有技术积累的经验,今天想分享一点自己对PHP网站开发前目录结构的架构的一点心得. 我自己写的李雷博客,就是按照这种思路来做的,主要分为以下几个部分: 1.config目录 这里主要放一些 ...

  7. vue多页面开发_使用VUE进行移动端H5页面开发前准备

    在正式使用Vue进行移动端页面开发前,需要做一些前置工作,以此保证用户在访问页面时看到的东西不会因设备的差异而出现各种不同的效果,比如一个页面在iphone7 plus上显示的很正常,然后切换到了Ip ...

  8. 微信小程序开发前准备

    微信小程序开发前准备 前期准备 开发者工具 聚合免费API接口 开发者账号注册 文件解析 ​ 1.app.js是小程序的脚本代码.程序的主体代码主要在这个文件中实现.这个文件中包括小程序的生命周期函数 ...

  9. MyCobot六轴机械臂开箱及开发前的准备工作(一)

    MyCobot机械臂是一款入门级的六自由度机械臂,目前是国产机械臂中价格和性能十分优良的机械臂,本讲主要以MyCobot 280pi机臂的开箱搭建和开发前的准备工作为起点为小伙伴们详细的介绍这款机械臂 ...

  10. 小白入门Python Web之web开发前的准备(持续更新~)

    前面对python web开发做了个简单的介绍,不清楚的小伙伴可以戳小白入门Python Web开发介绍. 今天继续讲讲如何进行web开发前的准备 Web开发准备 搭建一个能运行的虚拟机环境 安装 V ...

最新文章

  1. Python 中读取和保存图像方法汇总及其区别
  2. .net采集网页方法大全(5种)
  3. Python Tools for Machine Learning
  4. HTML中Select的使用详解
  5. JS一定要放在Body的最底部么?
  6. 对tableView三种计算动态行高方法的分析
  7. [转]另一个SqlParameterCollection 中已包含 SqlParameter[解决方案]
  8. 牛客 - 降维打击(dp)
  9. Cloud for Customer里抓取Notification采取的是和CRM呼叫中心传统实现一样的Polling方式
  10. android 增加触摸范围,android seekBar 增加点击和滑动范围
  11. php mysql倒计时_php 倒计时程序
  12. 深度学习超分辨率最新综述:一文道尽技术分类与效果评测
  13. AIR访问操作系统剪贴板粘贴操作延迟呈现解决办法
  14. 【云周刊】第173期:直击数博|阿里胡晓明:用100亿的投入撬动1000亿的脱贫效应...
  15. day20---IO流概述
  16. CoppeliaSim用户手册中文翻译版(二)
  17. JS将16进制颜色转为rgba格式
  18. 史上最全wireshark使用教程,8万字整理总结,建议先收藏再耐心研读
  19. mo管理器python_GitHub - mowujilun/pyecharts: Python Echarts Plotting Library
  20. CF 592D(Super M-虚树直径)

热门文章

  1. android 定时器5秒执行一次,如何在android中每30秒执行一次查询?
  2. 正则表达式—leetcode10
  3. iOS Hacker Xcode使用和内联汇编
  4. mysql 查看有没有drop权限的命令
  5. 100的阶乘c语言代码,求10000的阶乘(c语言代码实现)
  6. [BUUCTF-pwn]——mrctf2020_shellcode_revenge(可见字符shellcode)(内涵peak小知识)
  7. java doc说明书_JAVADOC 常见使用方法 帮助文档
  8. linux怎么在win上安装mysql_CentOS下安装MySQL及Windows下使用Navicat for MySQL连接
  9. Spring与Struts2整合的两种解决方案
  10. linux相关知识之特殊符号做目录