ユーザと作り手とのギャップ解消の方向性
前回、ユーザの望んでいるシステムはどんなものであるかを示したが、そこでは“会社の業務がちゃんと動く骨太の基本構造をシステム化すること”が重要であると言った。そんなことは、すでにやっているし、できているとみな言うのじゃないか思うが、“ちゃんと動く”ということと、“骨太の基本構造”というところがミソで、ここがほんとうにできている企業は少ないのではないでしょうか。そこを考えていこうと思います。
それには、ユーザとシステムの作り手がうまくコラボレーションしてやれているのかという問題と、システム開発の道具とそれによって作られたシステムの構造の問題が潜んでいると思う。
ここでは、前者のコラボレーションの問題について議論する。
“ちゃんと動く”ということは、ユーザの要求と作り手側の要求実現度と最適化レベルが両者のコラボレーションで行われていることが前提だ。
もう少し噛み砕いて言うと、ユーザはまずは現状の業務をベースにシステムを考える。いわゆるAsIsモデルがまずありきで、そこに今困っていることや変えたいことをそこに反映していこうと通常考えます。ただしこれだけで、あるべき姿ToBeモデルができるわけではありません。
そこで、作り手側の登場です。作り手側は、技術的に要求どおりできないことがあったり、運用上やめたほうがよいことなどが出てきます、こうしたできないことは反映しないと言うわけです。この反映のされ方が要求実現度です。ここを無理だ無理だと撥ねつけるのではなく何とか実現してあげたいとすることもあるし、逆にユーザもシステム技術上の無理難題を押し付けることはしてはいけません。このコミュニケーションが大事です。
そして、作り手側は技術的な観点から、こうしたほうがよいとか、こんなこともできますよという積極的なアドバイスをする役割を担っています。今日、この技術ドリブン発想は重要なことです。
システム開発というのは、家作りとか自動車作りに例えられることがありますが、決定的に違うのは使う人が技術が見えないことだと思う。家や車を買う人は何となくどんな部品でどんな技術で作られているのがわかっているのと、作る前に出来上がりイメージがだいたいできるが、システム開発の場合は、使う人はプログラムソース見たって全く分からないし、出来上がってみて初めてこのシステムってこんな風に動くのか分かったとか、そんなことになる。従って、技術を理解している人がきちんとそこを説明し、技術の活かし方や使い方を提案することが、プロのシステム屋のやることではないでしょうか。こうした、相互の歩み寄りで最適化が可能になるのです。
今はそこのところがどうなっているかというと、ユーザに言われたとおり作るか、システムの分からないユーザに意味不明の三文字熟語を並べ、極端な話勝手にシステムを作ってしまう、いわば両極端のケースが多いのではないでしょうか。
これからはこの中間のアプローチが必要で、そのためにはユーザと開発者(この場合はプログラム製造の領域近い)の距離を縮めることをしていかなくてはいけません。それができるのは、中間にいるコンサル、SEなどですから、そこを埋めていく努力をして欲しいわけですが、実際にはうまくできていないように思われます。
「ユーザがその業務、事業をスムーズに実行できるシステムを開発すること」をめざすのではなく、「ユーザがそのシステムを使って自分たちの業務、事業をスムーズに実行できること」をめざすという、この微妙な違いを理解する必要がある。
で、こうしたコラボレーションをベースとしたシステム開発の進め方でぜひ採用して欲しい考え方がある。それは「デザイン思考」という考え方で、そこにある「創造のプロセス」は、システム開発の場でも十分適用できるものである。
これは、慶応大学環境情報学部の奥出直人教授が提案していて、実際に企業のイノベーションを起すための方法論として注目されている。最近、「デザイン思考の道具箱」という本を早川書房から上梓しているので、その中から、基本的な概念を紹介する。
プロセスは全部で7つのステップから成っている。
ステップ1 哲学とビジョンを構築する
ステップ2 技術の棚卸とフィールドワーク
ステップ3 コンセプト/モデルの構築
ステップ4 デザイン- デモンストレーション用プロトタイプをデザインする
ステップ5 実証
ステップ6 ビジネスモデル構築
ステップ7 ビジネスオペレーション
こうしたプロセスは、まさにこれからのシステム開発のあり方に多くの示唆を与えてくれる考え方であると言える。次回にこの詳細について述べる。要は、ユーザや開発者が一緒になってシステムをデザインしていこうじゃないか、それが役に立つシステムを作ることにつながるということが今回言いたかったことです。