首页 > 其他分享 >个人独立开发者能否踏上敏捷之路

个人独立开发者能否踏上敏捷之路

时间:2023-12-04 10:56:51浏览次数:28  
标签:协作 踏上 实践 开发 开发者 敏捷 团队

很多软件开发团队都在使用Scrum、极限编程(XP)、看板等敏捷方法管理项目流程,持续迭代并更快、更高效地为客户持续交付可用的产品。除了团队,国内外很多个人独立开发者也在尝试将敏捷应用到自己的开发工作流程中,但大多数的结果都是收效甚微,这是为什么呢?个人践行敏捷是否可行? 

敏捷开发需要坚实的团队基础,以及团队文化的保障,方可有效地落地执行。 

什么是敏捷

敏捷是一种以用户需求为核心、采用不断迭代的方式进行的软件开发模式。它依靠自组织的跨职能小团队,在短周期内做出部分成果,通过快速、频繁的迭代,迅速地获取反馈,进而不断地完善产品,给用户带来更大的价值。践行敏捷的方式有很多,主要包括Scrum、XP、Kanban、精益生产、规模化敏捷等方法论。

敏捷的工作方式是将整个团队聚集在一起,理想情况下,敏捷团队的成员不超过10人。通过践行一系列简单的实践和足够的反馈,使团队能够感知目前的状态,并根据实际情况对实践进行调整。 

团队是敏捷的核心 

敏捷是一种团队驱动方法,团队可以简单的地定义为“为实现某一特定目标,包括两个或两个以上的人的相互协作的群体”。敏捷的核心是构建一个自组织的团队,团队的能力在于协作,即两个人或更多人相互交流与合作,以共同地产生一个结果。例如当两个程序员在结对编程时,他们在协作;每人持续集成当日的工作时,他们在协作;当团队开计划、站立、评审、回顾等会议时,他们在协作。协作的结果可以是有形的可交付物、决策或信息共享。 

而对于个人独立开发者,协作、互动、沟通都是无从谈起的: 

自己无法实践结对编程;

自己开站立会议是否很孤单;

自己玩估算扑克牌会不会很无聊;

评审演示没有观众,自然也就没有反馈;

…… 

这里有一个常见误区:独立开发者通常有一定的跨职能工作能力,于是想一人“饰演”多个不同角色,从需求计划整理到任务分解估时,从迭代开发到测试,再到发布、回顾总结。这是不是也在践行敏捷开发呢? 

当然不是。敏捷开发流程中任一环节都强调团队集体参与,并非由某个人独裁发号施令。例如项目计划制定、任务认领、工时评估,这些都不是某一个人的职责,而是需要团队成员来共同参与完成。然而,单个人的开发流程,很容易按部就班地走上了瀑布式开发模式(需求->设计->开发->测试->发布)。

 

[多重人格综合症,并确保精神上的新人是一个专业的“团队成员”]

 敏捷团队中并不会要求每个人都成为全栈通才,在如今技术快速更新迭代的大环境下,期望一个人精通团队的所有技能是不现实的。取而代之的是重视具备跨职能的团队成员,这有助于管理各个工作岗位的平衡。例如,有时团队需要更多的测试人员,如果有一两个团队成员能转做测试工作,就能极大地提供帮助。 

敏捷是关于人,以及他们之间的协作交互,让每个人的能力得以充分的发挥并提升,从而创造优秀的产品。创造优秀产品的是人,而不是流程。所以,独立开发者即便一个人能跨职能走完整个开发流程,这跟敏捷强调的自组织团队中,成员之间高效地协作、交互以达到目标,完全不是一回事哦~

文化是敏捷的保障

很多个人独立开发者尝试引入敏捷的普遍思路,是从各种敏捷方法论中挑选一些个人能用,且有帮助的实践方法来用。这样确实能从中受益,但这真的是在践行敏捷么?

敏捷不只是一套方法论,敏捷也是一种思维模式。很多个人甚至团队尝试敏捷的过程中一个常见问题,是只取其方法实践,而未学其思维模式。这里说的思维模式,通俗讲就是指培养团队能够形成共识的文化,拥有一致的价值观和原则,塑造一个持续学习、自由、积极的团队氛围。以促使团队达到一种能够持续快速地交付有价值有质量的产品或服务的状态。

文化高于实践,成员能否融入团队文化,将会影响团队具体实践的高效程度。良好的团队文化,有利于促进团队内部的信息共享,从而产生更正确的决策。我们有时感觉自己已经引入敏捷了,但实则依旧保持着瀑布式思维,走的瀑布式开发流程,只是单纯学习并采用了一些好的敏捷实践,以至于最终达到的效果很有限。

这里引用《敏捷宣言》作者之一吉姆·海史密斯在他著作的《敏捷项目管理》中的一段总结: 

