Skip to content
Latchkey

リリーストレインとは?

リリーストレインとは、ソフトウェアが固定された定期的なスケジュールで出荷される release モデルです。締切までに準備できた作業は「列車に乗り」、間に合わなかったものは次の列車を待ちます。

このたとえがすべてを物語っています。あなたの機能が乗っていようといまいと、列車は定刻に出発します。リリーストレインは、日付を個々の機能から切り離すことで release に予測可能性をもたらします。そのためケイデンスは信頼でき、誰も release 全体を人質に取ることがありません。

リリーストレインの仕組み

release は固定されたケイデンス - たとえば 2 週間ごと - で出発します。締切までに完了し検証された変更はその release に含まれ、未完成のものは単に次の出発を待ちます。スケジュールは固定で、内容は間に合ったものによって変わります。

列車は決して待たない

この模型を定義するルールは、どの機能が準備できているかに関係なく列車が定刻に出発するということです。これは、一つの機能が完成していないために release が繰り返しずれ込むという、よくある機能不全を防ぎます。遅れた作業は、他の全員の完了済みの作業を遅らせるのではなく、次の列車に乗ります。

チームがこれを使う理由

リリーストレインは予測可能性と調整を提供します。固定されたケイデンスは多くのチームが同期することを可能にし、stakeholder に信頼できるスケジュールを与え、計画・テスト・コミュニケーションのための規則的なリズムを生み出します。多くのコンポーネントやチームが協調して一緒に出荷しなければならない場合に特に有用です。

継続的デリバリーとのトレードオフ

各変更が準備でき次第出荷される継続的デリバリーと比べると、リリーストレインは予定された出発まで変更をまとめるため、多少のレイテンシとより大きな release サイズが加わります。その見返りとして予測可能性と調整を提供します。正しい選択は、あなたの変更とチームがどれだけ独立しているかによります。

feature flags が流れを保つ

リリーストレインは feature flags と自然に組み合わさります。未完成の機能は flag をオフにしたまま列車に乗り、後で準備ができたときにオンにできます。これにより、チームは機能が実際にユーザーに見えるようになるタイミングを制御しつつ、コードを継続的に merge して出荷し続けることができます。

重要なポイント

  • リリーストレインは固定スケジュールで出荷し、締切までに準備できたものを含めます。
  • 列車は未完成の機能に関係なく定刻に出発し、予測可能性を保証します。
  • 多少のレイテンシと引き換えに調整を得ます。feature flags がコードをそこへ流し続けます。

関連ガイド