AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

算法攻关-爬楼梯最小花费_0076

小诚信驿站

刘晓成 小诚信驿站 28天写作 算法攻关 爬楼梯最小花费

大作业附件1

三笠

网上签约备案系统-需求文档

新盛

Zookeeper.03 - 实现分布式锁

insight

zookeeper 3月日更

uc01. 备案合同

新盛

大作业6

YING꯭YING

大作业--APP的注册与登录

王一凡

产品经理训练

初识Golang之语法基础介绍

Kylin

读书笔记 3月日更 Go 语言

从容一些,不必赶「Day 25」

道伟

28天写作

ECMAScript 2017(ES8)新特性简介

程序那些事

ecmascript 程序那些事 ecmascript 2017 es8

GoPath模式和GoMoudle模式的相爱相杀

happlyfox

28天写作 3月日更 Go 语言

Wireshark 数据包分析学习笔记 Day14

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

电影AI修复,让重温经典有了新的可能

华为云开发者联盟

AI 电影 华为云视频 视频增强 经典

怎么找属于自己最优的2B增长模型?

boshi

销售管理 SaaS 七日更

EGG公链生态项目——EFTalk上的巴莱特定律

币圈那点事

区块链

第 8 周作业 _ prd

园子

知识图谱上的图神经网络

博文视点Broadview

朋友,你听说过跨域吗

河磨

spring CORS 跨域

“时间”都去哪儿了?性能调优分析方法与案例详解

京东科技开发者

数据库 客户端

图解堆排序

Silently9527

Java 排序算法 堆排序

大作业—产品文档

三笠

产品

翻译:《实用的Python编程》06_02_Customizing_iteration

codists

Python

什么时候编程语言不重要

soolaugust

编程语言

架构实践全景图

博文视点Broadview

JVM笔记 -- 来,教你类加载子系统

秦怀杂货店

Java JVM 类加载 虚拟机

一招让Kafka达到最佳吞吐量

万俊峰Kevin

kafka go-zero Go 语言

C/C++ 性能优化背后的方法论:TMAM

vivo互联网技术

c c++ 性能优化 cpu

第8周大作业

八达鸟

故事开始了,Python 图像算法取经之旅 365 天的第 1 天

梦想橡皮擦

28天写作 3月日更

少些爹味才是好爹——再谈自主性

Justin

心理学 教育 28天写作 游戏设计

上万字详解Spark Core(建议收藏)

五分钟学大数据

大数据 spark 28天写作 3月日更

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