敏捷方法适合什么样的团队?

敏捷开发适用于研发团队吗?

距敏捷开发宣言的发布已经过去了将近二十年,现在很多团队都在思考“敏捷”的工作方式。营销团队想要尝试Sprint的方式来加速盈利,运营团队正在采用Scrum敏捷项目管理,而人力资源团队则正在寻求如何为公司战略注入更多的灵活可变性。

那么对于研发团队而言,敏捷实际上只是一套帮助解决大型且复杂项目的方法论。在工作中,如何正确的运用敏捷方法哪种方式,一直存在很多争论。

是否采用敏捷开发?

通常而言,复杂、大型的研发项目需要跨部门的协调,项目经理总是希望可以快速实施并交付产品。但是当你想要调动全部资源去推动此项目时,这又将对其他部门的业务和工作产生影响,这是不现实的。因此在项目研发过程中,团队需要采用敏捷开发方法,并以不断迭代的方式来应对快速变化的需求。

敏捷并非意味着在项目开始之前就定义最终需求并安排好全部工作内容。但对于跨公司的庞大项目而言,需要了解产品需求和路线,否则每个人工作都有可能出现差错。那么是否有可能将敏捷开发应用于类似上述的庞大项目呢?

我认为是可行的,但需要实行真正意义上的的敏捷开发。

请记住,敏捷并不是每个人都必须遵循的一套固定规则。它是一种方法论,是帮助团队应对快速变化的需求、提高工作效率的一种理念和价值观。在产品研发过程中,团队通常使用Scrum或看板之类的框架来提高效率,但是对于这些框架不适用的工作场景,尤其是在项目的初期,也并不一定意味着无法实行敏捷开发了。敏捷可以很简单,例如确定项目目标,将其拆解为几项可以实现的小任务,然后以此为基点进行迭代和开发。

瀑布式开发

在产品研发过程中,通常团队采用瀑布式开发的方法是:每次聚焦于一个阶段,每当一个阶段的任务完成后,团队才会开始下一阶段工作。这将导致团队在开发过程中无法适应需求的改变,不断试错,需求变更成本也会随之增加。

整个开发工作的流程是相通的,但不一定会彼此适用。此情况就好比一个公司在价格相同的情况下,是应该购买多种不同类型的办公软件,还是购买一款可以解决不同场景的办公软件,答案一定是后者更能将工作简化,提高工作效率。

那么瀑布式开发的弊端如何改善呢?是在产品开发的第一个阶段就引入第二阶段的成员吗?如果多个需求互相关联,但每个需求的开发进度不一样,又该如何协调处理呢?

由于以上瀑布开发的种种弊端,敏捷开发逐渐打破了传统的瀑布开发方式。

研发团队如何进行敏捷开发?

当项目开始时,第一步要做的事情就是定义产品的业务需求和产品路线,等到所有业务需求和实施方案都落实敲定后,再开始编写第一行代码。敏捷开发的过程是需要团队全员参与的,从定义产品需求到不断迭代交付都是整个团队的工作,因此产品经理、研发工程师以及其他所有成员都应积极参与其中,在每个环节中都可以表达自己的声音和想法。在此过程中团队需要制定迭代计划并进行站立会议,以此来持续性的学习、发布、迭代,逐步完善产品。

不管您处于何种行业,在定义产品需求的阶段,应当首先考虑产品的合法、合规性,医疗、能源或制造业等重点监管行业更应注意这一点。这也会大大避免以此带来的交付时间延迟和项目预算超支。

不可避免的是,开发过程一旦开始,新的问题也会随之而来,比如产品上线后,用户的需求可能发生变化;新的政策可能会影响产品的合规性等等。因此敏捷开发提倡在项目开发阶段,通过每天的站立会议,来确认每个成员是否遇到的问题,从而确认问题并及时沟通解决,并以此来制定迭代计划。随着产品的不断迭代和新功能发布,企业也会获得更大的价值。

慢速平稳即是高效

人们开始逐渐意识到,时间管理成为了每个人都无法回避的问题,而有时必须放慢速度认真思考才会更有效率。随着每个团队对工作方式的认知从传统流水线的旧思维,逐步转变为紧凑且自我组织型团队的新观念,同时团队也需要更多地思考如何来实现敏捷开发, 而不是一股脑地去盲目试错。

