発注者が知っておくべきリーンソフトウェア開発7つの特徴とは何か

更新日:2017年06月21日 | 公開日:2016年10月11日

「リーンソフトウェア開発」は、もともと製造業で展開されてきたリーン生産方式をソフトウェア製品に適用した開発手法のことです。日本のみならず世界の製造業のトップに立っているトヨタ自動車の生産方式(TPS)の影響を大きく受けています。
製造業とソフトウェア開発では生産方式に大きな違いがあるのではないかと思われるかもしれませんが、リーンソフトウェア開発がTPSから取り入れたものは何だと思いますか?

なお、よく混同されるベンチャー企業の立ち上げでよく出る「リーン・スタートアップ」、「リーンソフトウェア開発」はその内容が大きく異なります。

リーン・スタートアップの発想とアジャイル開発の関係については、「発注者こそ知っておくべき!最新のソフトウェア開発技術アジャイルとリーン・スタートアップの関係とは?」も参照してみてください。

リーンソフトウェア開発の基本となる7つの原則を確認しよう

パソコンを操作する人

リーンソフトウェア開発は、すぐに使えるノウハウ集や、直ちに役立つ実践的なフレームワークといった形ではなく、まず、ソフトウェア開発を実践するときの行動指針を「7つの原則」にまとめています。

リーンソフトウェア開発7つの原則
  • 原則1.全体を最適化する
  • 原則2.ムダをなくす
  • 原則3.チームに権限委譲する
  • 原則4.学習を強化する
  • 原則5.早く提供する
  • 原則6.品質を作り込む
  • 原則7.決定を遅らせる

なかなか魅力的な指針が並んでいますが、原則7には「決定を遅らせる」という「え!?」と思わせるような言葉も出てきています。決定を早くするというのが、あらゆるマネジメントの基本中の基本では? と思ってしまいますが、この原則の7は、トヨタの生産方式(TPS)核心部分と深い関係があります。

それでは、順番に見ていきましょう。

リーンソフトウェア開発「7つの原則」はどのような内容を指すのか見てみよう

パソコンのキーボード

原則1.全体を最適化する

全体の最適化というと少々抽象的ですが、「木を見て森を見ず」状態を避けることだと考えれば理解しやすくなります。つまり、ソフトウェア開発の最終目的はソフトウェアを設計通りに作り上げるだけでなく、ソフトウェアの開発によって、「コスト削減」や「売上アップ」などの重要な目的を達成したりすることにあるのだ、という原則を中心に据えるということです。

納期には強引に間に合わせたけど、当初予定していたような「コスト削減」につながるような成果物とならなかった、という場合、部分的(納期)に最適化されてしまったという失敗例となってしまいます。

原則2.ムダをなくす

最終的な製品の価値の向上に関係のないムダを徹底的に排除します。ここでいうムダとは「使われないコードや余分な機能」「余分なプロセス」「作業の引き継ぎ」などを指します。それに対して必要なムダ(実際にはムダではない)とは、開発プロジェクトの優先順位を検討し直す、テストに充分に時間をかけるなどを指します。

原則3.チームに権限委譲する

現場のプログラマーにもソフトウェア開発プロセス改善の権限や、テストでの積極的な発言権などを与え、トップダウン型による硬直化された納期・目標管理の弊害を排除します。

原則4.学習を強化する

顧客に目に見える形で開発途中段階の製品を提示し、顧客からのフィードバックから学習していく態度を推奨します。すでに完成された設計図を設計図通りに完成するということではなく、常に最良の価値を求めて、原則1にある全体の最適化を実現化するために、途中での学習を積極的にソフトウェアの開発にフィードバックしていきます。

原則5.早く提供する

納品前にテストを見せて提供するということではなく、ソフトウェアの開発のプロセス中に連続的に価値のある製品を顧客に提供します。途中段階で完成形を次々とリリースしていくアジャイル型開発の理念と共通しています。

原則6.品質を作り込む

リーンソフトウェア開発では、製品をリリースするまでにソフトウェアの開発中に、下記のような品質保証を実施します。

品質保証
  • 顧客の開発参加
  • テスト駆動開発
  • リファクタリング
  • ソフト間の不具合チェックなどの継続的結合
  • テスト自動化
  • 頻繁な反復デモとフィードバック

原則7.決定を遅らせる

決定を遅らせるとは、必要な決定事項を先延ばしにするということではありません。その反対に、決定がほんとうに必要になるまで、事前にムダな決定をしないというジャスト・イン・タイムの思想が、リーンソフトウェア開発における「決定を遅らせる」ということの本質です。

【まとめ】リーンソフトウェア開発方式がフィットするタイプとは

以上、ソフトウェア開発における「リーン生産方式」の導入のされ方を見てきました。この態度を突き詰めいていくと、最初に仕様書を決定するウォーターフォール型ではなく、柔軟に途中段階で学習しながら最終的な価値を高めていく、アジャイル型ソフトウェア開発の思想に近づいていくことがお分かりいただけると思います。

自社のソフトウェア開発が「最初に納期や計画ありき」ではなく「柔軟に考え方を変更しながら最終的に価値のある製品を作タイプ」のものであれば、このリーンソフトウェア開発方式は非常にフィットするでしょう。

日本最大級の発注業者比較サイト『アイミツ』ではシステム構築に関する専門知識を持ったコンシェルジュが、信頼のおける業者を完全無料で紹介することができます。

まずはお気軽にお問い合わせください。すぐれたコンシェルジュが、あなたの会社に合った企業選びを全力でお手伝いさせていただきます。

見積もり、取ってますか?

発注をする際に最も大切なことは適正価格を知ることです。
3~4社から見積もりを取ることで、
発注への納得度を高めることができます。

コンシェルジュ

発注は時間も手間もかかりますよね?

コンシェルジュが解決します!

コンシェルジュに相談、あなたにあった業者を提案、発注の手間を削減!

完全無料

まずはお気軽にご相談ください