Scrum已经俘获中国开发者的心? ——从《2017年开发者调查报告》看真相!
云栖社区通过为期两个月,对7032份有效调查问卷分析统计,2017年12月发布了首份《2017中国开发者调查报告》。报告显示,37.3%的开发者表示,协作工具主要来自企业内部自研的协作工具,有21%的调查者正在使用禅道项目管理软件作为项目开发协作工具,Jira以17%尾随其后。禅道以其开源、专业赢得了国内众多开发者用户的青睐。
自给自足的开发者特性
从调查报告可以看到,高达37.3%的开发者团队在工作中采用企业自己研发的协作软件。由于其自身的开发者属性,企业自研软件首先具备了技术基础,开发者们完全可以实现自给自足;其次,采用自研软件可以省去一部分软件购买费用,为企业节省开支;三,自研软件按照企业需求定制,跟企业的契合度高。
专业软件使用者占四成
除了自研软件,专业的协作软件同样拥有众多青睐者。禅道和Jira的开发者用户占到了38%,跟自研软件的使用者数量基本持平。
跟自研软件相比,专业软件拥有稳定的研发团队和技术支持团队,既能保证软件的快速更新,也能随时提供专业的技术支持和指导服务。而且专业软件有着多年的市场和用户基础,极其贴合用户需求,适合大多数公司的需要。
开发者使用人数最多的禅道是青岛易软天创公司出品的项目研发类管理工具,它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的核心流程。
紧随其后的Jira是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。
二者作为中国开发者最喜欢的协作管理软件,不同点在于,Jira是商用软件,禅道是开源软件。相同的地方是,禅道和Jira都有着配置灵活、功能全面、部署简单、扩展丰富的优点,被广泛的应用在项目管理,任务、bug跟踪,需求管理等方面。而且,禅道和Jira还拥有最大的一个共性是,都是基于Scrum的敏捷开发模式。也就是说,Scrum已成为最受中国开发者欢迎的开发模式。
什么是Scrum开发模式?
Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,可以想象开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它是怎样一种高效的工作状态。
没错,Scrum正是这样的一个开发流程,每个环节都有一套完整的过程和严格的时间控制。也就是说,Scrum是围绕流程控制展开的。
Scrum开发模式是怎样运作的?
1.首先要明确Scrum里的角色
Scrum由product owner(产品经理)、Scrum master和team(研发团队)组成。
其中product owner负责整理user story(用户故事),定义其商业价值,对其进行排序,制定发布计划,对产品负责。
Scrum master 负责召开各种会议,协调项目,为研发团队服务。
研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。
2.快速迭代开发是Scrum的基本特征
与瀑布不同,Scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4周。参与的团队成员一般是5到9人。每期迭代要完成的user story是固定的。每次迭代会产生一定的交付。
3.Scrum的基本流程
Scrum的基本流程如上图所示:
l 产品负责人负责整理user story,形成左侧的product backlog。
l 发布计划会议:product owner负责讲解user story,对其进行估算和排序,发布计划会议的产出就是制定出这一期迭代要完成的story列表,sprint backlog。
l 迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,终每个任务都有明确的负责人,并完成工时的初估计。
l 每日例会:每天Scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。
l 演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的story。
l 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改进的效果。
团队协作过程中最主要的问题是沟通不顺畅,成员各自为战,而协作软件的作用正是打破彼此之间的隔阂,消除孤岛,让工作内容和流程透明化,成员在团队master指挥下齐头并进,合力推进项目进展。
协作软件的Scrum如何体现?
1.明确角色定位,成员各司其职
我们上面提到Scrum是由不同角色构成,也就是一个项目团队由不同角色的成员组成,而每个角色定位代表不同工作职责,分管任务不同。以禅道管理软件为例,就设置了多种角色定位,核心的三种角色是产品经理、研发团队和测试团队,这三者之间通过需求进行协作,实现了研发管理中的三权分立。其中产品经理整理需求,研发团队实现任务,测试团队则保障质量,其三者的关系如下图:
基本流程如下:
l 产品经理创建产品
l 产品经理创建需求
l 项目经理创建项目
l 项目经理确定项目要做的需求
l 项目经理分解任务,指派到人
l 测试人员测试,提交bug
2.分解任务,责任到人
项目开始之初,项目经理负责任务分解,工时估算,并在协作软件中设置起止时间、可用工时、项目目标及团队成员等要素。
接下来成员领取任务,并随时更新已用和剩余工时。已经做了多少工作,还剩多少工作一目了然。
3.开发和检测并存的过程
项目经理一般充当着开发过程中Scrum master的角色,燃尽图、甘特图、看板、工作日志等多种方式为项目经理提供了随时掌控项目进度和成员工作情况的可能。如出现偏差,可随时指导和调动资源,始终将项目各要素掌控在手中。
禅道的任务看板以任务的状态(未开始、进行中、已完成、已取消、已关闭)显示,项目任务完成了哪些,还剩哪些,正在进行中的有哪些可以直观的看到。
燃尽图是在项目完成之前,对需要完成的任务工时的一种可视化显示。
燃尽图有一个Y轴(任务)和X轴(时间)。
理想情况下,该图表是一个向下的曲线,随着剩余任务的完成,“烧尽”至零。
禅道中会根据项目中所有任务预计剩余的时间累加起来,绘制成燃尽图。
项目开发工作完成后交由测试团队测试,测试完成后交由产品经理发布。这其中的每个过程都是一个透明化,可检视和不断调整适应的过程,产品在这个过程中不断迭代更新,功能愈发符合用户需求,成员更加高效默契的工作。也正因为如此,Scrum已经成为全球非常流行的开发模式。
Scrum的概念最早提出是在1990年代初,经过几十年的运用和优化,Scrum呈现出了更加贴合开发流程的诸多特色,已经成为非常成熟的开发模式。实践证明,Scrum也确实是提升新产品开发速度和灵活性的有效方法。
很多人说Scrum的模式并不适合中国。其实,从《2017中国开发者调查报告》的数据中,Scrum开发模式的高占比已经说明一切。
Scrum已经俘获中国开发者的心? ——从《2017年开发者调查报告》看真相!的更多相关文章
- 中国2017 Google 开发者大会第一天简单回顾
昨天有幸参加了中国2017 Google 开发者大会,在这第一天就收获满满,昨天太忙了,今天早晨来一起简单回顾一下,可以让没有参加的童鞋们感受一下现场的温度. 早早就来到了会议现场,外面看不出什么特别 ...
- 2020 年 中国.NET开发者调查报告
微信公众号dotnet跨平台2020年初做的一个关于中国.NET开发者调查收到了开发者近 1400 条回复.这份调查报告涵盖了开发者工具链的所有部分,包括编程语言.应用架构.应用服务器.运行时平台.框 ...
- StackOverflow发布年度开发者调查报告:JavaScript备受欢迎
StackOverflow刚刚发布了年度开发者调查报告,访问了来自173个国家的56033名编程人员,发现几乎所有开发者都精通于JavaScript.具体说来就是,超过85%的全栈开发者.超过90%的 ...
- 【译】JavaScript 开发者年度调查报告
截至目前有超过了 5000 人参与了(该次调查),准确的说是 5350 人.我迫不及待的想要和大家分享一下这次调查的细节.在分享之前我想要感谢参与调查的每一个人.这是 JavaScript 社区一个伟 ...
- 参加IMWebConf 2017 前端开发者大会是什么体验?
周六作为特邀讲师之一参加了IMWebConf 2017 前端开发者大会的主题演讲,主题为<WebAssembly:面向未来的web开发技术>.本次大会质量非常高,来自国内外的技术专家带了很 ...
- 2017-2018年Scrum状态调查报告
HOW SCRUM IS USED 在2017年的报告中,Scrum的应用范围在扩大,已经从其发源的IT部门扩展到了相距甚远的业务部门.2017-2018年度报告的其中一个主要目标就是关注更广泛的敏捷 ...
- 2016年Scrum状态调查报告
背景 Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发,包括一系列实践和预定义角色的过程骨架.Scrum由Jeff Sutherland和Ken Schwaber在一次IBM项目合作中研究 ...
- 2017年开发者生态报告:Python最多人想尝试的编程语言(转载)
在过去的十年里,Python 语言获得了最大的增长幅度,已经成为最受欢迎的程序设计语言之一.JetBrains 近日发布了 2017 开发者生态报告,该报告包含开发人员对 11 种编程语言以及数据库和 ...
- 如何借助 Python 俘获女孩子芳心?
责编 | 刘静 天气降温,感情却升温了? 上午刚到公司,就收到小Q发来的灵魂拷问: “Q仔!要不然下午请个假!我带你去精神科看看!?”我实在忍不了,脱口而出. 话音未落,前排的运营小花回头看向 ...
随机推荐
- ArcGIS 网络分析[4] 网络数据集深入浅出之连通性、网络数据集的属性及转弯要素
前面介绍完了如何创建网络数据集.如何使用网络分析功能,当然还有的读者会迷惑于一些更深层次的问题,比如网络数据集的连通性问题等. 因为不可能面面俱到,我只能挑重点来阐述,我觉得网络数据集的连通性.属性和 ...
- Cat 跨线程之 TaggedTransaction 用法和原理分析
代码 package com.dianping.cat.message.internal; import com.dianping.cat.Cat; import com.dianping.cat.m ...
- input 上传图片显示预览、调用摄像头,ios和Android的兼容性解决
html代码: <img id="pic" src="img/pic.png"/> </span><input id=" ...
- tomcat 设置jvm 参数
在catalina.bat中设置 正确的做法是设置成这样set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx256m,避免JAVA_OPTS参数覆盖
- 实现Windows程序的数据更新
枚举是一组描述性的名称定义一组有限的值,不包含方法对可能的值进行约束枚举是一组指定的常数,对可能的值进行约束枚举使用时直观方便.更易于维护 pictureBox控件属性名称 说明image ...
- mvc4.5更改为mvc4.0方法总结
一:使用MVC4.5创建的项目结果IIS服务器不支持(windows server2008 支持.net4.0),整了半天终于有点眉目了,方法如下: 1.先将项目所在的文件夹找到,去掉文件夹及其文件的 ...
- Java容器---Map基础
1.Map API (1)Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值. java.util Interface Map<K ...
- Head First设计模式之解释器模式
一.定义 给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子. 主要解决:对于一些固定文法构建一个解释句子的解释器. 何时使用:如果一种特定类型的问题发生的频率足 ...
- phpstorm+wamp+xdebug配置php调试环境
本篇文章主要是:教大家如果搭建一套phpstorm+wamp+xdebug调试php的环境现在大多数的程序员使用的调试方式一般都是echo, var_dump, file_put_contents等其 ...
- TurnipBit开发板“趣味赛”:平衡力大比拼
让孩子在快乐自由的游戏中培养编程思维 平衡力大挑战是我们经常经常玩的的一个小游戏,脑补画面的话比较常见的是单腿平衡力大比拼,摇晃幅度小者胜利.游戏好玩归好玩,但是想要公平判断胜负却不容易.下面就教大家 ...