10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

速览:软件开发中的 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:334978
用户头像

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

关注

评论

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

数据结构进阶(一)稀疏矩阵

No Silver Bullet

稀疏矩阵 6月月更

spring的BeanFactory和ApplicationContext

程序员欣宸

Java spring 6月月更

InfoQ 极客传媒 15 周年庆征文|Dubbo入门实战:Spring + Zookeeper + Dubbo

No Silver Bullet

zookeeper 架构 dubbo 6月月更 InfoQ极客传媒15周年庆

远程办公经验分享 | 社区征文

Geek_ac6fb9

初夏征文

浅析分布式系统之体系结构-事务与隔离级别(多对象、多操作)下篇

snlfsnef

Es6新特性——箭头函数

大熊G

JavaScript 前端 6月月更

tornado环境搭建及基本框架搭建——熟悉的hello world

孤寒者

Python tornado 6月月更 hello world

这篇SpringCloud GateWay 详解,你用的到

牧小农

SpringCloud Gateway

谈谈远程工作 | 社区征文

大菠萝

初夏征文

详解Java中的值传递

工程师日月

6月月更

Fabric.js 动态设置字号大小 🎄

德育处主任

canvas 前端可视化 FabricJS Fabric.js 6月月更

Django 介绍与安装

海拥(haiyong.site)

django 6月月更

SDN系统方法 | 5. 交换机操作系统

俞凡

架构 网络 sdn SDN系统方法

safePoint讲解及其安插思路分析

北洋

6月月更

远程办公经验 | 社区征文

弑着去忘记う

初夏征文

Vue-6-计算属性

Python研究所

6月月更

InfoQ 极客传媒 15 周年庆征文|Webpack 性能优化措施汇总

No Silver Bullet

性能优化 前端 webpack 6月月更 InfoQ极客传媒15周年庆

你还不懂线程池的设计及原理吗?掰开揉碎了教你设计线程池

C++后台开发

线程 线程池 后端开发 Linux服务器开发 C++后台开发

【sql语句基础】——删(delete) /改(update)

写代码两年半

数据库 sql :MySQL 数据库 6月月更

网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)

赖猫

音视频 流媒体

【LeetCode】 极大极小游戏Java题解

Albert

LeetCode 6月月更

C#入门系列(十一) -- 多维数组

陈言必行

C# 6月月更

有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?

汪子熙

云原生 SAP abap Netweaver 6月月更

【高并发】关于线程池,蚂蚁金服面试官问了我这些内容!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

Linux开发_ Linux命令复习与文件目录复习

DS小龙哥

6月月更

利用 VSCode 的代码模板提高 MobX 的编码效率

岛上码农

flutter ios 前端 安卓开发 6月月更

浅谈居家办公后的感想| 社区征文

雪雷

居家办公 初夏征文

485天,远程办公的 21 条心得分享|社区征文

悟空聊架构

远程办公 悟空聊架构 热门活动 初夏征文 社区征文

开源项目那么多,这次带你了解个版本的区别,明白alpha版、beta版、rc版是什么意思

迷彩

开源 记录 6月月更

测试基础之:黑盒测试

甜甜的白桃

测试用例 黑盒测试 6月月更

InfoQ 极客传媒 15 周年庆征文|容器运行时技术深度剖析

liuzhen007

容器 运维 热门活动 InfoQ极客传媒15周年庆

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