リーン開発 とは?
- トヨタ生産方式の「ムダの排除」「ジャストインタイム」をソフトウェア開発に応用
- 7つの原則: ムダの排除・学習の増幅・決定の遅延・迅速なデリバリー・チームへの権限委譲・全体の最適化・品質の作り込み
- MVPで最小限の機能をリリースし、学習しながら改善するアプローチと相性が良い
- リーンスタートアップとして起業の方法論にも発展した
トヨタの工場の話がなんでソフトウェア開発に関係あるの?
トヨタは「必要なものを、必要な時に、必要な分だけ作る」ことでムダを減らした。ソフトウェア開発でも「誰も使わない機能を作る」「承認待ちで開発が止まる」「バグを後から直す」といったムダがたくさんある。これを排除する考え方がそのまま使えるんだ。
具体的にソフトウェア開発の「ムダ」って何?
代表的なのは「未完成の作業(作りかけの機能)」「余分な機能(使われない機能)」「引き継ぎ(情報の伝達ロス)」「待ち時間(レビュー待ち・承認待ち)」「バグ(欠陥の手戻り)」など。これらを減らすだけで開発速度は大きく変わる。
アジャイルとはどう違うの?
アジャイルは「短いサイクルで繰り返す」という進め方の枠組み。リーンは「ムダを省いて価値を最大化する」という思考法。実は対立するものではなくて、アジャイルの中にリーンの考え方を取り入れて使うことが多い。カンバンはまさにリーン思考をアジャイルに持ち込んだ手法だよ。
リーンスタートアップって聞いたことあるけど、関係あるの?
Eric Riesがリーン開発の考え方を起業に応用したのがリーンスタートアップ。「仮説を立てる→MVPで最小限の製品を作る→データで検証する」というサイクルを回す。大きな計画を立てる前に小さく試して学ぶ、というリーンの本質がそのまま使われている。
「決定の遅延」って先延ばしとは違うの?サボってるように聞こえるけど…
真逆だよ。「情報が少ない段階で早まった決断をしない」という意味。例えばデータベースの選定を開発初日に決めるより、ある程度データの特性がわかってから決めた方が良い判断ができる。ただし「決めるべき時には素早く決める」のがセット。判断材料が揃うまで待ち、揃ったら即決する。これが「責任ある遅延」だよ。