Data+AI时代,如何打造下一代数智平台? 了解详情
写点什么

让敏捷团队提高软件质量

  • 2014-08-27
  • 本文字数:1875 字

    阅读完需:约 6 分钟

长时间的工作制度、最后期限和团队的压力会影响敏捷团队交付的软件质量。我们做些什么可以防止这种情况发生,使团队能够改善他们的软件质量呢?我们的建议是:把范围和最后期限安排得松一点、采用拉动式系统、让大家放慢节奏并得到充足的休息。

Michael Thomsen 在福布斯发表了一篇文章《缺乏睡眠导致高科技创业公司的高失败率》。据他介绍,高科技产业痴迷于任何时候都要把事情完成,而这不一定总是好事。

具有讽刺意味的是,人们加班开发的往往都是无比糟糕的产品想法,绝大多数都是以失败告终的。高科技产业容易让人产生一种幻想,那就是几个人用笔记本电脑就能创造巨额的利润,而实际上创业公司的失败率却高达四分之三。它是偏执野心家们的神话么?就算躺在床上他们都在痴迷地工作,这其实是在瞎胡闹,会造成常见的功能失调。把不停地工作看成是正常的事情,这鼓励了很糟糕的文化氛围,在把想法转化为实际产品的过程中一直充斥着紧张地情绪,一直在苦苦地支撑。

早前 InfoQ 曾经报导过《如何实现并改进平稳的工作效率》,文中关于向团队施加压力和加班的工作对软件质量的影响引用了以下几段话:

Christoph Baudson:若干调查显示,在加班的第一周里生产力有所上升,但它将会快速下降并最终低于每周 40 小时标准下的生产力水平。在加班过程中,人们无法意识到其认知能力的下降,这将导致出错并最终降低质量等级。

Neil Killick:我们要求团队交付的用户故事越多,团队能够花在质量方面的时间就越少,他们更容易选择抄近路,技术债务也就更容易出现,而且也会更容易伤害到团队文化和效率,团队拥有的乐趣也会变得更少,团队的脑子会变得更迷糊,而对于交付软件我们也会更加难以预知。

Travis Birch 在文章《敏捷企业领导反思》中解释说,如果团队没有压力,采用敏捷可以提高软件的交付质量:

对于敏捷过程和实践的投入,从其本质上来说不仅是在提高质量,而是持续地改进质量,其目标是能够不断地交付有质量(价值)的产品。这么做可持续增强频繁交付的能力。然而,在被最后期限驱动的推动式思维或文化下,这些统统都是不可能的。

与其对团队施加压力,企业领导需要安排合理的范围和最后期限,以改进软件质量:

如果在过程改进专家和转型团队的支持下,企业领导能够为团队营造出宽松的组织文化,那么团队将有余地去真正重视持续地质量改进。在实现真正的、可测量的敏捷价值之路上这是一个很关键的里程碑。应在企业需要与团队的日常工作间建立起平衡和谐的关系,尽管这也需要他人的支持,但企业领导所处的独特位置对此大有裨益。

拉动式的系统思维可以支撑起自组织团队的应用,它们使用燃尽图来管理工作、提高软件开发的生产效率和交付软件的质量:

要想理解燃尽图的意义,这取决于是否能够从推动式系统范式转变到拉动式系统范式。在推动式系统中,燃尽是好的,但无关紧要。而对于致力于敏捷转型(向自我管理的团队拉动式系统)的组织来说,这是一个非常重要的跳板,是持续质量改进的核心。

Olga Kuzina 发表了一篇文章《五件事让你可持续地高效工作》。她指出,我们需要得到足够的高质量的睡眠,这样在工作中才能有良好的表现,才能交付高品质的产品:

在曾经流传的办公室超级成就者的英雄传奇中,把睡眠当做是在浪费时间,建议人们尽可能地减少睡眠时间。事实证明,睡眠对我们的健康和业绩是至关重要的。关于睡眠,最重要的是我们的工作地点是 _ 办公室 _。我们不是建筑工人,他们只要待在室外做体力工作就能保持清醒。而只要盯着屏幕思考的工作,任何人都甩不脱瞌睡虫的打扰。如果你的身体希望得到充足的深度睡眠,你就需要满足它。没有什么技巧能让你解决这个问题。我们所有与健康有关、进而与工作表现有关的问题,其根源都在于我们对待睡眠的粗心态度。越早地开始关心睡眠问题,我们就更有可能长期地交付高质量工作。

