云栖社区通过为期两个月,对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年开发者调查报告》看真相!的更多相关文章

  1. 中国2017 Google 开发者大会第一天简单回顾

    昨天有幸参加了中国2017 Google 开发者大会,在这第一天就收获满满,昨天太忙了,今天早晨来一起简单回顾一下,可以让没有参加的童鞋们感受一下现场的温度. 早早就来到了会议现场,外面看不出什么特别 ...

  2. 2020 年 中国.NET开发者调查报告

    微信公众号dotnet跨平台2020年初做的一个关于中国.NET开发者调查收到了开发者近 1400 条回复.这份调查报告涵盖了开发者工具链的所有部分,包括编程语言.应用架构.应用服务器.运行时平台.框 ...

  3. StackOverflow发布年度开发者调查报告:JavaScript备受欢迎

    StackOverflow刚刚发布了年度开发者调查报告,访问了来自173个国家的56033名编程人员,发现几乎所有开发者都精通于JavaScript.具体说来就是,超过85%的全栈开发者.超过90%的 ...

  4. 【译】JavaScript 开发者年度调查报告

    截至目前有超过了 5000 人参与了(该次调查),准确的说是 5350 人.我迫不及待的想要和大家分享一下这次调查的细节.在分享之前我想要感谢参与调查的每一个人.这是 JavaScript 社区一个伟 ...

  5. 参加IMWebConf 2017 前端开发者大会是什么体验?

    周六作为特邀讲师之一参加了IMWebConf 2017 前端开发者大会的主题演讲,主题为<WebAssembly:面向未来的web开发技术>.本次大会质量非常高,来自国内外的技术专家带了很 ...

  6. 2017-2018年Scrum状态调查报告

    HOW SCRUM IS USED 在2017年的报告中,Scrum的应用范围在扩大,已经从其发源的IT部门扩展到了相距甚远的业务部门.2017-2018年度报告的其中一个主要目标就是关注更广泛的敏捷 ...

  7. 2016年Scrum状态调查报告

    背景 Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发,包括一系列实践和预定义角色的过程骨架.Scrum由Jeff Sutherland和Ken Schwaber在一次IBM项目合作中研究 ...

  8. 2017年开发者生态报告:Python最多人想尝试的编程语言(转载)

    在过去的十年里,Python 语言获得了最大的增长幅度,已经成为最受欢迎的程序设计语言之一.JetBrains 近日发布了 2017 开发者生态报告,该报告包含开发人员对 11 种编程语言以及数据库和 ...

  9. 如何借助 Python 俘获女孩子芳心?

    责编 | 刘静 天气降温,感情却升温了? 上午刚到公司,就收到小Q发来的灵魂拷问: ​ ​ “Q仔!要不然下午请个假!我带你去精神科看看!?”我实在忍不了,脱口而出. 话音未落,前排的运营小花回头看向 ...

随机推荐

  1. 解决mysql漏洞 Oracle MySQL Server远程安全漏洞(CVE-2015-0411)

    有时候会检测到服务器有很多漏洞,而大部分漏洞都是由于服务的版本过低的原因,因为官网出现漏洞就会发布新版本来修复这个漏洞,所以一般情况下,我们只需要对相应的软件包进行升级到安全版本即可. 通过查阅官网信 ...

  2. Spark源码剖析(七):Job触发流程原理与源码剖析

    引言 我们知道在application中每存在一个action操作就会触发一个job,那么spark底层是怎样触发job的呢?接下来我们用一个wordcount程序来剖析一下job的触发机制. 解析w ...

  3. CGO 类型(CGO Types) 一

    CGO Types C作为一种混合编程语言已经很久了,无论那些广泛使用的包是用何种语言实现的,都导出了和C兼容的API.Go程序调用C程序,可以借助两种工具实现,一种是cgo,另一种是SWIG工具.C ...

  4. java 实现的c当中的几道题

    package javastudy; /* * 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示, 60分以下的用C表示. */ import jav ...

  5. MySQL主从复制原理以及架构

    1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的 数据复制到其它主机(slaves)上,并 ...

  6. ubuntu搭建 zabbix3.2 with mysql database (Ubuntu 14.04.5 LTS)

    官网文档 服务构建:https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages/server_ ...

  7. Netty对Protocol Buffer的支持(七)

    Netty对Protocol Buffer的支持(七) 一.简介 在上一篇博文中笔者已经介绍了google的Protocol Buffer的使用,那么本文笔者就开始介绍netty对Protocol B ...

  8. nodejs 之 nvm和pm2

    说道 node不得不提到nodejs的版本管理nvm和Node应用的进程管理器pm2. 当然,关于这两个的介绍的文章那么多,随意baidu,bing,google就可以. 我这里是给自己打一个标签,方 ...

  9. 第十一章:Python の 网络编程基础(三)

    本課主題 多线程的创建和使用 消息队列的介绍 Python 操作 memached 和 redis 实战 本周作业 消息队列的介绍 对列是在内存中创建的,如果整个进程里的程序运行完毕之后会被清空,消息 ...

  10. Python使用Tabula提取PDF表格数据

    今天遇到一个批量读取pdf文件中表格数据的需求,样式大体是以下这样: python读取PDF无非就是三种方式(我所了解的),pdfminer.pdf2htmlEX 和 Tabula.综合考虑后,选择了 ...