CODING 敏捷实践完全指南
你好,欢迎使用 CODING!
这份最佳实践将帮助你掌握 CODING 敏捷管理工具,更好地实践敏捷开发流程。
什么是敏捷研发
敏捷研发是涉及整个软件工程的理念与实践,它的核心是迭代和增量式软件开发方法。开发者快速发布一个可运行但不完美的版本投入市场,在后续迭代中根据用户的反馈改进产品,新增一到多个用户可以感知的完整功能,从而逼近产品的最终形态。迭代就是整个理论的核心,坦白的说迭代开发并不是新鲜词汇,但是敏捷研发理论大大完善了迭代开发的理论,使之能够被广大的软件开发团队认可,并开发了具体的实践方法如:Scrum 等。
敏捷研发比较特别的地方是它是组织文化,流程以及工具的结合体,在敏捷研发介绍中要着重强调三者的同样的重要而且缺一不可:“工具,流程,组织文化”。缺少工具支持的敏捷研发无法实现“高速”;缺少组织文化支持的敏捷研发会让团队成员之间无法团结一致完成共同的目标。
如何使用 CODING 进行敏捷研发(SCRUM)
CODING 研发管理系统承载了最先进的敏捷研发理论,能够帮助您和您的团队快速入门敏捷研发,并通过标准化的流程和完整的信息统计成为企业实践敏捷研发的好工具。
创建项目
敏捷研发的第一步是确认敏捷团队的人员构成,并选出对此次项目最为了解的成为 SCRUM 负责人,负责人不一定是团队中职级最高的那个人。
在确立好团队成员之后,在 CODING 研发管理中创建一个用于此次敏捷研发的项目,创建完项目之后将团队中所有的成员都加入到该项目中。CODING 的敏捷研发模块主要是由 5 个核心功能构成:迭代、需求管理、工作管理、缺陷管理和测试管理。同时在迭代中还有完整的统计功能,方便负责人实时查看整体研发进度。
需求管理
首先要由本项目的产品经理在需求管理模块中制定项目的产品规划并负责维护和更新。因为接下来的产品迭代都是建立于需求之上的。
在规划需求的时候,优先级越高,时间要求最紧的需求文档需要越完善。同时可以使用 CODING 研发管理系统的文件功能上传原型图等必要文件,并关联到需求中。
当然整体需求是需要整个团队配合的,每个功能都需要经过团队评估。团队的其他成员在看到需求的时候可以通过线下会议或者线上讨论的形式(CODING 研发管理系统的需求管理模块支持团队成员之间在需求下留言进行讨论,并由产品负责人实时更新内容,同时支持版本控制,方便溯洄)进行需求讨论。
迭代规划会议
在团队已经到位且产品规划已经完善后,就是时候开工了。
这个时候需要 Scrum 负责人组织整个项目中至关重要的会议-冲刺规划会议,Scrum 负责人可以通过 CODING 研发管理系统中的项目公告功能提醒大家并同步会议的整体信息。这个会议是所有敏捷会议中最重要的会,因为它是接下来很长时间工作的基础。一个好的计划会议基本代表着整个迭代成功了一大半。通常这个会议的时间较长,所以需要各个成员提前做好准备。在会议中整个团队需要把之前做的初步产品计划进行更细颗粒度极的细化,把需求拆解成可以执行的事务,并对每个工作进行工时的预估。如果整体工作量超出了团队的产能,需要适当的将一些需求放到下个迭代;如果低于产能,需要将后续的需求前置。所以产品经理需要确保尽可能多将需求准备完善。
第一个迭代
在会议结束以后,所有的工作都定义清晰之后,Scrum负责人就会把规划好的需求、缺陷和工作添加进迭代中,并设定好开始和结束时间,同时 Scrum 负责人还可以在迭代中实时查看整个迭代的进度和距离此次迭代结束还有多少天等信息。
接下来就开始第一个迭代周期了,这个过程中,迭代模块中的统计面板将是所有团队成员最为关注的地方,根据进度调整自己手上的工作,而如何确保迭代按照原计划进行则是 Scrum 负责人所最关心的。
在迭代开始后,团队需要通过每天早上开站立会议来讨论和解决在执行过程中发现的问题。每天的站立会议尽可能的精简,控制在半个小时以内,团队成员每天早上需要描述昨天做的事情,今天要做的事情,以及遇到的问题。当有问题出现,相关的人需要一起协力解决。每天的会议纪要可以使用 CODING 研发管理系统中的 wiki 功能进行记录,方便查阅。
在迭代模块下的事物状态趋势通过堆叠式面积图的方式来展示事物(需求、缺陷和工作)的状态以及随时间而变化的程度,可以进一步帮助 Scrum 负责人了解每天哪些任务的进度。
结束第一个迭代
当到了迭代预设的结束时间之后,就意味着迭代周期的结束,无论是不是所有事务都完成了。
在迭代真正结束之前,需要由相应的产品负责人对所有的成果进行评估,确保事务完成情况和计算最初设想目标的达成率,在所有事务评审完成之后。Scrum 负责人就可以点击迭代中完成迭代的按钮,正式宣告本次迭代的结束。
最后整个团队还需要进行一次回顾会议,回顾这次迭代有哪些做的好,哪些做的不好,并列出下次的可执行任务,便于改进整个团队的研发效能。
测试管理
一般来说,每次迭代会产出一个可上线的版本,在正式部署之前还有一个重要的环节:测试。
现在 CODING 研发管理系统的测试管理功能由 18 年收购的专业测试工具飞蛾( FEIE.WORK)承载,现已实现了企业账号打通,可以直接在测试管理中点击跳转到飞蛾的工作界面。
在飞蛾中测试工程师可以根据功能情况,编写测试用例、规划和执行测试计划。在测试计划的执行过程中,会有多多少少出现一些问题,称之为 bug 或者缺陷。所以后续的迭代中,除了需求,我们需要将另一个任务类型考虑进来——缺陷。
缺陷管理
在测试环节和正式上线之后,发现的问题,都可以在 CODING 研发管理系统的缺陷管理模块中归纳统一,并排出优先级作为下一个迭代中的工作来源之一。不过这也要具体问题具体分析,紧急程度高的缺陷需要第一时间反馈到产品进行修复,优先级不高的会安排到接下来迭代修复。缺陷管理也具有强大的统计功能,对缺陷类型、优先级、模块、发现时间等关键指标进行全面的统计,方便测试工程师了解项目的整体进度。
开启新的迭代
敏捷研发讲究的就是在可控的情况下进行一个一个短频快的迭代,每个迭代环环相扣,快速反馈,快速验证。
想要更好的实践敏捷在选对合适的流程和工具之外,组织的支持也是必不可少的。毕竟敏捷研发带来的是一种全新的更灵活的组织架构,要适应新的体系远没有上面说的那么轻松。而且每个团队遇到的问题也不一样,但是好在实践敏捷本身就是一个迭代的过程,每一次回顾都会发现一些问题,并在新的迭代中改进。
欢迎试用 CODING 研发管理系统。体验敏捷研发,拥抱变化!
CODING 敏捷实践完全指南的更多相关文章
- 激活效能,CODING 敏捷研发模块上线
昨晚,巴黎圣母院失火,而我们当中的许多人都还没来得及去欣赏它的真容.我们曾以为美好的事物会等待我们,伟大的目标也会等待我们.世事无常,唯一不变的就是变化.在软件研发领域,敏捷研发就是这么一个小步快跑来 ...
- CODING 敏捷看板全新上线,助力研发管理可视化升级
在服务企业研发团队的过程中,我们发现不少团队碰到了类似的问题: 团队成员声称完成了自己的大部分任务,但团队实际交付的需求却寥寥无几? 由于某些问题导致工序一直处于等待状态,怎么识别和处理这些延迟? 成 ...
- CODING 敏捷实战系列课第五讲:敏捷中国史
敏捷软件开发方法自 2001 年传入中国以来,历经十多年的发展变迁,目前已经成为国内 IT 企业主流的研发管理方法.敏捷方法的传播和发展历程,是中国 IT 行业发展的剪影.CODING 特邀敏捷顾问. ...
- 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划
菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 采用Sc ...
- 菜鸟Scrum敏捷实践系列(二)用户故事验收
菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 一.用户 ...
- 菜鸟Scrum敏捷实践系列(一)用户故事概念
菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 敏捷开发 ...
- Scrum 敏捷实践中的三大角色
在我过去的近两年工作中,我们一直在应用 Scrum 敏捷项目管理方法来开展工作,今天,我先从它的角色划分来讲起,毕竟这可是它最鲜明的特征. 首先,为什么这种项目管理方法叫 Scrum ? Scrum ...
- CODING 敏捷实战系列课第二讲:Scrum 敏捷项目管理核心要素之 3355
Scrum 是敏捷开发流派中最著名和最落地的一支,全球 70% 以上公司的敏捷转型都是以 Scrum 起步.CODING 特邀敏捷顾问.CST & CTC 认证敏捷教练申健老师将在本课程< ...
- CODING 敏捷实战系列课第四讲:从头搭建持续集成 DevOps 流水线
<从头搭建持续集成 DevOps 流水线>由资深敏捷教练.极限编程学院高级讲师.CODING 特邀敏捷顾问李小波老师主讲,将基于 CODING 展示如何编写 Jenkinsfile 搭建 ...
随机推荐
- hdu-3071 Gcd & Lcm game---质因数分解+状态压缩+线段树
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3071 题目大意: 给定一个长度为n的序列m次操作,操作的种类一共有三种 查询 L :查询一个区间的所 ...
- Python_CRC32
#计算文件的CRC32值 import sys import zlib import os.path filename=sys.argv[1] print(filename) if os.path.i ...
- Maven安装和使用
一.安 装 1.解压好后,添加系统环境变量 变量名:MAVEN_HOME 属性值:D:\apache-maven-3.3.3 //也就是解压的路径 path中添加:%MAVEN_HOME%\bi ...
- 项目在tomcat里运行一段时间总是自动崩掉的问题排查与解决
最近的检验系统上线一段时间后,发现系统访问不了,tomcat总是会自动崩掉,一般遇到这种问题,程序员的第一反应都肯定是内存溢出. 确实是,但是java里内存分好几种,堆内存.栈内存.静态内存区等等,下 ...
- Spring中资源的加载ResourceLoader
http://blog.csdn.net/u011955252/article/details/52912571
- SSM-SpringMVC-26:SpringMVC异常骇级之自定义异常注解版
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 注解的方法实现异常解析,话不多说,直接搞起,和以前一样的习惯,和上篇博客一样的代码放后面,不一样的在前面 案 ...
- 集成学习之Boosting —— AdaBoost原理
集成学习大致可分为两大类:Bagging和Boosting.Bagging一般使用强学习器,其个体学习器之间不存在强依赖关系,容易并行.Boosting则使用弱分类器,其个体学习器之间存在强依赖关系, ...
- Array.prototype.slice.call()方法详解
在很多时候经常看到Array.prototype.slice.call()方法,比如Array.prototype.slice.call(arguments),下面讲一下其原理: 1.基本讲解 1.在 ...
- spring MVC 管理HttpClient---实现在java中直接向Controller发送请求
在spring MVC中,大多数时候是由客户端的页面通过ajax等方式向controller发送请求,但有时候需要在java代码中直接向controller发送请求,这时可以使用HttpCilent实 ...
- 爬虫之scrapy-splash
什么是splash Splash是一个Javascript渲染服务.它是一个实现了HTTP API的轻量级浏览器,Splash是用Python实现的,同时使用Twisted和QT.Twisted(QT ...