前回の主旨で述べたように今の業務システムを変えたいと言っています。ということは、現状に様々は問題があって、その問題を解決していこうということでもあります。その問題あるいは課題とはいったい何なのだろうか。そこをきちっと分析して本質的な課題を抽出しないと方向がずれてしまいます。
個々の領域については細かく見ていくことにしますが、現状の業務システムおよびそれを取り巻く環境を俯瞰してみると、どうも「ビジネスとIT」、「ユーザとベンダー」といった両岸の間に流れる“誤解”の川があるような気がします。そこにかなりの部分の問題が潜んでいるように思えるのです。
何年もの間、「経営とITの融合」、「ビジネスに貢献するIT」、「ビジネスマインドをもったSE」だとか両者をうまくつなぐことの必要性は謳われていながら、現実には乖離があるのは否めないのではないでしょうか。
その誤解について少し見ていくことにします。そして、この誤解を解くことがギャップを埋める第一歩かもしれません。
(1)業務システムは開発するものだ
ほとんどの人が業務システム開発という。これから販売管理システムを開発するのだという。では一体誰が開発するのですか?システム側の人が業務の仕組みを開発するのですか?
どうも、開発プロジェクトを起こし、そこで業務システムを開発してしまっているのではないのだろうか。だから、プロジェクトは混乱するわけで、そこでは業務(プロセス・機能)を開発してはいけないのです。DevelopmentとConstructionの違いであることを理解すれば、実際のシステム構築の場ではコードを書かないことが大切だとわかると思います。
業務システムというものはユーザがITとは関係なく自分たちのビジネスを強くするためにプロジェクトとは別に開発しておくわけで、それをあらかじめ開発されたソフトウエアを使って組み立てればいいのです。
これって、建築のケースで考えればわかりやすいと思いますが、家を建てるとき“家を開発する”とは言いませんよね。都市とか生活スタイルを開発するとはいいますし、機能的な建材を開発するともいいますよね。そういう感覚で業務システムを作ることを薦めます。
(2)システムを作ることが目的である
さて、業務システムを構築するというが、それだけが目的になってやしないだろうか。もうおわかりでしょうが、作って終わりではなく、それを使ってビジネスや業務を行い、それが役に立ってもらうことが真の目的になります。
そして、この役に立つというのは、皆さんつい忘れがちですが、オペレーションエクセレンスということで、作った瞬間ではなく、それを使っている日々の中で優れた機能やサービスを提供し続けられるかです。
(3)正しいシステムが役に立つ
だれでも、システムを“正しく”作ろうとします。そのための作り方の本もたくさん出ているし、それに異を唱えるひとはいません。しかし、それでいいのでしょうか。少なくとも正しいシステムであれば必ず役に立つとは言い切れないのは確かだと思います。
このことは何を意味しているかというと、見方を逆にすること、すなわち、役に立つシステムであれば正しくないシステムでもいいということになります。
システム屋さんはこういうことを言うとすぐに、正しくないシステムを作るとパフォーマンスが出ないとか、セキュリティが問題だとか言う。そういうことを言っているのではなく、まずは役に立つものを作ってからの話でしょということです。極端なことを言えば、何もシステム化しないほうが役に立つかもしれない、そんなこともあり得るということを頭に入れておくことも必要ではないでしょうか。
(4)業務知識がないとだめだ
よく言われることに、システムエンジニアの人たちに向かって、業務の経験がないからだめだとか、業務知識をもったユーザのいうとおりにすればいいのだとかがあります。これはほんとうでしょうか。そんなに業務経験、業務知識が必要なのでしょうか。
すこし意地悪風に考えてみましょう。まず、その業務経験と業務知識って標準的かつ普遍化されたものでしょうか。違いますよね、もろ属人的なものです。ですから、いつも豊かな経験と豊富な知識がある人がいるとは限りません。わずかな経験と貧弱な知識の人がプロジェクトにアサインされることはいくらでもあって、悲劇の引き金になります。
せっかく、要求定義をしてもプロジェクトの後半やテストの段階になって、”比較的”豊かな経験と知識をもつ、いわゆるキーパーソンが出てきて今までのものを覆してしまうこともよく見かけることです。その人でも本当に客観的に標準にできる要求を出せているかというとおおかたの場合心もとないのではないでしょうか。
ですから、どうしてもユーザがビジネス要求定義をしなくていけないとは思わないのです。前に言ったようにいい加減なユーザが定義したものをシステム化するほうが厄介になることもあるわけで、そうであれば、ユーザ側もシステム側のない、科学的な定義のしかたができれば、こうした誤解は解消されるのです。
ただ、誤解の誤解をしてはいけないのは、だからといってユーザがだめだと言っているのではありません、むしろユーザは意外と賢いということを肝に銘じたほうがいいと思っています。その賢さを引き出すことが大事なのです。
(5)要件定義が大事である
ここでは、「要求定義」と「要件定義」の違いを理解することです。「要求定義」というのは最近やっとその重要性が指摘され出してきていますが、これまでは特にわが国ではあまり語られることが少なかったように思います。
いきなりRFPを書いて(これもユーザではなく、ベンダーが書いてしまうケースもあります)、要件定義に入ります。そうするとどうなるかというと、前に書いたように要件定義に従って、そのとおりにシステムは作ったのだが、いざ動かしてみると使い物にならなかったという事態になります。
それは、要求定義でビジネス上の要件を抽出してそれを仕様化することをしていないからです。ですから、要件定義も大切ですが、それ以上に重要なことはこの要求定義をきちんとやることなのです。
そういうことができていないから、ビジネスの要求がシステムに反映されていないというユーザ側の不満と、ちゃんと言ってくれないからそうなるのだというシステム側の不満がぶつかることになってしまうのです。
(6)経営者はITを使って経営をすべきだ
一見なるほどそうだと思われるでしょうが、そうなのでしょうか。まず、ビジネスと一括りで言っていますが、その中には、経営・事業・業務というようなレベルがあります。
この最上位に経営というものがあって、これは経営者(陣)がこれにあたります。そして経営というのはいったいどういうことなのかであるが、それを考えるとき“社長の関心事は何か”という問いに答えるのがわかりやすいかもしれない。
おそらく多くの経営者の関心は、「事業構造論」と「人事」だと思っています。自社の事業ポートフォリオをどうするのか、そのために企業あるいは事業買収あるいは売却をどうするのかです。そして、それをだれにやらせるのか、おれの後継者をだれにするのかを絶えず考え続けているのです。
そうなると、はたしてそうしたことにITが要るのでしょうか。ある程度の情報は要るかも知れませんが、ITを使って何かをするというふうにはならないでしょう。
ですから、むしろここで言いたいのは、ITは事業に貢献するものであり、業務の効率を上げることに寄与できるもとと位置づけるのがよいでしょう。あまり大上段にふりかぶって「経営とITの融合」なんて言わないほうがいいように思うのです。あくまで、「事業とIT」くらいでいいのではないでしょうか。
これらの“誤解”をよく考え、それを解いていくことが大事であると思うのです。このことは何を意味するかというと、視点を変えてみたら、常識を疑ってみたら、既成概念をこわしてみたらという、今までと違う見方をあえてしてみることでまた新たな発想が生まれてくるような気がするのです。