浅谈敏捷开发

章节

  • 什么是敏捷开发(What)
  • 为什么使用敏捷开发 (Why)
  • 如何使用敏捷开发 (How)
  • 采用敏捷开发的产品开发效果

1.什么是敏捷开发(What)

什么是敏捷开发

1.1 敏捷开发是一种价值观与原则

敏捷开发是一种价值观与原则,指导我们更加高效的开发

1.2 敏捷开发以用户需求为核心

敏捷开发以用户需求为核心,采用迭代(时间周期)、增量(循序渐进,功能模块)
的方式开发软件,目的在于快速覆盖、响应市场需求

1.3 大项目划分为小项目

大项目划分为小项目,分别完成,独立运行,如微服务的开发过程,就是将系统独立进行开发。

1.4 敏捷开发特征

敏捷开发特征

1.4.1 迭代式开发 (主体是时间周期)

项目按照时间周期进行迭代,比如A功能优先级比较高,则在第一个迭代周期
内优先开发A功能,并上线。第二个迭代周期开发B功能。

1.4.2 增量交付 (主体是功能模块)

瀑布式开发模型:需求评审、概要设计、详细设计、开发、单元测试、
集成测试、上线。如微软的Vista系统,从1997年立项到2005年才问世,但是用
户反馈并不好,Vista操作系统的开发就是采用瀑布模型。

增量式开发:则代表产品是在每个周期结束时被逐步交付使用的。如微软在吸取Vista操作系统采用传统的瀑布式开发流程之后,发现操作系统并不能完全覆盖用户的需求。在2005-2007两年时间内 通过内部推行的敏捷开发原则,上线了win7,获得市场的一致好评。

1.4.3 开发团队和用户反馈推动产品开发

敏捷开发提倡用户参与到产品或项目开发的整个流程当中,通过用户反馈使得
产品更加符合用户频繁变动的需求。

1.4.4 持续集成

采用敏捷开发的产品在产品初期会上线基本功能,之后的功能是根据收集到的
用户反馈进行开发的,实现功能模块的持续集成。

1.4.5 开发团队自我管理

传统的开发模式,注重文档约束,而敏捷开发原则的推行原则要求团队内部交
流便利、文化相对开发,除去必要的文档约束,如Api接口文档,最注重的是团
队成员的高效交流,以此来提高产品、项目的开发效率、开发质量。

1.5 敏捷开发原则

敏捷开发原则

1.5.1 快速迭代

小版本更新发布,更快覆盖当前 市场、用户 需求。

1.5.2 需求评审

需求评审阶段,要求PM、所有相关开发人员参与到需求评审当中
需求评审阶段:
需求可行性分析、
确定需求功能范围、
PM对需求中存在异议的细节进行解释。

1.5.3 编写story、验收标准

PM 编写story、验收标准

1.5.4 多沟通

PM、开发人员之间需要多沟通、减少不必要的文档。

1.5.5 做好原型

需求评审完毕后,PM与UE UI 人员进行紧密沟通,完成指导开发人员开发的UE、UI

1.5.6 及早考虑测试

测试人员在这个阶段需要根据需求中划分的功能点,设计测试用例。

2.为什么使用敏捷开发(Why)

敏捷开发的优点

2.1 覆盖快速变化的市场、用户需求,快速响应变化需求

在用户需求不断变化的情况下能够保证软件开发质量,把大的时间点变成小的
时间点。

2.2 把团队中职责定义清楚,发挥最大效率

3.如何推行敏捷开发 (How)

如何推行敏捷开发

上图为本人所在部门采用的敏捷开发原则,功能迭代时间大致为两周一个版本。

4.采用敏捷开发的产品开发效果

敏捷开发大大提高了我们部门的开发效率,开发人员各自关注自己负责的功能模块,并且通过高效的沟通,在保证产品质量的前提下,实现了产品的快速迭代!项目名称 斐讯路由!

推荐阅读更多精彩内容

  • 行业内有太多人吐槽敏捷开发,原因各不相同,有觉得 Agile 就是一坨翔的,有觉得 Agile 太低效的,也有觉得...
    oiahoon阅读 4,026评论 0 101
  • 1.埋点是做什么的 2.如何进行埋点 3.埋点方案的设计 近期常被问到这个问题,我担心我的答案会将一些天真烂漫的孩...
    lxg阅读 1,098评论 0 0
  • 敏捷软件开发宣言 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构...
    vachester阅读 394评论 0 1
  • 最近刚刚完成Agile的课程, 对Agile的几种methodology (Scrum, Lean IT, XP,...
    飘动的字符阅读 8,875评论 1 6
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 136,185评论 17 580