機能拡張プロセスの承認に至ったあと、オラクルはJava 9リリースの新しいターゲットを2017年7月とすることを追認した。InfoQが以前に予測した日付とかなり近いものだ。しかし、さまざまな理由のよりこれはリスクがあるかもしれない。我々の評価は3ヶ月の機能拡張期間に基づいている一方、実際の期間はテスト作業に割り込み、7ヶ月続く予定である。違いを生み出すためだ。早期に、非公式のテストが補填のために行われるかもしれない。
InfoQの最新の分析の時点で, 拡張が承認された機能のうちもっとも遅いものの利用可能日は9月1日だった。おおよそ3ヶ月の遅れを提案している(これはもちろん見積もりがない機能は考慮していない)。平等にことを先送りしたこの遅れを前提にすると、GAが2017年6月後半であることを示している。しかしながら、現在提案されたスケジュールは平等にことを先送りせず、潜在的に一連のリスクを作り出している。最終変更前のスケジュールはこうだ。
- 2016/05/26 フィーチャーコンプリート
- 2016/08/11 全テスト実行
- 2016/09/01 ランプダウン開始(訳者注: ランプダウンとはこの日以降修正できる問題のレベルが制限されることである。)
- 2016/10/20 ゼロバグバウンス
- 2016/12/01 ランプダウンフェーズ2
- 2017/01/26 最終リリース候補
- 2017/03/23 一般提供
これが新しく提案されたスケジュールだ。
- 2016/05/26 フィーチャーコンプリート
- 2016/12/22 拡張フィーチャーコンプリート
- 2017/01/05 ランプダウン開始
- 2017/02/09 全テスト実行
- 2017/02/16 ゼロバグバウンス
- 2017/03/16 ランプダウンフェーズ2
- 2017/07/06 最終リリース候補
- 2017/07/27 一般提供
最初に気づくことは、"ランプダウン開始"が今"全テスト実行"の前に起こることである。マイルストーン定義で述べられているように、ランプダウン開始は深刻度P1からP3のバグだけが修正される時だ。一方全テスト実行はすべてのテストがサポートする全プラットフォームにおいて少なくとも一度実行される時を示す。これが意味することは、低い深刻度の問題を修正することは新しいJavaを完全にテストする機会があるのにその前でさえ自動的に除外されるであろうということだ。
ランプダウンフェーズ2は、それどころか、以前より約1ヶ月半長く計画される。おそらく短くなったフェーズ1を補うためだ。フェーズ2では致命的問題だけが修正される。上記と組み合わせると、軽いバグの存在を許すことの費用を払いつつ基本的な動作の機能を持つことを優先する、ということを意味する。
最後に、最初のリリース候補と一般提供の間の時間は半分以下に短くなった。マイルストーン定義は次のことを意味している。もし別のゼロバグバウンスフェーズがリリース候補のあとで必要となったら、一般提供にはリスクがあるということだ。以前のフェーズでテスト時間が減ったことと対処するための時間が短くなったことを考慮すると、新しいスケジュールでこれが起こる可能性は高くなった。
考慮すべき、起こりうる軽減事由となる要素が1つある。フィーチャーコンプリートフェーズは2016年5月に終わったため、機能拡張完了が達成される間あるテストがすでに進行中であるということは起こりうる。これは、進められるフェーズがないのでスケジュールに反映されないかもしれない。一方ランプダウンはP1からP3の問題だけが取り組まれることを意味している。しかし、現時点では指定された妥当性は低い可能性がある。一方、全テスト実行はすべてのコードが確定されるまで実施できない。どんな場合でも、JEP 282のようなモジュールシステムへの鍵となるコンポーネントを含めるために機能拡張が遅くなる。これが意味することは、より進んだテストがあってもJava 9は大変なことに立ち向かっているということだ。
Rate this Article
- Editor Review
- Chief Editor Action