【りーんそふとうぇあかいはつ】

リーンソフトウェア開発 とは?

💡 「ムダを削ぎ落とせ」トヨタ流の知恵がコードの世界にも
📌 このページのポイント
リーンソフトウェア開発の7原則 1. ムダの排除 不要な機能・待ち時間を削減 2. 品質の作り込み 後工程でなく最初から品質確保 3. 知識の創出 実験と学びを繰り返す 4. 決定を遅らせる 情報が揃ってから判断 5. 速く届ける 小さく早くデリバリー 6. 人を尊重する チームに権限を委譲 7. 全体を最適化 部分最適でなく全体最適 トヨタ生産方式の「7つのムダ」をソフトウェア開発に翻訳 by メアリー&トム・ポッペンディーク(2003)
リーンソフトウェア開発の7原則のイメージ
ひよこ ひよこ

リーンソフトウェア開発って、普通のアジャイルとどう違うの?

ペンギン先生 ペンギン先生

アジャイルが「変化への適応」を重視するのに対して、リーンは「ムダの排除」にフォーカスするんだよ。方向性は似ているけど、切り口が違うんだ

ひよこ ひよこ

ソフトウェア開発のムダって、たとえばどんなもの?

ペンギン先生 ペンギン先生

使われない機能を作ること、不要なドキュメント、待ち時間、担当者間のタスクの受け渡し、バグの手戻りなどだね。調査によると、開発された機能の約65%はほとんど使われないというデータもあるんだよ

ひよこ ひよこ

7つの原則って全部覚えないとダメ?

ペンギン先生 ペンギン先生

全部覚える必要はないけど、特に大事なのは「ムダの排除」「品質の作り込み」「決定をできるだけ遅らせる」の3つだね。特に3つ目は面白くて、情報が足りない段階で決めるとムダが生まれやすいから、判断を先延ばしにするほうが合理的なんだ

ひよこ ひよこ

「決定を遅らせる」って、先延ばしとは違うの?

ペンギン先生 ペンギン先生

いい指摘だね。ただの先延ばしとは違って、「選択肢を残しておく」という戦略なんだよ。たとえばデータベースの選定を最初に決めず、インターフェースだけ定義しておけば、後から最適なものを選べるよね

ひよこ ひよこ

リーンの考え方を取り入れると現場はどう変わるの?

ペンギン先生 ペンギン先生

WIP(仕掛かり中の作業)を制限してフロー効率を上げたり、バリューストリームマッピングで開発プロセスの流れを可視化したりするんだ。カンバンボードはまさにリーンの思想から生まれたツールだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「リーンソフトウェア開発」って出てきたら「トヨタ式のムダ排除をソフトウェア開発に持ち込んだ手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Lean Software Development」 = 無駄のないソフトウェア開発
💬 メアリー&トム・ポッペンディーク夫妻が2003年に体系化したもので、「Lean(リーン)」は「贅肉のない、引き締まった」という意味だよ
← 用語集にもどる