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

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

公開:
💡 「ムダを削ぎ落とせ」トヨタ流の知恵がコードの世界にも
📌 このページのポイント
リーンソフトウェア開発の7原則 1. ムダの排除 不要な機能・待ち時間を削減 2. 品質の作り込み 後工程でなく最初から品質確保 3. 知識の創出 実験と学びを繰り返す 4. 決定を遅らせる 情報が揃ってから判断 5. 速く届ける 小さく早くデリバリー 6. 人を尊重する チームに権限を委譲 7. 全体を最適化 部分最適でなく全体最適 トヨタ生産方式の「7つのムダ」をソフトウェア開発に翻訳 by メアリー&トム・ポッペンディーク(2003)
リーンソフトウェア開発の7原則のイメージ
ひよこ ひよこ
リーンソフトウェア開発って、普通のアジャイルとどう違うの?
ペンギン先生 ペンギン先生
アジャイルが「変化への適応」を重視するのに対して、リーンは「ムダの排除」にフォーカスするんだよ。方向性は似ているけど、切り口が違うんだ
ひよこ ひよこ
ソフトウェア開発のムダって、たとえばどんなもの?
ペンギン先生 ペンギン先生
使われない機能を作ること、不要なドキュメント、待ち時間、担当者間のタスクの受け渡し、バグの手戻りなどだね。調査によると、開発された機能の約65%はほとんど使われないというデータもあるんだよ
ひよこ ひよこ
7つの原則って全部覚えないとダメ?
ペンギン先生 ペンギン先生
全部覚える必要はないけど、特に大事なのは「ムダの排除」「品質の作り込み」「決定をできるだけ遅らせる」の3つだね。特に3つ目は面白くて、情報が足りない段階で決めるとムダが生まれやすいから、判断を先延ばしにするほうが合理的なんだ
ひよこ ひよこ
「決定を遅らせる」って、先延ばしとは違うの?
ペンギン先生 ペンギン先生
いい指摘だね。ただの先延ばしとは違って、「選択肢を残しておく」という戦略なんだよ。たとえばデータベースの選定を最初に決めず、インターフェースだけ定義しておけば、後から最適なものを選べるよね
ひよこ ひよこ
リーンの考え方を取り入れると現場はどう変わるの?
ペンギン先生 ペンギン先生
WIP(仕掛かり中の作業)を制限してフロー効率を上げたり、バリューストリームマッピングで開発プロセスの流れを可視化したりするんだ。カンバンボードはまさにリーンの思想から生まれたツールだよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「リーンソフトウェア開発」って出てきたら「トヨタ式のムダ排除をソフトウェア開発に持ち込んだ手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Lean Software Development」 = 無駄のないソフトウェア開発
💬 メアリー&トム・ポッペンディーク夫妻が2003年に体系化したもので、「Lean(リーン)」は「贅肉のない、引き締まった」という意味だよ
← 用語集にもどる