Huffington Post 发表了一篇名为《为什么睡眠是你的头等大事》。HuffPost 的主席兼主编 Arianna Huffington 解释道,无论工作还是生活,要想成功拥有良好的睡眠都至关重要。我们与其用大量地时间去工作,不如拿出充足的时间给睡眠:

这个世界迫切地需要伟大的想法——很多重要的思想就锁在我们的内心深处……我们只需要闭上眼睛去领会它们。所以,女士们和先生们,关闭你们的发动机,然后去睡上一觉吧。

在帮助团队改善其软件质量方面,你都做了些什么呢?

查看英文原文: Enabling Agile Teams to Improve Software Quality


感谢夏雪对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-08-27 07:132174

评论

发布
暂无评论
发现更多内容

一文看懂 OAuth2

Geek_z9ygea

Java 大前端 Web oauth2.0

开发者必备——IDEA配置清单

Noneplus

配置 IDEA

数据结构与算法知识点总结

烟雨濛濛

重学 Java 设计模式:实战访问者模式「模拟家长与校长,对学生和老师的不同视角信息的访问场景」

小傅哥

设计模式 小傅哥 重构 代码优化 访问者模式

Python中的@staticmethod和@classmethod的区别

BigYoung

Python classmethod staticmethod

漫画 | 架构设计中的那些事

码农神说

架构设计 架构师 漫画编程

浅析 VO、DTO、DO、PO 的概念、区别和用处!

Java小咖秀

学习 设计模式 模型 经验分享

Linux 进程必知必会

苹果看辽宁体育

Linux 操作系统

性能碾压 POI !利用模板语法快速生成 Excel 报表

葡萄城技术团队

表格控件 GCExcel 服务器端开发

推荐一款Python开源库,技术人必备的造数据神器!

狂师

Python 开源 自动化 开发工具 开发数据

还在划水?这个SQL你能写出来吗?

书旅

php MySQL SQL语法 sql查询

不是完成你学习的 KPI ,而是要形成指导你行动的 OKR

非著名程序员

学习 程序员 提升认知 知识管理

Python类中的__new__和__init__的区别

BigYoung

Python __init__ __new__

一些思考

张健

JVM中栈的frames详解

程序那些事

JVM 堆栈 性能调优 JIT GC

工厂方法模式

Leetao

Python 设计模式 工厂方法模式

猿灯塔:spring Boot Starter开发及源码刨析(二)

猿灯塔

Java 猿灯塔 源码刨析

图片处理不用愁,给你十个小帮手

阿宝哥

Java 开源 大前端 工具 图片

SpringBoot入门:00 - 初始化项目

封不羁

Spring Boot java 14

Java集合总结,从源码到并发一路狂飙

给你买橘子

Java 编程 算法 集合

字节跳动面试经验分享,已拿 Offer!

伍陆柒

Java 面试 大厂

Node.js与二进制数据流

自然醒

Java node.js 大前端 二进制

30 张图带你分分钟看懂进程和线程基础知识全家桶

爱嘤嘤嘤斯坦

Java 线程 进程 进程线程区别

​区块链技术的重要性

CECBC

Redis进阶篇三——主从复制

多选参数

redis redis高可用 redis6.0.0 Redis项目

关于计划的思考

zhongzhq

信创舆情一线--《关键信息基础设施安全保护条例》纳入2020年立法计划

统小信uos

信息安全

带你解析MySQL binlog

Simon

MySQL Binlog

mac vmware centos7 设置静态IP

愤毛阿青

network vmware Centos 7

Tomcat8.5源码构建

知春秋

tomcat tomcat构建 tomcat源码解读 tomcat剖析

Rust是如何保障内存安全的

博文视点Broadview

读书笔记 rust

让敏捷团队提高软件质量_语言 & 开发_Ben Linders_InfoQ精选文章