热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Scrum已经俘获中国开发者的心?——从《2017年开发者调查报告》看真相!

云栖社区通过为期两个月,对7032份有效调查问卷分析统计,2017年12月发布了首份《2017中国开发者调查报告》。报告显示,37.3%的

云栖社区通过为期两个月,对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开发模式的高占比已经说明一切。




推荐阅读
  • 作为Spring的高强度使用者,没理由不对Spring的发展历程感到好奇吧?想知道Spring的作者,Spring是怎样一步一步的发展到今 ... [详细]
  • 关于ScrumXPDevOps的学习
    最近听了ECUG大会上孙敬云老师的分享感觉受益匪浅,毕竟大学课本上只讲到瀑布模型就没有下文了,工作以后一直贯彻的都是Scrum路线,一直也没有时间好好的去学习整理这部分的知识,直到 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • XWiki 数据模型开发指南
    本文档不仅介绍XWiki作为一个增强版的wiki引擎,还深入探讨了其数据模型,该模型可在用户界面层面被充分利用。借助其强大的脚本能力,XWiki的数据模型支持从简单的应用到复杂的系统构建,几乎无需直接接触XWiki的核心组件。 ... [详细]
  • Jira 是由澳大利亚 Atlassian 公司开发的一款高效的问题追踪与项目管理工具,广泛应用于软件测试领域。它不仅能够对各类问题进行精准跟踪,如缺陷管理和任务分配,还能通过灵活的工作流定制和丰富的插件生态系统,显著提升团队协作效率和项目透明度。Jira 在软件测试中的应用,不仅有助于提高测试效率,还能确保产品质量,是现代软件开发团队不可或缺的工具之一。 ... [详细]
  • 开发笔记:DevOps Gitlab环境部署
    本文由编程笔记#小编为大家整理,主要介绍了DevOpsGitlab环境部署相关的知识,希望对你有一定的参考价值。DevOps介绍 ... [详细]
  • 将单条消息的大小设置为大于服务端可以接受的消息大小,模拟发送异常的场景:消息大小1500message.max.bytes1000batch.size16384日志一直刷:[201 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 全局角度出发讨论敏捷
    JonKern对于是什么促成了敏捷的成功有着自己读到的见解。你可能会不同意他的观点。下面列出了一些建立在项目全局角度之上的关键实践,项目本身就是从此开始的。如果不能从系统角度来做项目,那它就不能达到预期的效果,甚至可能会失败。我很早以前就认为,开发软件就像是在完成一个很长的待办事项列表。我试了很多方法来运行项目,从记事贴到Jira(从Jira刚发布起我就开始使用)。我使用传统Scrum风格的Spr ... [详细]
  • GitLab 8.3.3 发布 开源代码管理
    2019独角兽企业重金招聘Python工程师标准GitLab8.3.3发布,包括GitLabCommunityEdition(CE)和EnterpriseEdi ... [详细]
  • 02 敏捷开发测试流程
    一个典型的敏捷开发测试流程为了详细讲解不同阶段或职位(Title)的测试开发所做的工作有哪些不同,我以当前流行的敏捷模式下的软件开发测试 ... [详细]
author-avatar
殇不起2502909877
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有