浅谈敏捷开发
章节
- 什么是敏捷开发(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.采用敏捷开发的产品开发效果
敏捷开发大大提高了我们部门的开发效率,开发人员各自关注自己负责的功能模块,并且通过高效的沟通,在保证产品质量的前提下,实现了产品的快速迭代!项目名称 斐讯路由!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
OceanBase数据库高可用及容灾方案详细介绍
OceanBase数据库高可用及容灾方案详细介绍 1 前言 众所周知,作为生产系统中极为关键的核心软件,数据库产品的高可用性一直是使用者极为关注的功能点。尤其是在金融这样一个特殊的领域里,无论是从监管的要求来看,还是从业务需求本身来看,都需要提供24*7持续不间断的服务,这就对金融行业中数据库产品的高可用性提出了很高的要求,不但需要应对个别硬件故障的情况,还必须能够应对机房整体故障和城市灾难等极端情况,保证数据库在各种意外情况下都能持续提供服务,即具备机房级容灾能力和城市级容灾能力。本文的主要目的,是总结和回顾一下传统数据库产品常用的高可用及容灾方案,并向读者介绍一下以OceanBase为代表的分布式数据库常用的方案,希望能够起到抛砖引玉的作用,引发读者关于新型分布式架构下高可用及容灾方案的思考。 2 背景
- 下一篇
阿里最全面试116题:阿里天猫、蚂蚁金服、阿里巴巴面试题含答案
【阿里天猫、蚂蚁、钉钉面试题目】 不会做别着急:文末有答案以及视频讲解,架构师资料 1. junit用法,before,beforeClass,after, afterClass的执行顺序 2. 分布式锁 3. nginx的请求转发算法,如何配置根据权重转发 4. 用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap) 5. 线程的状态 5. 线程的阻塞的方式 6. sleep和wait的区别 7. hashmap的底层实现 8. 一万个人抢100个红包,如何实现(不用队列),如何保证2个人不能抢到同一个红包,可用分布式锁 9. java内存模型,垃圾回收机制,不可达算法 10. 两个Integer的引用对象传给一个swap方法在方法内部交换引用,返回后,两个引用的值是否会发现变化 11. aop的底层实现,动态代理是如何动态,假如有100个对象,如何动态的为这100个对象代理 12. 是否用过maven install。 maven test。git(make install是安装本地jar包) 13. tomcat的各种配置,如何配置doc...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路