没有具体的实践,原则是贫瘠的;但是如果缺乏原则,实践则没有生命、没有个性、没有勇气。伟大的产品出自伟大的团队,而伟大的团队有原则、有个性、有勇气、有坚持、有胆量。

写在最后 

我们很难将整个敏捷的思维与方法流程应用到个人的独立开发工作中,因为敏捷需要坚实的团队基础,以及团队文化的保障,方可有效地落地执行。当然,我们并不否认个人可以尝试从敏捷中探索一些可借鉴学习的实践,并从中受益。

您如何看待这个问题呢,或者您是否有过将敏捷应用到个人的开发、工作、学习等方面的成功或失败的经验,欢迎在评论区一起分享交流。

 

参考资料:

《敏捷项目管理第2版》吉姆·海史密斯

敏捷开发网:https://www.minjiekaifa.com/

标签:协作,踏上,实践,开发,开发者,敏捷,团队
From: https://www.cnblogs.com/chanzhi/p/17874416.html

相关文章

  • DevOps|研发提效-敏捷开发之每日站立会
    对于研发效能团队建设和组织,本文不再赘述,可以参考之前的文章,已经讲得很透彻了。本文重点讲我们日常是怎么开站立会,怎么让团队跑起来,高效能产出的。每日站立会,15分钟到30分钟,看似非常短的一个会,但是对团队成功、业务发展有着非常重要的作用。站立会意义团队之间可以在极短的时......
  • Java开发者的Python快速进修指南:自定义模块及常用模块
    好的,按照我们平常的惯例,我先来讲一下今天这节课的内容,以及Java和Python在某些方面的相似之处。Python使用import语句来导入包,而Java也是如此。然而,两者之间的区别在于Python没有类路径的概念,它直接使用.py文件的文件名作为导入路径,并将其余的工作交给Python解释器来扫描和处理。另......
  • 07.Android开发者选项
    1.开启开发者选项点击设置点击关于手机连续点击N次MIUI版本2.常用选项开启开发者选项不锁定屏幕USB调试选择模拟位置信息应用显示触摸操作指针位置调试GPU过渡绘制显示所有“应用程序无响应” ......
  • 龙蜥开发者说:天津大学同学分享“走入龙蜥赛道,推开开源大门” | 第 25 期
     「龙蜥开发者说」第25期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者贾庆林来分享「走入龙蜥赛道,推开开源大门」。欢迎阅读上期故事《那些......
  • 为什么越来越多的企业和开发者会选择使用 Flutter?
    前言今,有很多机会可以降低移动应用程序开发的成本,而十年前唯一能做的就是构建一个原生应用程序。但是原生应用程序的缺点很明显,就是必须花费两倍的开发成本来适配iOS和Android平台差异。随着诸多跨平台方案的兴起,通过单个代码库开发适配多端的应用程序变得越来越流行。Flutt......
  • 供应链安全情报 | 恶意py包伪装代理SDK进行后门攻击,目标锁定python开发者
    概述2023年11月28号,悬镜供应链安全实验室在Pypi官方仓库(https://pypi.org)监测到两起伪装成http和socks5代理SDK的开源组件投毒事件。python开发者一旦下载安装这些投毒Py包(libproxy、libsocks5),会触发执行Py包中的恶意代码,最终将导致开发者系统被投毒者植入恶意后门。这些恶意Py......
  • 2023开发者必备iOS开发工具
    ​工欲善其事,必先利其器。进行开发工作时,利用并熟练使用恰当的工具可以让工作效率得到大幅度提高。下边会介绍一些在进行iOS开发工作时常用的一些工具,本文并不对其进行展开,对使用方法及工作原理感兴趣的同学可以自行进行更深入的研究。 *代码管理XcodeXcode是运行在操作系......
  • elasticSearch开发者工具聚合查询
    index/_searchPOST//index索引{"query":{"bool":{"filter":[//过滤条件{"term":{"business.keyword":{"value":"值",......
  • 进行敏捷开发培训有助于团队更好地理解敏捷方法、提高工作效率和质量,促进团队协作
    ​敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法。它强调团队合作、客户需求和适应变化。进行敏捷开发培训其实有多种原因,我整理了一些,可以作为参考:理解敏捷原则和实践: 敏捷开发不仅是一种方法论,更是一种思维方式和文化。培训能够帮助团队成员了解敏捷的核心原则......
  • Aloudata 余俊:数据虚拟化技术如何实现敏捷高效的逻辑数据集成与链路编排
    一、Data Fabric 与数据虚拟化简介在正式介绍 Data Fabric 之前,我想先回顾一下我们现有的数据仓库体系面临的问题。当提到数据仓库时,许多从事数据工作的人可能会想到 ETL(抽取、转换、加载)和一些技术工具,如 Hive、Hadoop 和 Spark。我在过去十多年一直在数据仓库领域工作,与......