「あの、こういうプログラム作って欲しいんですけど」
「具体的にはどういうものなの?」
「あの、こういう作業してるんですけど、これを自動化したいんです」
「ええと……何かイメージはあるの?」
「あの……、そういえば伝わるかなあと思いまして」
「……期待通りのものになるかどうかはわからないけど、何とか作ってみるよ」
メンバーのプログラムを業務に取り入れたいという気持ちを消すわけにはいかないので、システム担当は想像できる範囲でサンプルプログラムを作ってみた。
「ちょっと作ってみたけど、試してみてくれる?」
「えっ、もうできたんですか?はい、早速使ってみますね」
「あの、これって何のボタンですか?」
「ああ、これはこういうボタンだけど……」
「あっ、そういうことですか!わかりました、ありがとうございます」
システム担当は、システム開発の仕事に携わっているにも関わらず、すっかりユーザー感覚であるメンバーに愕然とした。
「……このプログラムはあくまでも試作だから、要望があるなら言ってね」
「はい、あのこれもいいんですけど、もっとこんな感じだと助かるのですけど……」
「……具体的に、紙でもHTMLでもいいから、まずはイメージをまとめてみた方がいいかもしれないね」
「でも、プログラムのことは……」
「プログラムをどう作るかはこっちで考えるから、そこは気にしないで」
メンバーは、自分があまりうまく伝えることができなかっただけだと思っていた。
言葉で伝えられないのなら、図解でもいいから、表現する。
それはシステム担当の言うとおりだと思った。
そこで、改めて自分自身で何が必要でどういう動きをさせるのかを考えてみた。
すると、ほとんど頭の中では具体的なものがないことがわかった。
そんな状態でシステム担当に作ってくれとお願いしたことを恥ずかしく思った。
確かに最初は、プログラム自体が自動にできるものだと思っていた頃もあったが、毎日のようにシステム担当がプログラムを地道に作成しているのを見ていたはずだった。
しかも、メンバー自身がプログラムを設置したり、動作確認をしたりしていたのだから、プログラムを作るにはどういった情報が必要かぐらいはわかっていたはずだった。
メンバーは、いつもシステム担当が出していた例を思い出した。
カレーを作ってください。
これをカレーを作ったことのある人に依頼する場合は、出来上がりは多少違うかもしれないが、それなりに仕上げることはできるだろう。
ところが、まだ一度もカレーを作ったことのない子供にお願いしたらどうだろう。
恐らく何をしたらいいのかわからずに、とまどってしまうだろう。
カレーを作るための工程を事細かに教えてあげなくてはならない。
・どんな材料が必要か
・その材料はどこにあるのか
・材料の個数は?
・材料の切り方(洗う?皮をむく?大きさは?形は?)
・使う調理器具は?
などなど、挙げたらキリがない。
また、万が一材料が無かった場合などのいざという時の対応も教えておかなくてはならない。
わかっている人にはなんとなく想像のつくことも、全く初めての子供にとっては何にも判断できない。
これはプログラムにも言えることだった。
出来上がったプログラムは便利だ。
だが、プログラムを便利にするには、それだけの仕組みが必要になる。
その仕組みを考えるのは、人間。
人間がやっている作業ややってもらいたいことをプログラムに書いておかないことにはプログラムはやってくれない。
メンバーは、「こんな感じ」とか「普通の」などのような表現では、プログラムは作れないことを改めて心に留めた。
そして、プログラム作りに必要な仕様作成の工程は、自分が何をどうしたいのかを見つめなおすいい機会だと思った。
執筆担当:CGIKON 佐々木
|