Creo の舞台裏 : ソフトウェア開発とラグビーの出会い

Creo の開発はスクラムで行われていると聞いて真っ先に思い浮かべたのは、ラグビーに打ち込んだ英国での学生時代のことでした。腰を落として肩を組み、3 列の陣形を作る選手たち。すねをハイソックスに覆われ、木々のように立ち並ぶ男たちの足。そこへ投げ込まれた楕円形のボールを巡り、押し合いへし合いが行われる…。このような光景が頭に浮かんだのです。しかしもちろん、これとまったく同じことが PTC で行われているわけではありません。Creo の開発で用いられているスクラムとは開発手法のことであり、英国発祥のスポーツはその名前の由来に過ぎません。ウィキペディアでは次のように説明されています。「スクラムは、アジャイル ソフトウェア開発で用いられることの多い反復型、段階型のプロジェクト管理手法である。スクラムという用語の起源は 1986 年にさかのぼる。野中 郁次郎と竹内 弘高が、製品開発のスピードと柔軟性を高める新たな手法を説明するために使ったのが最初である。スクラムでは、各開発フェーズが大きく重複し、プロセス全体は部門横断型チームによりフェーズをまたがって進められる。野中と竹内はこの新たな手法を、チーム全体が 1 つのユニットとなってボールを受け渡しながらゴールラインを目指すラグビーにたとえた」このスクラムは、PTC とその製品にとってどのような意味を持っているのか、Creo 製品開発担当バイス プレジデントであるマイケル・フロマー (Michael Pfrommer) にインタビューを試みました。GH : スクラムは、PTC では比較的新しい開発手法ですが、読者の中には、スクラムを含むアジャイル以前のソフトウェア開発手法をよく知らない方もいらっしゃると思います。説明してもらえますか?フロマー : スクラムが登場する以前、ソフトウェア リリースの開発は、数カ月から数年単位にわたって続く正式なステージゲートとともに、調査、設計、開発という複数のフェーズで行われるのが一般的でした。これに対しスクラムは、スプリントと呼ばれる短いサイクルでプロジェクトを進行させることを重視し、より迅速に成果物をリリースしていきます。GH : スクラムには、スクラム マスターやスプリント オーナーなどの役割があるそうですが、それぞれの意味を教えてください。フロマー : スクラムはプロセスのスケルトンで、いくつかのプラクティスと役割が定義されています。PTC では主に次の役割を使用しています。”スクラム マスター” (一般的にはプロジェクト マネージャに相当) はプロセスを管理し、すべてのチームがスクラム手法に準拠して作業を進めるよう指導する役割を担います。PTC には多数のスクラム チームがあるため、スクラム マスターも複数います。”プロダクト オーナー” は、製品のビジネス面での利害関係者を代表し、リリースする製品の最終的な製品要件を管理します。要件には、機能要件と非機能 (基盤) 要件に加え、外部インタフェース、データ、パフォーマンスに関する要件などがあります。PTC の場合、ほとんどのプロダクト オーナーは製品管理チームに所属しています。製品をリリースするためには、重要な要件はすべて満たされたとプロダクト オーナーが承認する必要があります。だからと言って、プロダクト オーナーが自己の裁量だけで何でも決定できるわけではありません。PTC では、製品の要件は “エピック” と呼ばれ、カスタマー エクスペリエンスに関する詳細なデータに基づいて策定されます。”スプリント オーナー” は製品定義チームのことを指し、要件の観点から各スプリントを管理します。スプリント オーナーはプロダクト オーナーから提示されたエピックを、スプリントで対応できる小さな単位に分割します。この分割された単位を PTC では製品のストーリーと呼びます。”チーム” は、実際に分析や設計、実装、テストを担当する部門横断型のグループです。これらの役割を担うメンバーによって構成されるのが スクラム チーム” です。スクラム チームは、製品や出荷候補となる製品機能を提供する責任を負います。スクラム チームの責任者となるのはスクラム コーチで、スクラム チームにはプロダクト オーナーや開発者も所属します。GH : プロダクト オーナーとスプリント オーナーという似たような役割が 2 つあるのはなぜですか?フロマー : プロダクト オーナーは製品要件の全体像を把握し、製品をリリースするために満たす必要のある要件を判断します。また、ライセンス管理やパッケージング、価格決定などのビジネス的な側面にも関与します。一方スプリント オーナーは、各スプリントの要件が適切かどうか、そのスプリントで要件に対応できるかどうかなど、スプリント レベルの事項だけを担当します。GH : 非常に複雑な役割分担のようですね。典型的な事例で解説してもらえますか?フロマー : 実際にはそれほど複雑ということはありません。従来型のプロセスと比べればむしろ単純だと思います。スクラム プロセスで中心となるのはスプリントです。各 “スプリント” は通常 4 週間となりますが、チームはこの間に、出荷候補となる製品機能を完成させます。つまり、そのスプリントで追加されたすべての要素が正常に機能し、テストされた状態にします。スプリントで作成する一連の機能は、エピックによって定義されます。エピックは優先順位が設定された高レベルの作業要件で、プロダクト オーナーから提示されます。スプリント オーナーは、このエピックをストーリーに分割してスプリント計画ミーティングを開き、次回のスプリントで扱うストーリーと製品バックログに追加するストーリーを決定します。このミーティングでは、次回のスプリントで完成させることのできるストーリーを判断します。スプリントの内容が決まったあとで、そのストーリーを変更することはできません。つまり、要件はこの段階で確定されるということです。スプリントを必ず期間内に終わらせるため、開発はタイムボックスで管理されます。完成しなかったストーリーはリリース対象外となり製品バックログに戻されます。スプリント終了後、チームは完成したソフトウェアのデモを行います。GH : スクラムが PTC にもたらしたメリットのうち特に大きなものは何ですか?フロマー : スクラムには大きく 3 つのメリットがあります。第 1 のメリットは、製品をスプリントごとにすばやく発展させることができる点です。スクラムは透明性が高く段階的なアプローチなので、数週間おきにすぐさま成果を確認できます。第 2 のメリットは、プロジェクトの進行中に開発の優先順位を変更できることです。Creo を構成する新しいテクノロジを開発する際には、スクラムのおかげで、予期しない問題にも対応することができました。事前に周到な準備を行う従来型の手法では、これらの問題に容易に対応することはできなかったでしょう。第 3 のメリットは、スプリントを終えるたびにリリース候補となる成果物を得ることができる点です。GH : PTC でスクラムを採用したのは今回が初めてですか?フロマー : いいえ。私たちはもう何年もから、多くの製品でアジャイル手法を採用しています。特に Creo Elements/Direct 17.0 の開発では、アジャイル手法を徹底しました。正式な製品リリースのだいぶ前から新機能をプレビュー公開できたのは、アジャイル手法を採用していたことが理由の 1 つです。リリース予定の約 9 カ月前から機能のデモを公開している Creo についても同じことが言えます。GH : では、スプリントを終えるたびに Creo のリリースが近づくということですね?フロマー : そうです。スプリントをこなせばこなすほど、製品のリリースが近づいてきます。リリース候補版ができたら、これまでよりも範囲を広げた拡大テストを行うつもりです。より多くの社員、ソフトウェア パートナー、そしてお客様にテストに加わっていただこうと思っています。GH : Creo 1.0 のリリースまでに、後どれくらいのスプリントを予定していますか?フロマー : 前回のスプリントを終えたのは 2010 年のクリスマス直前でした。Creo 1.0 のリリースまでには、後 3 回か 4 回のスプリントを行う予定です。現時点では、ベータ版のリリースを 3 月に、正式版のリリースを 6 月に予定しています。次回以降の「Creo の舞台裏」では、スクラムで開発されている Creo 1.0 の最新情報と拡大テストの詳細をお届けします。画像提供 : royskeane

この投稿の“カテゴリー”: Creo の舞台裏 、タグ: , , , , , , , , , 。ブックマークは追加ブックマークにはパーマリンクをどうぞ。. コメントもしくはトラックバックをどうぞ: トラックバック URL.

コメントを投稿

あなたのメールは 絶対に 公開されたり共有されたりしません。 *マークは入力必須項目です。

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

次の HTML タグと属性が使用できます: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <pre> <q cite=""> <s> <strike> <strong>