VS Code の開発プロセスから学ぶ

背景

VS Code のリリースノートには Update 1.105.1: The update addresses these issues のように取り組んだ issue へのリンクがある。このリンクを辿るとマイルストーンごとに取り組んだ issue の一覧が見れる。

マイルストーンを見ると November 2025 のように月単位のものや September 2025 Recovery 2 のように Recovery と記載されているマイルストーンがあることがわかった。月単位のマイルストーンには issue と関連する PR が紐づけられている。全体で1000件を超える月も多い。Recovery と付くものは多くとも10数件程度のようだ。

また、issue を眺めているとどのマイルストーンにも endgame-plan というラベルがひとつ存在することに気づいた。issue を開いてみると、そのマイルストーンの進め方のようなタスクが並んでいた。「マイルストーンを作成する」「バージョン表記を更新する」「candidate issue をアサインする」などにはじまり、「リリースノートを更新する」「マイルストーンをクローズする」で終わっている。

endgame-plan の issue の中に Development Process という wiki へのリンクがあった。これが VS Code の開発プロセスらしい。少し中身を見てみることにした。

VS Code の開発プロセス

ロードマップ

  • 半年から一年単位での大きなロードマップがある

イテレーション

  • 概ね一ヶ月単位でイテレーションを回す(月曜はじまり金曜終わりにする、イテレーションごとに長さが変わることもある)
  • イテレーション期間中に取り組むタスクは “Iteration Plans” のページに集約する

プランニング

  • マイルストーンの初めに実装する昨日と修正対象のバグの優先順位付けを行う
  • Bug にはマイルストーンを割り当てる
  • 新機能は Plan Item として issue を作成して “Definition of Done” のチェックリストを含む(リンク先には Definition of Done も記載)

イテレーション期間中

概ね週単位で区切って作業が進められているようだ。イテレーションで作業した内容は次のイテレーションの中旬にリリースされている。

  • Week 1: 前回のイテレーションで発生した負債の返済、対応しきれなかったクリティカルな課題への対応、次のイテレーションの計画
  • Week 2: プランにしたがって作業を進める
  • Week 3+: プランにしたがって作業を進める
  • Final Week: Endgame
    • 新機能のテストとドキュメントの更新
    • プレリリース(内部での検証
  • Week 1 (next iteration):
    • プレリリースの動作確認、致命的なバグの修正
    • 本リリース

対応しきれなかったバグや機能は次のマイルストーンに延期されるかバックログに戻されることで、マイルストーンは 0 bugs and 0 issues の状態が保たれる。

エンドゲームについて

マイルストーンの最終週のことを「エンドゲーム」と呼んでいる。最終週は機能追加を行わない、テストを実施する、重大なバグの修正を行うなどの対応が行われる。

次のマイルストーン前半でバグを修正して、中旬には stable 版をリリースするようにする

実践的な流れ

マイルストーンを October 2025 として考えてみる

Iteration Plan を作る

まずはじめに Itereation Plan for October 2025 という issue を作成する。ラベルは iteration-plan になっている。

この issue にはマイルストーンの概要と、トリアージされて2025年10月に取り組むべきタスクのチェックリストが並ぶ。タスクは誰がやるかと、優先度が記載された状態にする

作業

基本的には月の中頃は Iteration plan にしたがっての作業。

Endgame をはじめる

最終週になったら October 2025 Endgame という issue を作成する。ラベルは endgame-plan に。

エンドゲームが開始したらコードは変更しない。ビルドやテストなど動作確認を完了させていく。必要であれば発見されたバグに対応する。準備が整ったら、スケジュールの調整を行い、中旬頃に本リリースを行う。

具体的なエンドゲームの issue にはもっと詳細な手順が書かれている。

タイトルとURLをコピーしました