项目管理之-敏捷开发流程
引言:敏捷绝非某一种特定的开发方法,它只是一种应对快速变化的需求的一种软件开发能力。敏捷本身只包含了《敏捷软件开发宣言》和《敏捷软件的十二条原则》两份文档。
敏捷的起源:
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
目前很多互联网公司都在搞或者想搞敏捷开发流程,但能正常的运行起来的比较少,很多公司还是产品、开发、测试相对于独立,产品提需求,开发做功能,测试功能,这样看来不是一个Tim,而是不同的人在在做不同的工作,客户的需求在不断的变化,那么产品的需求也在不同的变化,如果做一个项目做到最后了客户需求又发生了变化,那么又要重新开始。这样的项目管理很混乱。
敏捷开发流程是一个标准的项目管理流程,是不能适用于所有的公司,但是适用大部分的公司,公司根据标准化流程去进行优化,不管是新增还是减少,只要适用于自己的公司那就是贵公司的敏捷流程。
核心原则:
1.主张简单:当从事开发工作时,你应当主张最简单的解决方案就是最好的解决方案。
2.拥抱变化:需求时刻在变,人们对于需求的理解也时刻在变。项目进行中,Project stakeholder可能变化,会有新人加入,也会有旧人离开。Project stakeholder的观点也可能变化,你努力的目标和成功标准也有可能发生变化。
3.有目的的建模:对于自己的产出,例如模型、源代码、文档,很多开发人员不是担心它们是否够详细,就是担心它们是否太过详细,或担心它们是否足够正确。你不应该毫无意义的建模,应该先问问,为什么要建立这个产出,为谁建立它。
4.多种模型:开发软件需要使用多种模型,因为每种模型只能描述软件的单个方面,“要开发现今的商业应用,我们该需要什么样的模型?”考虑到现今的软件的复杂性,你的建模工具箱应该要包容大量有用的技术(关于产出的清单,可以参阅AM的建模工件)。
5.快速反馈:从开始采取行动,到获得行动的反馈,二者之间的时间至关紧要。
6.软件是你的主要目标:软件开发的主要目标是以有效的方式,制造出满足投资者需要的软件,而不是制造无关的文档,无关的用于管理的工件,甚至无关的模型。
7.你的第二个目标是可持续性:即便你的团队已经把一个能够运转的系统交付给用户,你的项目也还可能是失败的--实现项目投资者的需求,其中就包括你的系统应该要有足够的鲁棒性(robust ),能够适应日后的扩展。就像Alistair Cockburn常说的,当你在进行软件开发的竞赛时,你的第二个目标就是准备下一场比赛。可持续性可能指的是系统的下一个主要发布版,或是你正在构建的系统的运转和支持。要做到这一点,你不仅仅要构建高质量的软件,还要创建足够的文档和支持材料,保证下一场比赛能有效的进行。
以下是我司的敏捷开发流程(我司的流程也是经过几次改版,这个过程可能需要几个月,因为敏捷开发的实行是在不同的流转,这就需要根据公司实际情况进行调整):
产品设计(以下就是敏捷中重要的节点):
1.产品指南评审:软件中的一切功能需求与功能来源都是客户与市场,产品设计功能不可能天花乱坠的想象,要贴合实际业务。产品指南评审就是产品跟客户、市场深入调研后产品的产物,就是产品的背景、目前产品的缺陷、输入、输出。需要产品、开发、项目经理、测试评审。
2.产品方案评审:就是产品根据客户需求设计功能,产品方案是否符合客户需求。需要产品、开发、项目经理、测试评审。
3.UI评审:产品只是把功能设计出来,交互与页面的展示就是要靠UI来设计。
4.技术方案(包含测试计划/方案):产品如果只是想的话,那么开发就是要实际去做了,这个技术方案设计要慎重,要关联到目前的业务是否有关联,还要有拓展性与可移植性等。需要另一个平级或者更高级别的开发评审。
项目启动:
1.项目启动:经过了产品设计阶段,一切都是计划,项目启动主要就是把项目组的成员确定,确定好目标、时间(开发时间、测试时间、产品验收时间、发布时间)。
敏捷迭代:
1.迭代:包含了晨会、单元测试、codereview、测试用例评审、迭代演示(项目过大的时候会分为好几个迭代)
2.交付:首先测试完成后,产品进行验收,是否符合产品的需求。
3.发布:产品验收后就可以进行发布了
4.回顾:回顾本次迭代或者本次项目中做的不好的、好的点进行总结,好的点要继续保持,不好的点可以要进行总结,下次迭代改进
以上就是我司的敏捷开发流程,执行下来肯定有很多困难与不适应,但是这样利于项目管理,一个团队共同为一个目标去奋斗。
项目管理之-敏捷开发流程相关推荐
- 敏捷开发流程的8个步骤
一.敏捷开发流程的8个步骤包括: 1.目标制定,目标对齐:通过市场调研.业务思路.风险评估制定公司规划和目标,根据这一目标产生所有部门的目标并实现对齐: 2.产品规划:产品研发部门根据目标制定产品关键 ...
- 敏捷 | 【万字长文】 说透 如何学习敏捷开发流程和运用
作为程序员如果说你不了解 敏捷开发流程,不能说你不是一个好程序员,肯定的是你一定很痛苦,你将面临项目周期和版本无序的困扰. 针对这种情况,建议你看看这边文章,看完你完全能够明白敏捷. 敏捷开发是目前很 ...
- 如何让Git适应敏捷开发流程?
一旦涉及版本控制系统,Git实际上代表敏捷开发的水平.Git作为一款强大的开源系统,有较强的灵活性,可以按需匹配任何开发团队的工作流程.而这种分布式相比较集中式来说,自然赋予系统更好的性能特征,且允许 ...
- 敏捷开发系列学习总结(11)——Scrum敏捷开发流程的三个角色、四个会议和三个物件
Scrum敏捷开发流程主要包扩三个角色.四个会议和个三物件. 三个角色 Scrum团队中包括三个角色,他们分别是产品负责人.开发团队和 项目的直接管理者(Scrum Master). Scrum 团队 ...
- 什么是敏捷开发?敏捷开发流程的8个步骤
文章目录 一.什么是敏捷开发? 二.敏捷开发模式的分类 三.SCRUM 的工作流程 四.敏捷开发流程的8个步骤包括: 五.敏捷开发模型 一.什么是敏捷开发? 敏捷开发(Agile)是一种以人为核心.迭 ...
- 一篇小文章了解企业的敏捷开发流程
1.什么是敏捷开发流程: 敏捷开发(Agile)是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征.简单地来 ...
- 那些互联网大厂敏捷开发流程是怎么样的?每个职位的角色和分工是什么?
一.一个故事带你了解敏捷流程 在讲道理之前,我先讲个故事. 最近某公司负责人一直在思考这件事,"冬季如何让更多的人参加户外运动".然后在某个下雪天,他惊讶的发现路上竟然一个雪人都看 ...
- 什么是敏捷开发流程?
大家好,我是IT修真院武汉分院第15期学员,一枚正直善良的JAVA程序员. 今天给大家分享一下,java项目中需要使用的敏捷开发流程 1.背景介绍 在很久以前,软件项目的开发都是以年来计算的,这代表什 ...
- 【项目管理】敏捷开发项目管理流程
转:https://blog.csdn.net/wlly1/article/details/77716455 感谢原文博主! 前段时间给大家整理了敏捷开发的流程,最近在整理敏捷开发项目的流程和管理制度 ...
最新文章
- python格式化字符串_Python的3种字符串格式化方法,哪种你最喜欢?
- 慕课网:SpringBoot+MyBatis搭建迷你小程序
- [AHOI2008] 紧急集合
- 北航卓越计划 计算机科学,解读:北京航空航天大学2017卓越计划自主招生条件...
- android 指定语言的资源,Android国际化多语言切换
- 181117每日一句
- android默认壁纸的历史,Android 默认壁纸 简单分析
- 易于查阅,幕布记忆思维导图
- c# hook技术的实现
- PhotoShop等比缩放图片
- Bought a new glass in BeiJing Pan Jia Yuan
- 计算机科学与技术需要什么要求,计算机科学与技术专业需要掌握哪些技能?
- 做数据分析,一定会用到的12类实用图表
- Java中equal和==的比较[zz]
- 009.查找手机电话簿【散列表】
- 好用的高匿代理IP有什么特点?
- Java中对象转换为字符串的几种方式
- 程序人生 - 变脸的原理
- vue 获取当年当前季度
- 爬虫----b站弹幕