阅读更多

0顶
0踩

非技术
建立和维护一个高性能的软件开发团队是一个持续努力的过程。挑战范围包括从竞争激烈的市场中吸引优秀人才到提供有趣和富有挑战性的工作,以及组建团队结构和促进人员成长。

我们很幸运地工作在一些致力于提升交付质量和频率的软件开发团队,并且我们发现了一些非常的常见阻碍团队快速地推出优质软件的结构和做法:



1:“DevOps”孤岛

特别是随着一个团队的成长,或者可能是为了填补当前团队技能集中存在的差距,我们会被诱惑着在团队中或团队周围建立单独的功能以执行特定的工作岗位。

我们看到的最常见的表现是操作(通常成为DevOps或基础设施),而且在操作中任何基础设施相关的任务需要这个单元中的某个人执行。我们认为这在软件交付的重要组成部分——部署和运行的周围增加了没有必要的边界。

我们宁愿看到真正的DevOps技能植入到软件交付团队中,让这些团队能够端到端地交付他们的应用程序,并负责地运行他们的应用程序。

2:缺少权力

我们经常能看到权力缺乏和表现不佳之间呈现了高度的相关性。一个团队需要能够管理自己每一天的工作负荷,能够做出技术决定以及,如有必要的话,还能改变他们的工作方式。

一个团队被给予小单位的高规格的工作的地方,并且自上而下做出决定的地方,很可能就是那里你会觉得冷漠的地方。

我们发现如果给予团队一个明确的、注重商业效益的理念,并且授权去弄清楚交付的最佳方式,那么团队执行最佳。

3:隔离利益相关者

在一些组织中可能存在不鼓励或不允许交付团队与利益相关者接触的结构或做法。一个高性能的团队需要与那些软件发布的利益相关者进行定期和开放的交流沟通。

除了惯常的论坛,例如kick-off会话和案例展示,可用来促进对话,我们鼓励使用通信工具,例如Slack,促使利益相关者和开发人员之间能够进行持续的讨论。

4:单枪匹马和团队人员过多

我们发现最佳的团队规模是2至4人。对于大多数人来说,在只有1个人的团队中工作比起和其他人一起工作更缺乏问责和社会互动。

当团队规模开始超过大约4人的时候,沟通会变得困难起来,并且会降低团队的责任感。

5:质量是所有人的工作

关于质量挑战一个太过于常见的回应是,试图通过引入专门的工作岗位,或者甚至更糟的是,引入测试来解决这个问题。在那些团队和生产运行的软件之间感知到安全网的地方,责任水平会下降,然后质量紧跟其后。

通过鼓励质量成为团队的责任,接受例如同行审查的做法,以及自动化测试技术地不断采用,我们看到了更好的成功。

6:功能优先于技术债务

在商业交付截止期限和跟上技术债务之间有一个平衡。如果不保持平衡,技术债务会迅速阻碍团队的交付能力。

团队乐意累积技术债务,或领导者乐意对此视而不见,是一些在我们开始和一个软件开发团队工作时可以立马识别和需要改善的行为模式。

一个团队需要被授权并被鼓励去向他们的Product Owner推销偿还技术债务的好处,这样技术债务就可以随着功能开发一起解决掉。

7:在团队建设上投资不足

在建设一个有凝聚力的团队时谨记一些基本知识非常重要。促进大量的社会活动来为团队提供论坛,让团队能够享受彼此工作之外的企业氛围,同时为个人提供学习和更好地保持自己进步的机会。

提高任何团队的幸福感、生产力和凝聚力仍然需要持续的努力,而并且需要定期修正方向。如果你想要构建一个高性能的软件交付团队,那么我们会建议你强硬地雇用人才,并投资于可以提供定期反馈循环的实践行为,以帮助你植入一种经常反省和不断改进的文化。

译文链接:http://www.codeceo.com/article/7-problems-to-avoid-build-team.html
英文原文:7 Problems to Avoid When Building a Software Team
翻译作者:码农网 – 小峰
  • 大小: 22.1 KB
