【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

macOS 查看文件内容常用的命令小结

iHTC

LeetCode 1396. Design Underground System

liu_liu

LeetCode

Centos7 编译安装Nginx

Kevin Liao

nginx 编译 安装

排序系列快排/内省

脚动两轮男之漂流小王子

排序系列堆/二分插入

脚动两轮男之漂流小王子

能够实现的想法才有价值

伯薇

创业 创意 点子 商业价值

leetcode8. 字符串转换整数 (atoi)

Damien

算法 数学

Centos 7 安装RabbitMQ(RPM)

Kevin Liao

RabbitMQ RPM安装

程序员的macOS系列:高效Alfred进阶

iHTC

我的编程之路-1(启蒙)

顿晓

编程 入门 启蒙 经历 故事

排序系列插入/希尔

脚动两轮男之漂流小王子

排序系列bogo排序

脚动两轮男之漂流小王子

python面向对象的魔法方法详解

半面人

Python

去掉美颜和滤镜后的数字货币

亨利笔记

比特币 区块链 数字货币 DCEP libra

排序系列之选择/冒泡

脚动两轮男之漂流小王子

创业的使命是什么

Neco.W

创业 重新理解创业

在InfoQ上开博的第一天

罗琦

开博 文章链接

UITableView 手势延迟导致subview无法完成两次绘制

AlienJunX

排序系列鸡尾酒/地精

脚动两轮男之漂流小王子

程序员的macOS系列:Mac开发环境配置

iHTC

从每个Python文件快速得到项目根目录的绝对路径

良少

Python 路径 绿色

排序系列归并/timsort

脚动两轮男之漂流小王子

第三方支付概述

cf

支付 网联 备付金

第一次手动编译openjdk11

py ploughman

jdk

Centos 7 使用Firewalld

Kevin Liao

Centos 7 防火墙 Firewalld防火墙 Firewalld

做一个好产品的初衷:用户值得

池建强

创业 产品 写作

排序系列计数/基数

脚动两轮男之漂流小王子

如何建立你自己的开发知识体系

iHTC

程序员的macOS系列:精选Mac App

iHTC

程序员陪娃漫画系列——当她想吃的时候

孙苏勇

程序员 生活 陪伴 漫画

开张咯~

李绍俊

生活 随想

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