読者です 読者をやめる 読者になる 読者になる

ガルトラで遊ぼう

ガルトラ、プログラミングについてのブログです。月に4投稿ぐらいのペースでやっていきたいと思います。

「ノー」と言えるか?

私が好きな本にCleanCoderという本がある。この本はソフトウェアのプロ意識について書かれている。とてもわかりやすく面白い。

Clean Coder プロフェッショナルプログラマへの道

Clean Coder プロフェッショナルプログラマへの道

どの章も面白いが特に第2章の「「ノー」と言う」が好きだ。この章ではプロとしてノーということの重要さが語られている。この章はCleanCoderの中でも特に面白いと思う。上司と部下のやり取りがミニエピソードで紹介されていてそれがまた面白い。この章に共感を得た私は早速社内でも実践してみた。そして失敗した。

「ノー」と言う

奴隷は「ノー」と言うことを許されていない。労働者は「ノー」と言うことをためらうだろう。だが、プロは「ノー」と言うことを期待されている。実際、優れたマネージャは「ノー」といってもらいたがっている。それ以外に何かを成し遂げる方法はない。

上記は、CleanCoder第二章からの抜粋である。私が特に好きな文章だ。私はここに書かれているようなプロになりたいと思う。そして、ここに書かれているような人たちと仕事がしたいと思う。しかし・・・

「ノー」と言えるか

私は前職で「ノー」と言うことを実践したことがある。結果は失敗だった。上司との中はみるみる悪くなった。プロジェクトは前に進まなくなった。何がいけなかったのか?考えられるのは次の2つだった。

信頼関係
まず一つ考えられるのは、私と上司との間で信頼関係の構築がそこまでできていなかったと思う。私はプロとして振る舞おうとした。しかし、上司は私をプロとしては見ていなかったのだ。私の対立意見は単なる私のわがままと捉えられていたと思う。正直、無理もない話だと思う。プログラマの仕事の成果物は動くソフトウェアになることが多いと思う。これはできる、できないの話になりやすい。十分な信頼関係がない状態で対立意見を出したらどうなるか?それは、技術力不足、人格否定につなげやすい。相手が協力会社なら?納期を引き伸ばし、利益を稼ごうとしているとみられる。相手が新人なら?新人のくせに仕事を選んでるとか思われるのが関の山。技術的に認められ、ある程度の発言力を持たなければ、対立意見を出しても関係が悪化するだけだろう。

スケジューリング
次にスケジューリングのまずさもあった。CleanCoderでは急な顧客でもに対応するためモックアップのログインページを渡すというやり取りがある。ログインページの完成ではなく、ログインすることだけを見せればいいという上司の目的を汲み取り、Eメール送信、パスワード再発行機能の対応を後回しにして、モックアップを提供するというやり取りだ。ここまではよい。似たようなやり取りを私も経験した。問題はそのあとの後回しにした機能である。私はこの機能を実装するスケジューリングが上手くできないことが多かった。ある意味、このやり取りの対応はその場しのぎの絆創膏対応に近い。しかし、このような急場をしのいだら上司はすぐに次の対応をもってくることが多かった。ログインの次はサインアップ、ダッシュボード、マイページetc。私はこのような対応を続けることで未完成の仕掛品を大量に生み出すことが多かった。ここでは、後回しにした機能を実装するスケジューリングを立てる必要がある。

注意

ここで書いていることはあくまで私の経験から基づく考えである。また、CleanCoderの第二章は単に「ノー」と言うことを推奨しているだけの話ではないので悪しからず・・・。