Building Block and System Thinking
システムズ・エンジニアリングを形作る考え方の一つとしてBuilding Blockと呼ばれるものがある。日本語では要素還元主義と呼ぶのが正しいと思うけど、要するに複雑で大きなシステムでも、上手に分割を繰り返すことで、扱いやすい要素にまで小さく分けられると言う考え方だ。
牛を一頭、丸のまま調理して食べろと言われても難しいけれど、ちゃんと部位毎にさばいてやって、さらに小さく、ステーキや角切りにしてから調理すればおいしく食べられる、と言えばイメージが湧くだろうか。
この前、マグロ一匹を頭蓋骨とひれを残して丸々綺麗に食べてしまったテレビ番組が有ったが、あれは見事だった。
話を戻そう。
システム開発においても、大きなシステムを開発するにあたっては一人の専門家が請け負える程にシステムや活動を分割して、チームで分担して仕事をすることで大きなシステムを開発することになるのだが、このときに牛やマグロを料理するのと同じように考えてしまうと大きな間違いを犯しかねないので注意が必要なのだけれど、意外に気づいていない人が多いらしいと言うことを知って驚いている。
どういう事かというと、最近チームで仕事をしていても、自分の責任範囲を厳密に決めたらその範囲に関する事と、他人とのインターフェース部分についてしか関心のない人をちらほら見かける。そして本人は非常に論理的にシステムズ・エンジニアリングの考え方を実践しているように考えていたりするから驚いてしまった。
料理と違ってシステム開発ではばらした要素を全て集めて繋ぎ合わせ、一つのシームレスなシステムとして機能させる必要がある。要素に分割しても上手く行くのは、最終的に統合したときにどうなるかをちゃんと考えておいてこそだ。局所最適化された要素を繋ぎ合わせても最良の物ができあがるとは限らない。システム全体を考えて、時には部分的に非効率な事を受け入れる自己犠牲的な決断が必要な時もあるし、要素の境界を変更したりという柔軟な対応が求められることもある。
だからこそプロジェクトマネジメントの体系PMBOKでいうプロジェクト憲章(Project Charter)を定めるようになっているし、SEではミッション要求やシステム要求をきちんと定義する。そしてリーダーだけではなく、チーム全員がそれを常に意識しながらプロジェクトに貢献する。
それこそがゴール思考であり、システム思考だと思う。
| 固定リンク


コメント