これまでの業務システム開発はいろいろな意味で限界が来ているように感じて、このようなタイトルで議論してきましたが、やはり重要なことは、技術だとかメソドロジーだとかもあるのですが、思想とかコンセプトだと思うのです。最後にそのあたりを考えてみます。
一番感じるのは、システムとは人間が使うものでありながら、それに使われている感じを変えたいということなのです。“仕事をやらされている感”を払しょくできないのかということです。ITを使って楽しく、気持ちよく仕事をしたいのです。
そうした思いから今のシステムを眺めるとどうも不十分であると思うのです。その理由は何かと、いろいろな角度からゼロベースで、どこが間違っているのか、どこを変革しなくていけないのか考えたのがこれまでのエントリーでもあったのです。
その主張のざっくりとした答えは、「重心をデータベースアプリケーションからプロセスアプリケーションへ」ということかもしれません。データベースへの出し入れが基本の仕組みももちろん大事ですが、そのデータベース間をつなぐプロセスがおろそかになっていると感じています。そこを中心に据えたらどうかという提案です。
それと、シンプルという意味も考えさせられました。シンプルにという概念は非常に重要ですが、それはへたするとすべてを単純化してしまうというワナにはまる可能性があるということです。実は、業務システムというのは非常に複雑でかつ重層的なものであるから、単純に括れないということであって、簡単にこんなものですとは言えません。
ですから、大事なのはちゃんと構造化をして、それぞれの部位での特徴や性格を見極めて、そこで定義することが大事なのです。この構造化というのは「抽象化」とういうことも含んでいます。抽象度を間違わないように設定して、それぞれの抽象度レベルで概念化することがとても重要です。
そうして、構造化、概念化された中で、それぞれの領域や要素では極力シンプルに考えることが要求されます。このシリーズでも、例えばプロセスのレベルによってその機能の性格が違うとか、ソフトウエアの開発とアプリケーションの構築は、手法も違うといったこと盛んに言ったのはこのことです。
どうもそういうことを一緒くたにして議論する人が多く、かみ合わないことがあります。こうした前提をきちんと共有して議論したいものです。いちおう。このシリーズはこれで終わりますが、またいろいろと勉強して、頭のなかが“整いました”らまた暫時エントリーしていきたいと思います。

コメント (2)
和田さん
非常に、クリアな説明ありがとうございます。
敢えて、対論するとすると、
アプリケーションポートフォリオのような
考え方が重要に思います。
つまり、アプリケーション開発を、
仕様の個別性の高さ(汎用ソフトが困難)
仕様の変更期間
仕様確定の容易性、仕様自体の変更の頻度
この2つの視点の組合わせで、アプリの寿命、Webサービス化の意義などが決まってきそうです。
仕様の個別性が高く、かつ仕様変更期間が短い
アプリの寿命が非常に短い
BRMツールなどを用いた変更対応をするか
自動生成ツールで手を入れずに使う
仕様の個別性は高いが、仕様変更期間が長い
アプリの寿命が長い
長期にメンテすることを前提とした基本設計
仕様の個別性が少なく仕様変更期間が短い
アプリは共通
Webサービスなどの活用
仕様の個別性がすくなく、仕様変更期間が長い
パッケージ化可能
Webサービスの活用
業務システムを作る上で、上記のアプリの組合せが発生すると思いますので、その特性を捉えて戦略的な?開発アプローチが必要と思います。
いかがでしょうか。
投稿者: 横川 | 2010年09月10日 12:35
日時: 2010年09月10日 12:35
横川さん、コメントありがとうございます。
このエントリーでも書いてあるように、構造化して、それぞれの構造に合った対応を行うというの必要です。そのために、分かりやすいのが4象限的な整理ですね。そのときの縦軸、横軸に何を持ってくるかがキーです。
仕様の個別性と仕様変更期間というのは、ひとつの見方としてはなるほどと思います。参考にしてみます。
投稿者: mark-wada | 2010年09月12日 10:32
日時: 2010年09月12日 10:32