来自: 码农网
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • robocode智能坦克代码

    2002 robocode Rumble中级组冠军代码,可以直接import

  • robocode_摇滚,袜子,Robocode!

    Robocode是一个易于使用的机器人战斗模拟器,可在支持Java 2的所有平台上运行。您可以创建一个机器人,将其放置在战场上,并使其与其他开发人员创建的对手机器人进行激烈的战斗。 Robocode带有一组预制的对手,可以帮助您入门,但是一旦超出对手,您就可以与世界上最好的联盟中的世界上最好的联盟对抗,进入自己的创作。 每个Robocode参与者都使用Java语言的元素来创建自己的机器人,...

  • Robocode教程(命令简介)

    robocode机器人的简易命令介绍手册

  • Robocode简介

        Robocode    什么是 Robocode?    Robocode 是 2001 年 7 月在美国 IBM 的 Web alphaWorks 上发布的坦克机器人战斗仿真引擎。Robocode 是一位 IBM 的工程师 Mat Nelson 用 Java 语言所创造的机器人战斗仿真引擎。Robocode 不是一个完整游戏,它是个半成品,你所做的就是为你的机器人坦克编写智能程序,让它能...

  • Robocode:下载安装及迁移至IntelliJ

    文章目录资源迁移至IntelliJ杂 资源 robocode-1.9.3.7-setup.jar 下载好后双击安装就可以了 想看源码可以移步 GayHub源码 迁移至IntelliJ 参考 要注意的是设置path时默认会放到新建一个out目录下 出现ClassNotFound的话应该是这里出了问题 所以直接扔到robots下面就可以了 游戏里的表现就是找不到已经编译好的class 设置好了以后可以...

  • 如何在IDEA启动多个Spring Boot工程实例

    在我讲解的案例中,经常一个工程启动多个实例,分别占用不同的端口,有很多读者百思不得其解,在博客上留言,给我发邮件,加我微信询问。所以有必要在博客上记录下,方便读者。 step 1 在IDEA上点击Application右边的下三角 ,弹出选项后,点击Edit Configuration step 2 打开配置后,将默认的Single in...

  • 在IDEA中找回MyEclipse的感觉!

    序 博主大概用了3年多MyEclipse,因为某些原因得使用 IntelliJ IDEA。有点像自废武功一样,面对IntelliJ IDEA瞬间懵逼。但是没有改变也就不可能存在进步,博主也就只好硬着头皮上了。正好业内也在辩MyEclipse、IntelliJ IDEA到底哪个更好,看过千千万万种言论,不如自己身体力行来一回,下面我们正式开启IntelliJ IDEA之旅吧! Intel

  • 一段robocode经典代码

    一段robocode经典代码,教你如何编写robocode

  • 经典Robocode例子代码--Snip…

    原文地址:经典Robocode例子代码--SnippetBot作者:韩雪[b]经典Robocode例子代码[/b] [b] - -SnippetBot[/b] 看过了Robocode的文章,对Robocde有了个大概了解,现在我我们就一个经典的Robocode例子源代码来分析Robocode也java之间是多么的天衣无缝。 经典Robocode新手入门例子,包括了移动,雷达

  • robocode源代码

    可以直接用,1.7的环境就可以,大家试试看吧,祝大家好运

  • robocode参考代码

    robocode参考代码robocode参考代码robocode参考代码robocode参考代码robocode参考代码robocode参考代码robocode参考代码robocode参考代码robocode参考代码robocode参考代码robocode参考代码robocode参考代码

  • robocode雷达锁定代码

    robocode坦克机器人编程雷达锁定原代码,即时可用

  • Java开发坦克机器人Robocode视频课程(61集)

    资源名称:Java开发坦克机器人Robocode视频课程(61集)资源目录:【】001_[Robocode简介及创建第一个机器人].何足道【】002_[Robocode环境安装及机器人运动命令run简介].何足道【】003_[机器人运动控制的命令].何足道【】004-1_[Robocode中的运行控制命令详解].何足道【】004-2_[Roboco 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

  • Robocode教程7——雷达锁定,“观察者号”

    摘自:http://site.douban.com/widget/notes/7736245/note/211198836/   Robocode教程7——雷达锁定在这次教程中,我们要写这样一个代码,它将让敌人逃不出我们的眼睛。雷达锁定是一个高效战斗机器人的基础,因为robot只有执行onScannedRobot方法,我们才能够获取敌人的信息,而onScannedRobot方法只有在我们的雷达...

  • robocode 1.9

    IBM的坦克大战,传闻很容易上瘾哦! 指挥你的坦克冲锋陷阱,消灭其他渣渣吧

  • Robocode

    Robocode是2001年7月在美国IBM 的Web alphaWorks上发布的坦克机器人战斗仿真引擎。与通常玩的游戏不同的是:参赛者必须利用对机器人进行编程,给机器人设计智能来自动指挥它,而不是由键盘、鼠标简单地直接控制。Robocode是一种有趣的竞赛性编程,使用几行简单的代码,就能够让你创建一个活生生的机器人,一个真正的在屏幕上与其他机器人互相对抗的机器人。你可以看到它在屏幕上四处疾驰,

  • 人工智能 Java 坦克机器人系列: 遗传算法

    遗传算法(Genetic Algorithm, GA)是近几年发展起来的一种崭新的全局优化算法。本文将讲解这种算法,并介绍如何 Robocode Java 坦克机器人中采用此算法以实现机器人进化。遗传算法遗传算法(Genetic Algorithm, GA)是近几年发展起来的一种崭新的全局优化算法。1962年霍兰德(Holland)教授首次提出了GA算法的思想,它借用了仿真生物遗传学和自然

  • Robocode教程3——Robo机器剖析

    摘自:http://site.douban.com/widget/notes/7736245/note/210064112/    从这开始,我们将系统地学习Robocode,从原理到内容。首先,我们来认识一下我们的小robotRobo机器剖析一个机器人坦克包括以下3个部分:     机身(Body) –机身上面载着大炮...

Global site tag (gtag.js) - Google Analytics