写点什么

速览:软件开发中的 7 大浪费

  • 2009-08-13
  • 本文字数:920 字

    阅读完需:约 3 分钟

精益软件开发的基本原则是追求浪费最小化。TPS 总结了制造业的 7 种主要浪费,而 Poppendiecks 已经把它们引入到我们软件开发的领域中。Jack Mulinsky 最近在 agilesoftwaredevelopment.com 上发表了系列文章对这些浪费进行一一介绍。

该系列文章的第一篇讨论了 **部分完成工作 ** 这一浪费。软件中的这种情况相当于精益制造业中的“进行中的清单”,Mulinksy 认为这是所有浪费中最极品的部分。他对“进行中的工作”这种浪费归纳如下:

  • 已完成但尚未签入的代码
  • 没有相关说明文档的代码
  • 未测试的代码
  • 没人使用的代码
  • 被注释掉的代码

第二篇文章中,参考那个众所周知的统计数据:在现有的软件应用程序中,多达三分之二的功能几乎或从未被使用过,Mulinsky 提出 **额外的功能 **(制造业中的“生产过剩”)这一浪费。除此之外,他还指出什么是直接浪费(开发的花费而不是人员)以及什么是间接浪费(更多的功能意味着更多的代码以及更高的维护复杂度)。

Mulinsky 的第三篇文章关注的是软件 **再学习/ 返工 ** 的浪费,这对应于精益制造业理论中的“额外处理”这一浪费。他用了这样一些浪费的例子来描述了他的想法,包括:

  • 糟糕的计划
  • 低劣的质量
  • 在不同的任务间切换
  • 不足的沟通和知识积累
  • 没有相关说明文档的代码

这一系列中的第四篇(写此文时最新的部分)讨论的是 **交接 ** 带来的浪费,软件中的交接相当于制造业中的“运输”。他提到了以下一些可能产生浪费的技术方面的例子:

  • 开发人员之间的代码交接
  • 开发人员和测试人员间软件的交接
  • 软件从开发到部署的交接

Mulinsky 应该很快会继续其余 3 个软件浪费的话题:在不同的任务间切换延期缺陷。软件浪费这一概念,是由 Mary Poppendieck 和 Tom Poppendieck 在他们两本非常出色的精益软件方面的书《Lean Software Development: An Agile Toolkit for Software Development Managers》和《Implementing Lean Software Development: From Concept to Cash》中提出的。如果这是你和这一概念的第一次亲密接触,敬请期待 Mulinsky 的后续大作。

同样,对那些很熟悉这些观点的朋友们,不妨分享一下你们觉得浪费是怎么在软件开发中产生的,你们又是如何消除它们的?这会对大家都有很帮助。

查看英文原文: A Quick Look At The 7 Wastes of Software Development

2009-08-13 09:335096
用户头像

发布了 114 篇内容, 共 39.2 次阅读, 收获喜欢 2 次。

关注

评论

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

论文解读丨无监督视觉表征学习的动量对比

华为云开发者联盟

视觉 无监督学习 无监督视觉 表征学习 动量对比

TDengine助力曲靖卷烟厂有效提升时序数据存取效率

TDengine

数据库 tdengine 后端

AI运动:阿里体育端智能最佳实践

阿里巴巴终端技术

最佳实践 端智能

这可能是,Flutter 中最“强悍”的内存泄漏检测方案......

阿里巴巴终端技术

flutter ios android 内存泄漏

企业数字化转型与SAP云平台

汪子熙

SAP 11月日更 SAP数字化转型 SAP云平台

CSS奇技淫巧之滤镜

Augus

CSS 11月日更

She Builds Summit|邀您一同感受她的科技力量!

SphereEx

开源 AWS SphereEx 潘娟

译文|选择 Apache Pulsar 而非 Kafka 的 10 个理由

Apache Pulsar

kafka 架构 云原生 中间件 Apache Pulsar

云小课 | 网站接入WAF失败怎么办?看这里就够了

华为云开发者联盟

华为云 Web应用防火墙 接入WAF失败 故障排查

ETL和数据建模

大数据技术指南

11月日更

Python 中的反转字符串:reversed()、切片等

华为云开发者联盟

Python 切片 反转字符串 reversed 反转

博文推荐|Pulsar 的消息存储机制和 Bookie 的 GC 机制原理

Apache Pulsar

存储 Apache Pulsar 消息中间件 Apache BookKeeper bookie

GaussDB NoSQL架构设计分享

华为云开发者联盟

nosql 云原生 GaussDB 超融合 多模数据库

时序序列分类算法概述

云智慧AIOps社区

大数据 算法 时间序列 智能运维

containerd镜像层过大问题

ilinux

一图看懂 Apache ShardingSphere 5.0.0

SphereEx

数据库 开源 ShardingSphere

告诉你!操作系统是个大骗子!

博文视点Broadview

纪念林徽因

虚拟机与容器的混合管理实践

安第斯智能云

Kubernetes 后端 云化底层的那些事

Vue进阶(幺玖幺):ECharts 实现地图功能

No Silver Bullet

Vue eCharts 11月日更

到底什么样的ABAP系统能运行Fiori应用

汪子熙

SAP abap Fiori 11月日更

Apollo选型及优势介绍

小鲍侃java

11月日更

Kafka中的数据不丢失机制及CAP理论详解

五分钟学大数据

11月日更

亿磐获评《新闻周刊》2021年度最受雇员喜爱工作场所

InfoQ_434670063458

亿磐 EPAM 新闻周刊

APP上运行小程序的混合移动研发模式

Speedoooo

容器 ios开发 APP开发

Black Hat Europe 2021议题解读:Wi-Fi Mesh中的安全攻击面

百度安全

Black Hat Wi-Fi Mesh

dart系列之:在dart中使用packages

程序那些事

Java flutter dart 程序那些事 11月日更

火出边际的Serverless,你居然还不了解?

华为云开发者联盟

云计算 Serverless 运维 云原生 敏捷

博文推荐 | 一文带你看懂 Pulsar 的消息保留和过期策略

Apache Pulsar

架构 云原生 中间件 干货 Apache Pulsar

博文推荐|Pulsar 存储空间不释放的问题分析与解决方法

Apache Pulsar

架构 云原生 Apache Pulsar 技术干货 BookKeeper 存储空间

潜藏在手机中的新威胁:免安装应用安全指北

安第斯智能云

安全 移动端

速览:软件开发中的7大浪费_研发效能_Mike Bria_InfoQ精选文章