3

漫画:三分钟了解敏捷开发

 2 years ago
source link: https://www.cxyxiaowu.com/4582.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
漫画:三分钟了解敏捷开发-吴师兄学编程
当前位置:吴师兄学编程 > 算法 > 漫画算法 > 漫画:三分钟了解敏捷开发

小灰经过千辛万苦,终于拿到了心仪的offer,

今天小灰上班的第一天……

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

下班后,小灰找到同学大黄来请教……

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

场景一:小灰在餐厅

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

场景二:无奈的项目经理

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

什么是敏捷开发?

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

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

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

这一切正如某人的名言:

漫画:三分钟了解敏捷开发

是谁这么厉害,提出了敏捷开发思想?是一位名叫Martin Fowler的美国大叔。

漫画:三分钟了解敏捷开发

大叔不但是敏捷开发的创始人之一,还在面向对象开发、设计模式、UML建模领域做出了重要贡献。目前担任ThoughtWorks公司的首席科学家。

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

敏捷开发模式的分类

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

同样是敏捷开发,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:冲刺燃尽图,说白了就是记录当前周期的需求完成情况。

Rlease:开发周期完成,项目发布新的可用版本。

漫画:三分钟了解敏捷开发

如上图所示,在项目启动之前,会由团队的产品负责人(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)。

那么,现实中的Scrum是什么样的情景呢?看看下面的照片就知道了:

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

漫画:三分钟了解敏捷开发

敏捷开发与Devops

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

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

漫画:三分钟了解敏捷开发

关于Devops以及Docker,在以后的文章中会做出更详细的介绍。

漫画:三分钟了解敏捷开发

—————END—————

喜欢本文的朋友们,欢迎长按下图关注订阅号梦见,收看更多精彩内容

漫画:三分钟了解敏捷开发

原文始发于微信公众号(程序员小灰):漫画:三分钟了解敏捷开发


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK