SE促成栽培シリーズ プログラマとの付き合い方 2
「難しい」「大変だ」は、“ボケ”の言葉。
なんか、変なことを書きました。
大阪の人は、幼少の頃から、“ボケ”と“ツッコミ”の教育を、知らず知らずのうちに受けているというのは、本当でしょうか。
そういう意味では、頭の回転が速い人が多いような気がします。(気がするだけ・・・)
さて、システム開発をしていて、「これは!」と、頭の中で電球が輝くときがあるのですが、どんなときかというと、プログラマとの会話をしたときです。
前回もお話ししましたように、プログラマというのは、些細なことを、全て網羅して理解していないと気持ちが悪い、というような人たちです。
お客様やSEが、「そんなこと、どちらでもいいのではないか?」と思うようなことを、丁寧に、細かく考えて、プログラミングしてくれるのです。
褒めているのか、けなしてるのかといえば、褒めています。
しかし、そんな彼らも、ときに曖昧な発言をするときがあります。
「たぶん・・・」とか「・・・と思います」とか、「・・・・・・・」
黙ってしまうのもプログラマの特徴なのかもしれません。
こういうとき、SEはこれを“ボケ”だと思って、“ツッコミ”を入れることが要求されるのです。
「それって具体的にどういうこと?」
「どこに書いてあったの?」
「どういう検証をしたの?」
といった事実に落として、聞くことが必要になります。
一番注意すべき、プログラマの言葉は、
「大変なプログラムなんです」
「難しいんです」
といった言葉です。
言葉いじりをするつもりはありませんが、「難しい」って、どういう意味でしょうか?
彼らにとって、これらの言葉は
「仕様が100%理解できていない」
「どういうプログラミングをしたらいいのか、今は判断がつかない」
「プログラムで経験したことがない機能が含まれている」
といった意味なのです。
これをきちんと切り分けて、対策を練ってあげる必要があるのです。
「仕様が100%理解できていない」
この場合は、簡単です。
大きく、全体像をイメージとして分かりやすく話してあげること、これは前回、伝えたような内容です。
それから、細部においては、プログラマの視点に合った、図やデータ事例を見せてあげることが必要でしょう。
初心者の場合には、先輩プログラマを通して伝えてもらうことも必要かもしれません。
「どういうプログラミングをしたらいいのか、今は判断がつかない」
といった場合は、どのような選択肢が考えられるのかを、レビューする必要があります。
これも、SEと上級プログラマ、本人の3者で行うのがよいでしょう。
そして、
「プログラムで経験したことがない機能が含まれている」
これは、自社に経験者がいるのであれば、問題ありません。
経験者からサンプルを貰うこと、経験者を補助につけることが大事です。
こういった場合に、補助なしで、サンプルだけで仕事をさせるのは、リスクが大きくなります。
問題は、自社で経験者がいない場合です。
この場合は、一部機能だけを検証するプログラムを作らせる必要があります。
「やればできる」部分を徹底的に省いて、テストさせるのです。
そして、「難しい」という言葉、これを私は認めません。
プログラムで難しいロジックは不要なのです。
「難しい」は、「組合せが多様である」というように分解するのです。
そして、
「組合せパターンを網羅しての設計ができているか?」
はたまた、パターンではなく、
「方程式といったもので解決ができないのか」
を、考えるべきなのです。
プログラマの「大変だ」「難しい」は“ボケ”の言葉。
SEからの“ツッコミ”を待っている、アラームなのです。