由于敏捷开发中涉及大量的任务管理、计划、协调、监控等事务,我们需要使用统一的工具来管理这些需求并将它们可视化,建议大家可以试试Worktile Agile敏捷开发工具,它包含了需求管理、迭代规划、效能度量等功能,可以帮助团队实时追踪项目进度,并且可以和Testhub测试管理等产品打通,来实现一站式DevOps开发流程。

原文作者:Philip Braddock

译者:宋思慧

文章来源:Worktile敏捷博客

欢迎访问交流更多关于技术及协作的问题。

文章转载请注明出处。

Image placeholder
xpqnw
未设置
  63人点赞

没有讨论,发表一下自己的看法吧

推荐文章
以梦为马,永洪科技的敏捷BI路

今年6月份Salesforce宣布对Tableau收购,掀起了对BI的一波讨论。BI巨头都难逃收购的命运,这为BI市场增加了很多不确定性。“BI”百度搜索指数(左)和“BI”百度资讯指数(右)打铁还需

敏捷开发流程之Scrum:3个角色、5个会议、12原则

本文主要从Scrum的定义和目的、敏捷宣言、Scrum中的人员角色、Scrum开发流程、敏捷的12原则等几方面帮助大家理解Scrum敏捷开发的全过程。一、Scrum的定义和目的Scrum是一个用于开发

在2020年及未来,网络会变成什么样子?

日前,由思科全球发起的“Networking.Next联网未来”线上活动取得圆满成功。此次活动上,未来学家、网络专家和Cisco首席战略官分享了对网络未来发展的洞察,并重磅发布了思科《2020年全球网

探秘ASC19:首次设置的“超级团队对抗赛”究竟是什么?

4月21日,2019ASC世界大学生超级计算机竞赛(ASC19)总决赛在大连理工大学正式拉开帷幕。根据赛程,在4月23日正式竞赛之前,所有参赛队伍的主要任务是完成竞赛系统的搭建与调试,力求在3000瓦

我的代码和注释都写的像坨屎,那又怎么样?

题图:摄于2019年–绍兴东湖一周前,我的朋友圈被一篇#百度某新员工发飙:前人代码写得像一坨屎,颠覆了对大厂的认知#的文章刷屏了,评论区也非常热闹。但让我惊讶的是,几乎所有的声音里都充满着嘲笑与讥讽,

基于内存和文件存储的 queue worker, 不用 Redis 适合单进程使用没有外部依赖

因为最近要做一个简单的并发任务系统,在github上面找了一圈并没有简单可依赖的库,所以自己写了一个。欢迎大家Review贡献代码。项目地址https://github.com/iflamed/mfw

TensorFlow与PyTorch之争,哪个框架最适合深度学习

谷歌的Tensorflow与Facebook的PyTorch一直是颇受社区欢迎的两种深度学习框架。那么究竟哪种框架最适宜自己手边的深度学习项目呢?本文作者从这两种框架各自的功能效果、优缺点以及安装、版

最适合入门的Python数据分析实战项目

微信公众号:「Python读财」如有问题或建议,请公众号留言伴随着移动互联网的飞速发展,越来越多用户被互联网连接在一起,用户所积累下来的数据越来越多,市场对数据方面人才的需求也越来越大,由此也带火了如

团队开发中 Git 最佳实践,不给队友拖后腿

今天跟大家分享下团队开发中Git最佳实践的知识。0前言在2005年的某一天,Linux之父LinusTorvalds发布了他的又一个里程碑作品——Git。它的出现改变了软件开发流程,大大地提高了开发流

从0到1,马蜂窝大交通团队如何构建高效研发流程体系?

“旅游之前,先上马蜂窝”已经成为许多人习惯性的选择。2019年5月,马蜂窝完成了新一轮融资,金额达2.5亿美元。这也标志着通过集内容、社区、交易为一体的消费决策场景构建,从攻略社区起家的马蜂窝开始迈入

三个月5位老员工离职!苹果健康团队被曝内部分歧严重,员工扎堆儿离开

