現代のソフトウェア開発で構成管理が重要になった理由
プロジェクト管理ツールBacklogを作っているヌーラボ社の開発者が書いた記事「現代のソフトウェア/サービス開発で構成管理が重要になった理由」がとても分かりやすいのでメモ。
構成管理がソフトウェア開発のサプライチェーンの一部になってきたのが原因ではないかと思った。
ラフな感想。
【元ネタ】
DevOps時代の開発者ための構成管理入門(1):現代のソフトウェア/サービス開発で構成管理が重要になった5つの理由 (1/2) - @IT
DevOps時代の開発者ための構成管理入門(1):現代のソフトウェア/サービス開発で構成管理が重要になった5つの理由 (2/2) - @IT
【1】記事では、構成管理が重要性を増してきた理由として以下が挙げられている。
【1】簡単になってきたプログラミング
【2】クラウド(PaaS)の登場
【3】さまざまな用途のツールの進化
【4】ソフトウェアビジネスの移り変わり―アジャイルへのシフト
【5】リーン型の開発プロセスの重要性の高まり
RedmineやJenkinsやGitなどのツールの隆盛、クラウドの普及、アジャイル開発への注目度の高まりなどの昨今の流れを見ると、ソフトウェア開発をもっと効率化しようとする流れ、つまり、リーンソフトウェア開発の流れが背景にあるように思う。
リーンソフトウェア開発の発端は、トヨタ生産方式(TPS)にあると言われる。
僕はTPSはよく知らない。
でも、その発想の根底には、「いかに効率良く在庫管理すべきか」という命題がある気がする。
【2】在庫は、売れる前の製品や商品を倉庫に保管しておくのだから、在庫回転率が悪いほど、資産価値は劣化する。
在庫問題の構造を把握するために : タイム・コンサルタントの日誌からにもあるように、在庫があると在庫金利が発生して、余計にコストがかかる。
金利がかかるということは、住宅ローンや消費者金融のように、借金にプラスアルファのコストがかかっているということを意味している。
かと言って、在庫がゼロであると、売りたい時、本来売るべき時に手元に製品や商品がないために、販売機会を失い売上が立たない。
JITのような優れた在庫管理と思われていた手法も、東日本大震災などの天災でサプライチェーンがズタズタにされた時は無力だった。
良い在庫・悪い在庫 : タイム・コンサルタントの日誌からでは、安全在庫、計画在庫という概念で、在庫という概念を区別しようとしている。
また、その在庫はストックですか、フローですか? : タイム・コンサルタントの日誌からの記事にもあるように、15年醸造したウィスキーの方が価値があがる場合、在庫とはそもそも何なのか?
【3】BtoB企業とサプライチェーンの強者 ~これから就活をする大学3年生へ : タイム・コンサルタントの日誌からでは、自動車、家電、農業の3つの分野で、サプライチェーンを分析している。
図1 自動車業界のサプライチェーンを見れば、トヨタやホンダ、マツダなどの自動車組み立てメーカーが何故あれほど強いのか、ということがよく分かる。
組み立てメーカーの鎖が一番細いから、彼らが価格決定権を持っている。
図2 電機業界のサプライチェーンを見ると、ソニーやパナソニック、シャープなどの家電組み立てメーカーが苦境に陥っている理由がよく分かる。
組み立てメーカーよりも量販店の方が現代では強い立場にいる。
また、各メーカーがお互いに部品を融通しあっているので、製造計画がマチマチですぐに在庫が膨れ上がる構造がある。
図3 農産物のサプライチェーンを見れば、青果市場が価格を決定しているけれど、天災で農産物は出来不出来がバラつきやすいし、そもそも野菜などは長期間在庫できないから、変動性が高い。
サプライチェーンを作ること自体難しい。
この記事では、生産者から消費者までのサプライチェーンを分析することで、消費者(顧客)へ価値をもたらすには何を改善したら良いのか、どこに問題があるのか、をひと目で分かるようにしてくれているのが興味深い。
【4】すると、ソフトウェア開発のサプライチェーンはどうなっているのか?
ウォーターフォール型開発では、要件定義→設計→開発→テスト→リリースというV字型で流れていく。
一番無駄が多いのは、要件定義とテスト・リリースの工程だろう。
要件定義で要件を聞き漏れていたから、仕様漏れが出て手戻りが発生したり、リリースした後で、こんな機能ではなかった、と言われる時がある。
設計して開発した後、テストで動かしてみて、初めて性能要件を満たしていなかった事実が判明したり、まずい設計のためにバグが多すぎた、とか分かったりする。
アジャイル開発が注目されてきている理由の一つが、要件定義の工程で顧客を巻き込む、ないし、内製開発することでプロダクトオーナーと開発チームが一体化することで、要件の取りこぼしや仕様漏れ、リリース後の認識の食い違いをなくそうとしているのだろう。
また、V字型の流れそのものがサプライチェーンとして長過ぎるならば、もっと短くした方がいい。
だから、タイムボックスでのアジャイル開発もその問題解決になると思われているのだろう。
また、構成管理が重要になってきた理由は、テストやリリース工程の作業が従来は手作業だったり、数多くのプロセスを踏むために時間がかかりすぎていた問題点を解決しようとする流れの一つと捉えることもできるだろう。
業務モデリングの分野では、サプライチェーンの管理(SCM)がとても重要で、問題解決するためにモデル化の技法が数多く生み出されてきた歴史がある。
SCMの基本は在庫管理といってもいいだろうと思う。
この考え方はもっと深めてみる。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart1~CSFはWBSみたいなものと捉える(2023.02.14)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
「ビジネス・歴史・経営・法律」カテゴリの記事
- ビジネス書の名著はどれ?(2023.09.18)
- 営業は顧客の”購買代理人”である(2023.08.16)
- 第85回IT勉強宴会の感想~概念データモデルからビジネスモデルを構築すべきという考え方(2023.05.13)
- 令和4年度春期試験のITストラテジスト試験第4問をastahでモデル化してみた(2023.04.15)
- ChatGPTで起きている事象の意味は何なのか(2023.04.02)
「Redmine」カテゴリの記事
- 「RedmineのUbuntu+Docker構築への移行」の感想 #redmineT(2024.11.24)
- 第27回redmine.tokyo勉強会の感想 #redmineT(2024.11.10)
- Redmineのバージョン設定でプロジェクトの設定方法が違う(2024.06.23)
- ウクライナのRedmine開発者が作ったRedmineテーマやプラグイン(2024.06.18)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
「ソフトウェア工学」カテゴリの記事
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
「チケット駆動開発」カテゴリの記事
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
「Agile」カテゴリの記事
- 「世界一流エンジニアの思考法」の感想(2024.12.08)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
「Jenkins」カテゴリの記事
- 第12回東京Redmine勉強会の感想 #redmineT(2017.05.14)
- 技術的負い目の記事がすごい(2016.01.03)
- RedmineとGitLabを連携すると、RedmineをGitHub化できるか(2014.10.17)
- 「チーム開発実践入門」が発売されている(2014.04.08)
- 最近、ツールとプロセスを組合わせたソフトウェア開発手法の本が増えている(2014.04.03)
コメント