3分钟快速了解上手敏捷开发

2018-07-16  本文已影响0人  Easonlike

什么是敏捷开发?

 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。

敏捷开发能为你现在工作团队带来什么?

1、快速反应、快速上线、快速迭代 

用户的需求在不断变化、市场的需求也在不断变化,当我们在全力同步瀑布流形式开发一款产品的时候,或许等他一年半载上线后,这款产品已经不能满足过去的用户需求,不被市场接受,这种对于资源的浪费是巨大的

换句通俗化来说,生活在快速节奏的时代,我们不能再按常理出牌,应该迅速做一个认为核心的产品,推向市场,看用户的反馈,如果反馈良好,继续加速完善优化,如果市场反馈不好,快速停止或者更改方向 

2、寻找用户真正需要的

了解人性、洞察用户,没有人能一次就判断出用户所接纳的产品,并一直成功下来,哪怕是乔布斯也会有失败的产品出现,我们无法预测未来,so  必须通过一次次小步上线测试,去收集 用户的反馈,不断优化改善,直至寻找到用户真正需要的

3、 满足不同阶段产品的用户结构需求

延续产品的生命周期,从早期的种子用户、到中期的普通大众用户,到后期用户结构下沉的中下等层级用户, 一边迎合大众口味、吸引新用户,一边保持高质量的调性、留住老用户,产品生命周期变化迅速,面对这些不同层级的用户,你如何满足他们的需求?  必须要对产品做出速反应,及时反馈优化,这样才能使产品能够适应拥抱变化,掌握主动权

面对现在互联网的市场,需要产品具备对快速变化需求的工作方法和软件开发能力,而敏捷正是赋予团队应对快速变化需求的软件开发能力的方法,也是众多知名互联网公司Google、tecent使用敏捷的原因,也是敏捷流行的原因

如何快速上手敏捷开发?

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

推荐SCRUM 、

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


SCRUM的工作流程   

首先基本术语简单了解:

Sprint:冲刺周期,这里面指的是一次迭代,而一次迭代的周期是1个月时间(即4个星期),也就是我们要把一次迭代的开发内容以最快的速度完成

User Story:用户的外在业务需求。拿银行系统来举例的话,一个Story可以是用户的存款行为,或者是查询余额等等。也就是所谓的小目标本身。

Task:由User Story 拆分成的具体开发任务。

Backlog:需求列表,可以看成是小目标的清单。分为Sprint Backlog和Product Backlog。

Daily meeting:每天的站会,用于监控项目进度。有些公司直接称其为Scrum。

Sprint Review meeting: 冲刺评审会议,让团队成员们演示成果。

Sprint burn down:冲刺燃尽图,说白了就是记录当前周期的需求完成情况。

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

具体流程:

1、我们首先需要确定一个Product Backlog(按优先顺序排列的一个产品需求列表),这个是由Product Owner 产品负责人负责的;

2、Scrum Team根据Product Backlog列表,做工作量的预估和安排;

3、有了Product Backlog列表,我们需要通过 Sprint Planning Meeting(Sprint计划会议) 来从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间周期是1~4个星期,然后把这个Story进行细化,形成一个Sprint Backlog;

4、Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个任务的工作量在2天内能完成);

5、在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时遇到不能解决的问题也可以提出,每个人回答完成后,要走到黑板前更新自a己的 Sprint burn down(Sprint燃尽图);

每个人的工作进度和完成情况都是公开的,如果有一个人的工作任务在某一个位置放了好几天,大家都能发现他的工作进度出现了什么问题(成员人数最好是5~7个,这样每人可以使用一种专用颜色的标签纸,一眼就可以从任务版看出谁的工作进度快,谁的工作进度慢

6、做到每日集成,也就是每天都要有一个可以成功编译、并且可以演示的版本;很多人可能还没有用过自动化的每日集成,其实TFS就有这个功能,它可以支持每次有成员进行签入操作的时候,在服务器上自动获取最新版本,然后在服务器中编译,如果通过则马上再执行单元测试代码,如果也全部通过,则将该版本发布,这时一次正式的签入操作才保存到TFS中,中间有任何失败,都会用邮件通知项目管理人员;

7、当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这时,我们要进行 Srpint Review Meeting(演示会议),也称为评审会议,产品负责人和客户都要参加(最好本公司老板也参加),每一个Scrum Team的成员都要向他们演示自己完成的软件产品(这个会议非常重要,一定不能取消);

8、最后就是 Sprint Retrospective Meeting(回顾会议),也称为总结会议,以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中;

最后,敏捷开发的四项价值观    勿忘初心

1、以人为本:重视个体间的合作互动

2、目标导向:我们最终交付的是“可使用的软件”,而不是一堆繁重的文档

3、客户为先:理解客户需求,与客户合作

4、拥抱改变:客户会在不断变化需求的过程中明晰真正需要的,因此敏捷需要拥抱变化

恭喜!你现在应该已经学会了敏捷的概念,和如何实施敏捷开发的方法,现在可以再自己的团队内推广了。

上一篇下一篇

猜你喜欢

热点阅读