先日の上司との1:1で話題になったもう一つの話を記載したいと思います。
それは「深夜や休日に働いてまで製品・サービスを維持するべきではない」という話です。
この話、もともとは数週間前に行われた専務とのスキップレベルの話し合いに遡ります。
数か月に一度、我々(エンジニア・PM)と、専務との間で「専務がなんでも質問に答えます」的な話し合いがあります。
その中で誰かが「日々の業務が忙しすぎて、新しいテクノロジーを学ぶ時間が取れない。自身のトレーニングに割く時間が全くない。どうやってそういう時間を作るべきか」
という質問がありました。
専務の回答は「製品開発スケジュール・問題解決に振り回されるべきではない。第一、製品のリリースが遅れたところで、またWebコンテンツが更新されなかったところで、Nobody dies (誰も死なない)なのだから、そんなに神経質になることはない」
という回答でした。
我々はその時、専務の言っていることは正論だけれども、現実の現場と彼の解釈との間にはまだまだ大きなギャップがある、と感じていました。
だってそうでしょう? 自分のせいでリリースが滞るなんて、絶対にあってはならないことという空気が常に充満している、それが開発の現場です。
さて、そしてその後上司と私の1:1の時に、上司から「先日の専務とのスキップレベルの話し合いはどうでしたか?」と聞かれました。
なので私は上記のギャップを説明しました。
すると上司は「私は専務の言っていることに賛成です。」と切り出しました。
「そもそも我々はデバイスやマシンではありません。常に計画通りのアウトプットを出すために身を削ってしのぐ、というのは正しい行いではありません。
製品リリースが遅れても、壊れても、結構です。
もしもリリースプロセスが壊れて、意図通りに動かないのであれば、それは何かがおかしいのです。
そのおかしいものを埋めるために徹夜してでも手作業でしのぐというのは期待された活動ではありません。
なにが壊れているのか、どこがおかしいのかを明確にすることが重要です。
そこは確実に確認して、レポートしてください。
そしてそれを正しく修正するための、正しいコード修正を考えて実装する、それが正しい活動です。」
・・これは日本人的、もしくはアジア人的な感覚かも知れませんが(上司はたぶんそうだろうと言っていましたが)計画を遂行するために影で手作業で穴埋めをしたりするのは 我々製品チームの使命のように思いがちですが、
何かおかしいところがあるから計画通りに進まない、という状況をオブラートに包まないで、あえて製品リリースプロセスが壊れた状態を明るみにして、その状況を正確に上層部にレポートして、長期的な意味での解決を行う、のが我々が行うべきことである、という話でした。
・・本当に、その通りですし、それが本当の正しいビジネスロジックなのだと思います。
ただ、現実的に、日々「早く直せ!」ということでPMや他の組織から浴びせられるプレッシャーというのは半端ではないのですよ
それでも、確かに専務の言う通り「壊れたままだって誰も死にはしない」わけですし、もっと大きく構えて対応していくべきなのだと思います。
私(およびチームの仲間たち)に必要なのは、夜中や休日のPingを無視する勇気 なのかも知れませんね。