ユーザのためのシステムを作るんですよね
第1回目は、誰のためのシステムなのかということから始める。こんなことは皆当たり前に分かっているとお思いでしょうが、実は、勘違いも含めて、え、そんなことも分かってないのということがある。
最近、ある二つのカンファレンスに出席してみて感じたことが、そのあたりの状況を見てとれる。それは、「Developers Summit 2007」と「経営とITの融合(KIU)」研究会主催の「第1回 アジャイル・エンタープライズ・カンファレンス」で前者はソフト開発者の集まりで、参加者の多くがプログラマーやSEの若い人たちであり、後者はどちらかというと企業の情シ部門の人だとかSIベンダーのコンサルタントの人だとか、比較的年配が多いカンファレンスであった。
簡単にいえば、システム開発というのは、ユーザとSIベンダーのコンサル・SEとソフトハウスのプログラマーという三者の協業で作られる。この場合、企業の情報システム部門はユーザなのかSIベンダーなのかだが、そこは、情報システム子会社も含めてSIベンダーのほうに入れて考えたほうがよいだろう。そういう意味では、「Developers Summit 2007」プログラマー主体、「第1回 アジャイル・エンタープライズ・カンファレンス」はコンサル・SE主体であり、ユーザの参加は少なかったように思える。
そこで感じたことは、この三者の間のギャップなのです。別な言い方をすれば、システム開発の上流設計から製造までのプロセスが分断されているというか、うまく受け渡しがなされていないように思える。
要件定義は、経営戦略的にこうすべきだから、そのためのビジネスのゴールを設定して、それが実現できるように仕様を決めていくべきだと言われても、それはあくまでSIベンダーサイドの言い分であって、ユーザは本当にそう思っているの、ユーザのプロジェクト担当者だけ思っていることではないのとツッコミたくなる。
また、開発者サイドも自分たちの得意エリヤで、自分たち独特の言い回しで、自分たちだけで楽しむという一種のムラ意識があるように感じる。彼らのセッションでは出席者から「アウエーの雰囲気だったけど・・・」というような言葉も出てくる。どうも上流のビジネスプロセスがどうのこうのということに興味がないようだ。
ユーザからみると困ったもので、このギャップを埋めて欲しいと願っている。ただそれがすぐにできるとは思えない。なぜなら、本質的なあるいは構造的なといったほうがいいかもしれないがそういう問題が潜んでいる。
どういうことかと言うと、ユーザとSIベンダーとの間で言えば、両者の利益が相反するということが一番大きい。SIべンダーは自分たちの商品が売れればいいし、開発にかかった工数分の費用がもらえればいいのであって、それによってユーザの事業の役に立っただとか、収益に寄与したかなどどうでもいいのだ。実際にどこもがそうやっていると言っているわけではなく、本来的にそういう体質を持っているということなのだ。
開発者の場合について言えば、技術をというか技能といったほうがいいかもしれないが、それを極めるには必然的に足元の世界にのめりこむ。だから、同様にビジネスに貢献するとかという思考回路はあまり働かない。
開発者は無関心、SIベンダーとユーザはお互い嘆きあう構図はもううんざりだ。さて、どうしたらいいんだろう。そこはこれからの議論で追々詰めていくことになるが、少なくとも、「システムとはユーザのためにある」ということはよろしいでしょうな。
それで次回は、そのユーザとは誰のことかというテーマで書こうと思います。