9 ポイント 投稿者 GN⁺ 2024-11-12 | 2件のコメント | WhatsAppで共有

リリース(Shipping)が難しい理由

  • 多くの人は「リリース」は簡単なことだと勘違いしているが、実際の基本状態は、リリースが遅延したり中止されたり、あるいは完成度が低くて問題が発生するケースが多い。
  • コードをすべて書き終えたり、Jiraチケットをすべて解決したからといって、自動的にリリースされるわけではない。リリースのためには、誰かがリードの役割を担わなければならない。
  • リリースは最優先課題であるべきだ。ユーザー体験(UX)に過度に集中すると、かえってリリースが遅れる。
  • プロジェクトを成功裏にリリースするには、技術的なリーダーやDRI(Directly Responsible Individual)が必要だ。こうした役割を担うエンジニアがいるチームは、成功確率が高くなる。

「リリース」とは何か?

  • 多くのエンジニアは「リリース」を単なるコードのデプロイや機能の有効化だと考えるが、大手テック企業では定義が異なる。
  • リリースとは、社内の重要人物が「リリースされた」と信じたときに成立する。VPやCEOが満足していなければ、コードがデプロイされていても実際には「リリース済み」ではない。
  • プロジェクトがユーザーにとって大きな成功を収めたり収益を上げればリリースされたといえるが、ユーザーの反応が良くなくてもリーダーシップが満足していればリリース済みと見なされる。

コミュニケーションの重要性

  • プロジェクトの目標が何なのかを明確に把握しなければならない。目標によって、進め方やコミュニケーション戦略は変わる。
  • 会社のリーダーシップは、プロジェクトの技術的な詳細をほとんど知らない。そのため、信頼を維持するには、正確な見積もり、問題解決、そして適切なアップデートが重要になる。
  • 信頼を維持する方法:
  • 過去に成功したリリース経験があると有利。
  • 自信のある態度を示すべき。
  • NASAのミッションコントロールのように、専門的かつ簡潔にコミュニケーションすべき。
  • 日次または週次のアップデートスレッドを通じて、能動的に情報提供すべき。

本番デプロイの問題解決

  • ほとんどの問題は、予想外の細部から発生する。たとえば、Memcachedのブロックサイズの問題やトラフィック予測の誤り、機微なユーザーデータの問題などがある。
  • 問題を素早く解決するには、システムに対する深い技術的理解が必要だ。
  • 想定される問題に素早く対応し、その問題が深刻かどうかを明確に説明できなければならない。

今すぐリリースできるか?

  • 今すぐリリースできるかを自分に問いかけることが重要だ。もしできないなら、何を変えれば可能になるのかを考えるべきだ。
  • 機能フラグとステージング環境を活用し、できるだけ早くフィードバックを得られるようにすべきだ。
  • リリース直前には技術作業を減らし、問題が発生したときに素早く対応できるよう準備しておくべきだ。

要約

  • リリース作業は非常に難しく、最優先課題にしなければならない。
  • リリースの意味は単なるデプロイではなく、リーダーシップチームが満足することだ。
  • リーダーシップチームの信頼を得ることが、成功するリリースの核心だ。
  • 問題を予測し対処できるバックアッププランが重要だ。
  • リリース直前には開発作業を減らし、問題解決に集中できるようにすべきだ。
  • 常に「今すぐリリースできるか?」という問いを投げかけるべきだ。
  • 恐れを捨て、勇気を持つべきだ。

2件のコメント

 
GN⁺ 2024-11-12
Hacker Newsのコメント
  • 「Shipping」は社内における社会的構築物だという指摘が印象的。重要な人物たちがプロジェクトは完了したと信じたときに完了したことになる
  • この記事はソフトウェアのデプロイではなく、経営陣を満足させることについて書かれている。ユーザーに嫌われ市場に嘲笑されても、経営陣が気に入ればデプロイされたことになる
  • スポーツで勝利があらゆる問題を解決するように、ソフトウェアではデプロイがあらゆる問題を解決する。完璧な製品はないが、早くデプロイすればユーザーは満足するかもしれない
  • 問題を予防するより、問題を解決するエンジニアのほうが多くの評価を得ることがある。問題を予防しようと努力しても、リーダーがそれを認識しないことがある
  • 大企業では「デプロイ」は単に機能を実現することではなく、より大きな文脈で理解されるべきものだ。非倫理的だと言う人もいるかもしれないが、大企業では一種の「ゲーム」だ
  • 多くのプロジェクトをデプロイしてきたと言うが、具体例がないので信頼しにくい。実際のプロジェクト事例が含まれていれば、もっと理解しやすかったはずだ
  • この記事は自己宣伝的なブログスパムだ
  • 経験とは一致するが、実践的な助言が不足している。リーダーシップに認められる方法について、具体例が必要だ
  • 大企業での自分の経験とは異なる。経営陣の支援がなくても、ユーザーフィードバックや指標が良ければ成功と見なされる。小さなプロジェクトにも価値はありうる
  • 主張は定量化・定性化されてこそ信頼できる。「大企業でデプロイする」というのは広すぎる表現であり、具体的な説明が必要だ
 
signaling 2024-11-13

印象的な意見を抜粋してみました。

「ある人たちは、単に自分たちのためだけの技術的な縄張りを築いたり、どの階層であれ自分より上にいる人たちから称賛を受けたがったりします。これが『ゲームの進み方』です。このゲームをすることは、結局は組織の死につながり、そもそも企業ライフサイクルが存在する理由もまさにそこにあります。最終的に、こうした人たちは組織を内側から壊し、本当に意見を持っている人や、実際に物事をやり遂げるために最適化している人を押しのけてしまいます。」

「ゲームに勝つ方法は、ゲームをプレイしないことです」