大数据文摘编辑部出品一年一度的秋季发布会召开前夕,苹果健康团队忽然被曝,大批老员工高调离职。据外媒CNBC报道,最近几个月,苹果的医疗保健团队紧张氛围愈加严重,这种氛围据内部人士称已经持续了一段时间,

两个月三项成果,对标谷歌!独家对话小米AutoML团队,如何让模型搜索更公平

大数据文摘出品作者:曹培信机器学习自动化(AutoML)正在引领机器学习的下一个时代,而要想让机器自己学会“炼丹”,其中最关键的步骤就是,找到最合适的算法模型,也即自动化神经架构搜索(NeuralAr

走近科学,探究阿里闲鱼团队通过数据提升Flutter体验的真相

背景闲鱼客户端的Flutter页面已经服务上亿级用户,因此用户体验尤其重要,完善Flutter性能稳定性监控体系,以便及早发现线上性能问题,也可以作为用户体验提升的衡量标准。那么Flutter的性能到

阿里毕玄:从生物系学生,到技术团队 leader,他是如何完成自我蜕变的

©MSuzanneD.Williams编者按:新的技术层数不穷,困扰程序员的不仅有学不完的新技术,还有每个人在职业生涯中必然会面对的成长路线问题。这就像一个产品有了清晰的roadmap,下一步走的才会

小蜜团队万字长文 | 讲透对话管理模型最新研究进展

对话管理模型背景从人工智能研究的初期开始,人们就致力于开发高度智能化的人机对话系统。艾伦·图灵(AlanTuring)在1950年提出图灵测试[1],认为如果人类无法区分和他对话交谈的是机器还是人类,

漫画 |《程序员十二时辰》,居然是这样的!内容过于真实 …

作者:纯洁的微笑漫画:法小四据说程序员的一天是这样渡过….7:00开始新的一天起床缓冲中,已经进行……6%回想昨晚不该又High到2点7:10闹钟响到第6次的时候,终于鼓起勇气起床。其实我也不想那么晚

将要创造2.9万亿美元的AI有怎样的边界?

AI会抢走你的工作吗?没那么容易,上帝关上一扇门的时候往往会打开一扇窗。从古至今新技术的发展往往伴随着一些旧职业的消失,但同时也会有更多新的职业涌现出来。比较近的互联网革命,新的业态出现,类似程序员这

不一样的css,sass(scss)的基本使用

前言此文主要记录sass的scss语法的基本使用。sass是css的预编译器,它扩展一些css所没有的变量的定义、条件控制、循环、自定义方法等。基础内容1.变量/*scss*/ //声明变量 $pri

构造方法及方法重载笔记

a:当基本数据类型的变量作为方法的参数传递时,新参变量的改变不会影响到实参。b:当引用数据类型的变量作为方法的参数传递时,新参变量的改变会影响到实参。

为什么要前后端分离?有什么优缺点

作者:Cherry300来源:jianshu.com/p/c86cee16b418一、前戏前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个node

为什么SQL正在击败NoSQL,这对未来的数据意味着什么

导读:经过多年的沉寂之后,今天的SQL正在复出。缘由如何?这对数据社区有什么影响?看看本文的分析。以下为译文。自从可以利用计算机做事以来,我们一直在收集的数据以指数级的速度在增长,因此对于数据存储、处

浏览器中的JavaScript:什么是文档对象模型?什么是DOM操作?

JavaScript并没有那么糟糕。作为运行在浏览器中的脚本语言,它对于网页操作非常有用。在本文中,我们将看到可以用哪些手段来修改HTML文档和交互。什么是文档对象模型?文档对象模型是在浏览器中一切的

Python 使用 CTypes调用 C 方法

CTypes Python中的ctypes模块可能是Python调用C方法中最简单的一种。ctypes模块提供了和C语言兼容的数据类型和函数来加载dll文件,因此在调用时不需对源文件做任何的修改。也正

SWIG-Python中调用C代码的另一种方法

SWIG SWIG是SimplifiedWrapperandInterfaceGenerator的缩写。是Python中调用C代码的另一种方法。在这个方法中,开发人员必须编写一个额外的接口文件来作为S

{