Happy My Life

日常とか技術とか

できないとは言わない

IMG_4039

これは信条でもある。

「できない」と答えると、その時点で思考停止に陥るってのもあるんだけど、私の場合はちょっと違ってこういうった理由がある。

家庭用ゲーム作ってた時なんかは、企画担当から無茶なリクエストを要求される事がしばしばあった。企画担当から「○○ってできる?」と結構無茶な要求を聞かされた時でも、大抵は「できますよ」と答えていた。ただ、ここの「できますよ」は、あくまで「技術的に(アルゴリズムとしては)、できますよ」という事。

ほんとにできる事ならば、その会話はそこで終るのだが、「できますよ」の後に「ただし、実装するのに○日かかりますよ」や「ただし、プログラム処理時間がかかりますよ」と交換条件(トレードオフ)を付け加える事もよくあった。 実現不可能な事というのは方法や技術的に無理な訳じゃなくて、スケジュールに間に合わなくて無理って事の方が圧倒的に多いから。

あと、最初に「できますよ」と答える事で相手を受けいれる事にもなるので、その後の話もスムーズに進みやすい。どんな会話でもそうだけど、まず最初に相手を受け入れる事が大切。ということを今になって再認識した。

あと、「○○って実現できる?」とかなり具体的な事を聞かれたときは、大抵「○○を実現したい」という意図に対して一歩踏みこんで「○○って実現できる?」と聞いている事がよくある(そういう風に聞く人は、大抵の場合その分野に対して多少聴きかった程度の知識の人が多い) その発言の裏の要求を汲みとれるかどうかもSE(プログラマ)の技術の一つじゃないかと。

例えば、PS2でゲームを作成していたとする。そこではこう答える人もいるだろう。 企画担当「1000ポリゴンで敵キャラ1万人出せる?」 あるプログラマ「それ無理です」(会話終了)

私だったら、こう答える。 企画担当「1000ポリゴンの敵キャラ1万人出せる?」 私「できますよ。ただし、画面が非常にスローになりますけど」 私「なんで1万人出したいのですか?」 企画担当「大合戦のイメージを表現したいから」 私「それなら、全部3Dじゃなくて遠方の敵は2Dで表現してやれば、そんなにスローになりませんよ」 とまあ、こんなやりとりになると思う。

相手が無茶だと思える要求をしてくるのは、別に相手がこちらを困らせる為に言っているわけではなく、自分が実現したい事( 例:大合戦のイメージを表現したい)を実現する方法が、たまたま1つしか知らないから(例:すべての敵をポリゴン表示する)、そんな質問の仕方になってしまう。

そういった質問の仕方をされたら、こちら側からすると「もっと勉強しとけ」と言いたく事もしばしば。そんな時は、質問する側は中途半端な知識を振りかざして質問せずに、素直に「○○したいんですけど、○○という方法では実現できますか?」と聞いた方が、よっぽど親身になって答えてくれると思うのだが。