Jhon-xu

一.接触敏捷开发(Agile)

今年公司安排去合作伙伴那里学习敏捷开发,算是对自己进行升华一下,以此来打通任督二脉进行更有效的开发,第一天,主要是合作公司安排教练来对敏捷开发进行一番大致的介绍,而我这一章也是对教练讲解敏捷开发进行整理,

其中包括 【历史背景】,【敏捷宣言】,【什么是敏捷开发?】,【Agile和Scrum之间的关系】,【Scrum起源和核心】,【4个核心价值】,【12条敏捷原则】,【“3355”】,【“3c"原则】,【Scrum工作流程】。

二.【历史背景】

20世纪60年代:软件作坊,软件规模小,以作坊式开发为主;
70年代:软件危机,硬件飞速发展,软件规模和复杂度激增,引发软件危机;
80年代:软件过程控制,引入成熟生产制造管理方法,以“过程为中心”分阶段来控制软件开发(瀑布模型),一定程度上缓解了软件危机;
90年代:重型过程,软件失败的经验促使过程被不断增加约束和限制,软件开发过程日益“重型化”,开发效率降低、响应速度发慢;
2001~今:敏捷正在流行,随着信息时代到来,需求发化更快,交付周期成为企业核心竞争力,轻量级的,更能适应发化的敏捷软件开发方法被普遍认可并迅速流行。

三.【敏捷宣言】

三【什么是敏捷开发】

敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。
首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发。

四.【Agile和Scrum之间的关系】

什么是Scrum?
狭义:Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,我想你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。
而Scrum就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。
本质:Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法。
敏捷
Agile与Scrum之间的关系:
敏捷开发本质上是一种迭代增量的开发模型,而Scrum正是符合敏捷价值观和原则的一种开发方法,更准确地说应该是一种敏捷的开发过程框架。

五.【Scrum起源和核心】

Scrum的起源

接触过敏捷的我们,一定对Scrum都不陌生,Scrum是众多轻量级敏捷框架中应用最广泛的一种。

Scrum的历史可以追溯到1986年《哈佛商业评论》中的一篇文章《新型的新产品开发策略》(The New New Product Development Game,竹内弘高、野中郁次郎,1986)。这篇文章描述了像本田、佳能、富士施乐这样的公司是如何通过可伸缩、基于团队的并行产品开发方式开发出了世界一流的产品。文章同时强调了授权、自组织团队的重要性,并概要描述了管理在开发过程中发挥的作用。Scrum这个词没有什么标准的中文解释,它来源于橄榄球中的一个争球的动作。

                  Scrum与橄榄球

竹内弘高和野中郁次郎在《新型的新产品开发策略》首次提到将Scrum应用于产品开发,他们指出:传统的“接力式”的开发模式已经不能满足快速灵活的市场需求,而整体或“橄榄球式”的方法——团队作为一个整体前进,在团队的内部传球并保持前进,这可以更好的满足当前激烈的市场竞争。

Scrum核心

“透明、检验、调整”是过程控制理论的三大支柱,也是Scrum理论的核心。

1.透明:建立信任的环境,尽早暴露风险。

2.检验:CI/CD,Code Review,验收测试。

3.调整:Retro,Showcase,Release Plan,IPM,Prioritization and Estimation。

六.【4个核心价值】

1.个人和互动高于流程和工具   
2.工作软件高于理解文档   
3.客户协作高于合同协商   
4.变化响应高于计划遵循

七.【12条敏捷原则】

1.通过早期和连续型的高价值工作交付满足“客户”。
2.大工作分成可以迅速完成的较小组成部门。  
3.识别最好的工作是从自我组织的团队中出现的,   
4.为积极员工提供他们需要的环境和支持,并相信他们可以完成工作。  
5.创建可以改善可持续工作的流程。   
6.维持完整工作的不变的步调。   
7.欢迎改变的需求,即时是在项目后期。  
8.在项目期间每天与项目团队和业务所有者开会。   
9.在定期修正期,让团队反映如何能高效,然后进行相应地行为调整。  
10.通过完车的工作量计量工作进度。   
11.不断地追求完善。   
12.利用调整获得竞争优势。

八.【"3355"】

1.三个角色:Scrum Master、Product Owner(产品负责人)和 Team(团队)。
2.三个工件:Product Backlog(产品待办事项)、Sprint Backlog (Sprint 待办事项)和 可交付产品增量。
3.五大仪式(事件):Sprint(冲刺)、Sprint Planning(Sprint规划)、Sprint Daily Standup(每日站会)、Sprint Review(Sprint 评审)和 Sprint Retrospective(回顾)。
4.五大价值观:Coverage(勇气)、Openness(开放)、Focus(专注)、Commitment(承诺)和 Respect (尊重)。

九.【"3c"原则】

1.卡片(Card):用户故事一般在小卡片上写着故事的简短描述,工作量估算等。
2.交谈(Conversation):用户故事背后的细节来源于和客户或者产品负责人的交流沟通。
3.确认(Confirmation):通过验收测试确认用户故事被正确完成。

十.【Scrum工作流程】

如上图所示

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

 

最后总结

 

1、敏捷宣言:个体和互动 高于 流程和工具,工作的软件 高于 详尽的文档,客户合作 高于 合同谈判,响应变化 高于 遵循计划

2、4个核心价值;12条敏捷原则;3355原则,3c原则

3、Scrum工作流程(不要照本宣科)

4、Scrum是一个框架,不是方法论

 

 

分类:

技术点:

相关文章:

  • 2021-10-10
  • 2021-06-11
  • 2021-04-22
  • 2021-05-02
  • 2021-05-21
  • 2021-10-07
猜你喜欢
  • 2018-11-13
  • 2021-08-04
  • 2021-11-04
  • 2021-06-19
  • 2021-11-09
  • 2021-11-27
  • 2021-11-05
相关资源
相似解决方案