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

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

微信图片_20220421111329.jpg微信图片_20220421111331.jpg微信图片_20220421111333.jpg微信图片_20220421111335.jpg微信图片_20220421111216.jpg微信图片_20220421111218.jpg微信图片_20220421111220.jpg小灰经过千辛万苦,终于拿到了心仪的offer,

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


微信图片_20220421111202.jpg微信图片_20220421111204.jpg微信图片_20220421111206.jpg微信图片_20220421111209.jpg微信图片_20220421111211.jpg微信图片_20220421111213.jpg



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


场景一:小灰在餐厅

微信图片_20220421111222.jpg微信图片_20220421111225.jpg微信图片_20220421111228.jpg微信图片_20220421111230.jpg微信图片_20220421111232.jpg微信图片_20220421111234.jpg微信图片_20220421111236.jpg微信图片_20220421111239.jpg微信图片_20220421111241.jpg微信图片_20220421111244.jpg微信图片_20220421111246.jpg

微信图片_20220421111249.jpg微信图片_20220421111251.jpg微信图片_20220421111254.jpg


场景二:无奈的项目经理


微信图片_20220421111256.jpg微信图片_20220421111259.jpg微信图片_20220421111301.jpg微信图片_20220421111304.jpg微信图片_20220421111306.jpg微信图片_20220421111308.jpg


什么是敏捷开发?


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

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


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


这一切正如某人的名言:


微信图片_20220421111312.jpg


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


微信图片_20220421111314.jpg


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


微信图片_20220421111316.jpg微信图片_20220421111319.jpg微信图片_20220421111323.jpg


敏捷开发模式的分类


敏捷开发的实现主要包括 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:开发周期完成,项目发布新的可用版本。


微信图片_20220421111326.jpg


如上图所示,在项目启动之前,会由团队的产品负责人(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是什么样的情景呢?看看下面的照片就知道了:



微信图片_20220421111329.jpg微信图片_20220421111331.jpg微信图片_20220421111333.jpg微信图片_20220421111335.jpg


敏捷开发与Devops


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


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

微信图片_20220421111338.jpg

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

微信图片_20220421111340.jpg


相关文章
|
26天前
|
存储 监控 数据可视化
必看!J 人电商团队圣诞冲刺,哪 6 款办公软件是工作学习效率的神器?
随着圣诞节临近,电商零售行业迎来购物狂欢。高效的团队协作和个人学习效率是关键。本文推荐6款可视化团队协作软件:板栗看板、Asana、Miro、monday.com、Wrike和Notion。这些工具能直观呈现工作流程,促进沟通与协作,提升工作效率。板栗看板任务清晰,Asana规划细致,Miro创意无限,monday.com自动化高效,Wrike资源管理精准,Notion一体化便捷。选择合适的工具,助力团队在圣诞季取得佳绩。
59 1
|
1月前
|
人工智能 小程序 程序员
我的 2024 年终总结,持续尝试
复盘一下今年做过的所有关于探索收入多样性的事情。包括这一年工作以外的 “工作进展”,收获的事项,遇到的种种问题,以及来年的计划等,最后希望能对大家有一点点参考意义。
59 1
|
5月前
|
开发者 项目管理 开发工具
震惊!单人开发者如何成功过渡到团队协作?Xamarin 项目管理经验大揭秘,让你的开发之路一帆风顺!
【8月更文挑战第31天】Xamarin 是移动应用开发领域的热门跨平台工具,适用于个人开发者及团队。个人开发时需明确需求、运用版本控制(如 Git)并合理规划项目结构以增强代码可维护性。团队协作时,则需建立有效沟通渠道、统一代码规范、严格版本控制及合理分配任务,以提升开发效率与项目质量。
78 1
|
监控 数据可视化 Java
测试工程师如何做到初级测试管理(个人思考)?
测试工程师如何做到初级测试管理(个人思考)?
132 0
测试工程师如何做到初级测试管理(个人思考)?
【开发随记】【提效】工作习惯那些事系列之四——任务管理
【开发随记】【提效】工作习惯那些事系列之四——任务管理
126 0
【开发随记】【提效】工作习惯那些事系列之四——任务管理
|
敏捷开发 前端开发 BI
好的每日站会,应该这么开 | 敏捷开发落地指南
高效落地敏捷开发,先从这3个关键活动着手。在敏捷迭代中,虽然迭代周期比较短,但依然需要对迭代过程进行有效跟进。如果在输入、过程、输出环节,没有要求,每日站会(迭代跟进)将会非常低效。好的每日站会,应该这么开!
1252 0
好的每日站会,应该这么开 | 敏捷开发落地指南
|
Kubernetes 网络协议 Devops
分享实录 | 单人开发场景下的测试环境实践
在软件研发过程中,“测试环境”是部署最频繁、也是开发者使用最频繁的一种运行环境,稳定而易用的测试环境能够极大提高开发者的工作效率和幸福感。为更好的将阿里巴巴在测试环境管理方面的实践和经验跟广大开发者分享,《云效说码》策划了《阿里巴巴Kubernetes测试环境开源工具箱》系列直播视频,由阿里巴巴技术专家林帆(金戟)和郑云龙(砧木) 来为大家讲述。
1569 0
分享实录 | 单人开发场景下的测试环境实践
经验分享:5个可以轻松实践的高效工作秘诀
工作产出 = 单位时间产能 × 有效工作时间,本篇文章介绍了如何提高工作效率,希望每个人都能找到属于自己的高效之路。
1138 0
经验分享:5个可以轻松实践的高效工作秘诀