InfoQ:軟件開發中的7大浪費

 

個人觀點:

此文章挑戰現有的開發團隊組織結構

究竟需要誰來設計,誰來實現。 誰來爲浪費的資源買單!

 

軟件開發中的7大浪費

精益軟件開發的基本原則是追求浪費最小化。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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章