什么是敏捷开发?
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。
敏捷开发能为你现在工作团队带来什么?
1、快速反应、快速上线、快速迭代
用户的需求在不断变化、市场的需求也在不断变化,当我们在全力同步瀑布流形式开发一款产品的时候,或许等他一年半载上线后,这款产品已经不能满足过去的用户需求,不被市场接受,这种对于资源的浪费是巨大的
换句通俗化来说,生活在快速节奏的时代,我们不能再按常理出牌,应该迅速做一个认为核心的产品,推向市场,看用户的反馈,如果反馈良好,继续加速完善优化,如果市场反馈不好,快速停止或者更改方向
2、寻找用户真正需要的
了解人性、洞察用户,没有人能一次就判断出用户所接纳的产品,并一直成功下来,哪怕是乔布斯也会有失败的产品出现,我们无法预测未来,so 必须通过一次次小步上线测试,去收集 用户的反馈,不断优化改善,直至寻找到用户真正需要的
3、 满足不同阶段产品的用户结构需求
延续产品的生命周期,从早期的种子用户、到中期的普通大众用户,到后期用户结构下沉的中下等层级用户, 一边迎合大众口味、吸引新用户,一边保持高质量的调性、留住老用户,产品生命周期变化迅速,面对这些不同层级的用户,你如何满足他们的需求? 必须要对产品做出速反应,及时反馈优化,这样才能使产品能够适应拥抱变化,掌握主动权
面对现在互联网的市场,需要产品具备对快速变化需求的工作方法和软件开发能力,而敏捷正是赋予团队应对快速变化需求的软件开发能力的方法,也是众多知名互联网公司Google、tecent使用敏捷的原因,也是敏捷流行的原因
如何快速上手敏捷开发?
敏捷开发的方法很多,敏捷开发的实现主要包括 SCRUM、XP(极限编程)、Crystal Methods、FDD(特性驱动开发)等等。其中SCRUM与XP最为流行。
推荐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、拥抱改变:客户会在不断变化需求的过程中明晰真正需要的,因此敏捷需要拥抱变化
恭喜!你现在应该已经学会了敏捷的概念,和如何实施敏捷开发的方法,现在可以再自己的团队内推广了。
网友评论