JavaとJavaEEプログラマのブログ

JavaEEを中心にしたをソフトウェア開発についてのブログ

スーツ族がアジャイルな手法を発見したよ。ITに巨額投資はもう必要ない―600億円の基幹システムを60億円で構築したJメソッド導入法

ITに巨額投資はもう必要ない―600億円の基幹システムを60億円で構築したJメソッド導入法

ITに巨額投資はもう必要ない―600億円の基幹システムを60億円で構築したJメソッド導入法


投資効率と開発効率を突き詰めると、やはりアジャイルな手法に行き着くのだという本です。
この本の中では「Jメソッド」と名付けられています。プログラマーから見た「Jメソッド」は数々のアジャイルな手法を使ったモデリング手法を、ソフトウェア開発に詳しくない人間にも利用できるようにしたものです。
ドメイン駆動設計などに詳しい人には退屈な内容かもしれませんが、実際の業務に使われる書類を一つの部屋の中に全て並べ、色テープなどを使ってその関係性を明示し、改善や仕組みの理解を容易にする大規模なペーパープロトタイピングと言うべき(この本ではペーパーモデルと呼ばれています)手法などは是非ともやってみたい手法のひとつです。

惜しむらくは、ソフトウェアへの実装部分が時代遅れなこと。
I/Oを細かく分解して、それぞれのI/Oに応じた小さなモジュールを作り、それらの組み合わせにより効率性と柔軟性と安全性を高めることができるというのが本書の主張。
ソフトウェア業界では、何年も前に以下の理由で捨て去られたアイディアです。

  • 他の機能と組み合わせることができるモジュールの開発は困難。
  • 細かく分けた結果、開発効率・処理効率が悪化する。
  • 細かい機能を組み合わせても、その組み合わせ、組み合わせる順番の誤りによるバグは退治しにくい。
  • 言語・実行環境の高機能化により、数多くのモジュールが標準で存在しているのに、再利用性を考えてまで細かい部品を作るのは無駄。
  • I/Oの繋がりでは表現できない機能まで無理矢理I/Oの繋がりに分解してしまうことで、必要としていた機能を歪めてしまう。

しかも、そのモジュールの信頼性は「沢山の人が使っていれば安全で信頼できるよ」といういい加減ぶり。
第7章は切り取ってゴミ箱に捨てましょう。ソフトウェアエンジニアを馬鹿にしているみたいだし。

では、どのように実装すればいいのかというと…「モデルをそのまま実装しろ!」の一言に付きます。
第6章までに紹介されたペーパーモデルは、すでに実装が可能なレベルに達しています。
JavaScalaなどのオブジェクト指向言語と実装を強力に支援するフレームワークを利用すれば、ペーパーモデルをそのまま実装できます。
I/Oに分解するのは無駄な工程です。その分はテスト駆動開発手法による自動テストの充実にあてるべきです。
それらの最新のソフトウェア開発の知見を利用すれば、コストは本書が掲げているように10分の1以下で、高信頼性を確保できるでしょう。

実装部分は貧弱ですが、その他の業務のモデリングや社内の巻き込み方、意思統一の部分は非常に参考になりました。
アジャイルな手法で従来のSIerを何とかしたい方にオススメです。
もちろん、IT投資を効率化したい方々にも。


現在のIT投資の大部分は水ぶくれした無意味な開発工程を莫大な人件費を使って、なぞるためだけに使われています。
その開発工程から産み出される外部設計書や内部設計書といった書類が、あなたのビジネスに何の利益ももたらしていないことが改めて理解できるはずです。