昨日は0時過ぎまでオンライン飲み会で雑談していて、それから1時に寝て6時過ぎに起きた。

ストレッチ

今日の開脚幅は開始前161cmで、ストレッチ後162cmだった。今週はインフラエンジニアを始め、深夜と早朝に作業するため、生活が不規則になってしまった。そのせいか、腰と右股関節の張りが強いように感じた。1日は散歩に行ったり、深夜に一駅離れたスーパーに買いものに行ったり、すこし運動っぽいことも生活に取り入れるようにはしている。今週疲弊した身体をストレッチでほぐせたのでまた一週間がんばろうという気持ちになった。

インフラ作業

昨日からの仕掛り中の作業をテスト環境に反映させた。昼間は環境を壊してしまうとテストや検証作業を止めてしまうリスクがあるため、開発者や業務の人たちが使っていない時間を見計らって環境変更の反映や cdk の検証などをやりたい。必然的に土日も都合がよくて気付いたら2時間半ほど作業してた。

開発が遅れる空気

私は勘と経験で納期の1-2ヶ月前に開発が完了しないとわかるときがある。これまでなぜわかるのか自分でもよくわかっていなかった。便宜上「遅れる空気を読む」とでも言おう。私だけわかっても他者に伝えられない、もしくは伝えても無視されることが多かったので必要以上に指摘しないようにはしている。伝えて意図がわからない人たちにそれ以上言っても無駄だから。なにかしら条件があるのではないかと思い当たるところを書き出してみる。

  • チームメンバー (開発者) にタスクが遅れているという認識がない
    • 経験が浅いと見積もりの精度が低いため、全体像に対する進捗を正確に把握できない
    • シニア開発者がアドバイスしてもその内容を理解できなくて役に立たないこともある
  • 遅れている開発者が遅れを取り戻すための施策 (たとえば残業) をしない
    • 認識していないために残業しないから当然に遅れる
    • 認識していても残業を嫌う開発者は一切残業しない
  • 未知の問題や状況に対して「わからない」「困っている」といった報告をあげられない
    • 心理的安全性が低いと、無能だと思われたくなくて開発者が助けを求められない
  • マネージャーやリーダーといったスケジュール管理に影響力のある担当者が上位の意思決定者に事実ではなく自身の解釈を述べる
    • 例「このタスクは8割程度完了していて、あともう少しで終わりそうです」
      • 遅れているタスクはこういう報告が何度もあがる
      • 「いつ完了しますか?」と尋ねると予定日時を回答できない
  • マネージャーやリーダーが技術に疎く、実務担当者の言うことをそのまま受け入れる
    • 経験が浅い開発者の見積もり精度は低いため、大きく計画が狂うことがある
    • 私はソースコードを読んだ上でこの実装では品質基準を満たさないと判断したりしている
  • 上位の意思決定者と現場のリーダーとの人間関係が希薄だと建前の報告になる
    • 心理的安全性が低いと、現場の機微やもやっとしたことが共有されない

こういう空気を私は読んでいて、あるとき「この開発はもう間に合わないですね。」といきなり上長に言い始める。周りはまだ日程に余裕があるのになぜ?とびっくりする。開発って日々の積み重ねなので、日々の活動が正しい努力になっていないと1-2ヶ月後に成果が出ないというのは私からみたら自明だという話し。