スーパーエンジニアやエバンジェリストはロクロで何を捏ねているのか
システム開発でデスマになった後に行われるプロジェクト報告会は実質、戦犯を探すために行われているようなものだ。その目的が果たれようとするとメンバ同士がそのプロジェクトで自分が被害を受けた些細な出来事を論い、言い合いになりそうになると大人なんだからと割り込まれて、落とし所はコミュニケーションをもっと取るべきだったとかシステム開発方法論が合わなかったとか、と情緒的な、全くもって再発防止に結びつかない的外れな、どこかの失敗プロジェクトでも出てきた要因にすり替えられて本当の原因は会議室の片隅で置き去りにされてしまうのだ。
システム開発方法論
システム開発方法論は必要であるが、その構造を理解し、適用するプロジェクトにテーラリングする能力がなければ、全くもって機能しない。
使ったことがなく、どうなるかわからないけれどとでも他のシステム開発方法論では思うように結果を出せるほど使えているからと方法論の使い方を知っていて、新しい方法論を全部なのか一部分なのか加減をしながら使おうとするくらいであればその方法論が期待するような結果が得られるかどうかという意味合いで使えるかどうかの判断はできるだろう。
なんでもそうなのだけれど、論とついたら器なのだと思えるかどうかである。中身は使う料理人たるエンジニアが使い方を考え、思うように使わなければならないのだ。ウォーターフォールもアジャイル開発も、要は、見通して仕事をするために作業をどうするかの考え方なのである。
そのシステム開発方法論の上に乗るのは、ツール&テクニックつまり生産性向上ツールである。それは選り好みで使えばいいし、使わない、対価を払わないのなら人件費が安いとバジェットを握っているマネージャがそう思っているだけの話である。
マインドセット
システム開発方法論は器で、その上に生産性向上ツールを乗せた。あとは、エンジニアがプロジェクトでは色々と起きるけれど、
「でもやるんだよ」
と思う環境を作れるかどうかである。カンバンなどの可視化だって常時エンジニアの視界に入るようにして刷り込んでいるわけだし、カンバンで使ったポストイットをシースルーのゴミ箱に入れて捨てないで置いておくのは頑張ってるよねと自己満足を充足しているだけのことだ、と見ることもできる。
チームの他のメンバの作業を止めてまで話しかけることは気がひけるし、自分が集中しているときには話しかけられたくないからslackやchatworkを使ったりするのは、生産性向上ツールというよりは、環境を構成するツールに当たるのでマインドセットに近い。ツールの分類はどうでもよくて、気にしておきたいのはトラブらないように、考えているようにプロジェクトを進捗させるために何をしなければならないか、そのために何を働きかけていかなければならないのかという仕事の本質をどう捉えているかである。
おおざっぱすぎてあれだけど、物理的な製品や部品を作っているなら、その日の生産目標分だけを出荷できるように操作すればいい。
ところが、ソフトウェア開発をするエンジニアは、仕様書やコードの型を持っていない。全部、エンジニアの個人が持っている経験値と形式知の危うい知識で捏ねて作るのだ。
その捏ねる作業のほとんどは、自分の仕事が捗るように思考をまとめる作業なのだ。そのために必要な情報をくれ、こう作っちゃうけどいいかなという情報伝達が仕事の大部分なのであることを誰一人として気づいていない。だから自分だけ頑張っていると思うのだ。
エンジニアは頑張っていることを気にするより、経験知と形式知を捏ねるのではなく情報をロクロに乗せて両手で捏ね捏ねすることが必要なのだ。
それができているからスーパーエンジニアやエバンジェリストの写真はいつもロクロを回すのである。