「大規模アジャイル開発体験からのメッセージ」+ミニパネル討論
セッション詳細
本セッションの前半は、株式会社オージス総研でのアジャイル型開発の事例が紹介されました。後半は、参加者からの質問も交えてのパネルディスカッションが行われました。
鈴木氏はアジャイル開発を反復型開発の発展型と捉えていて、まず反復型開発の開発史を説明されました。アジャイルソフトウェア開発宣言以前とそれ以降の流れ、大規模エンタープライズ開発にも適用しつつある過程を知ることができました。
その後、数ある事例の中から、時期ごとに2つずつ、合計4つの事例が紹介されました。セッションでは一つひとつ詳しく説明されていたのですが、このレポートでは、時期ごとにまとめて、開発対象やプロセス、工夫されたことなどのポイントをご紹介したいと思います。
■反復型開発黎明から統一プロセス(UP)出現期の事例
メインフレーム上にある既存システムをオブジェクト指向の技術を用いてオープン化するプロジェクトでの事例が紹介されました。
一つは、スパイラル型開発で、もう一つは統一プロセスで開発されました。
「この2つの事例は、厳密に言えばアジャイルではないかもしれないが、アジャイルの価値観に通じるところがある」のでこれらの事例を挙げられたそうです。
良いものを作りたい!という前向きなお客様と一緒に取り組んだエピソードや、テストを重視したこと、反復軽減のためにリファクタリングを行ったこと、ドキュメントの作成は最小限にし、コミュニケーションをとって知識を共有していったことなどが紹介されました。
お客様に届けられた価値は、
- 納期通りに開発できた。
- 普通は優先度を落として次のライフサイクルで作るような機能も盛り込めた。
- 高品質なものができたので、その後大きなトラブルもなかった。
など多々ありました。
驚くべきことに、2つのシステムは15年ほど経った現在でも、メンテナンスしながら利用されているそうです。長期間に渡ってお客様に価値を提供し続けられているのはすごいことだと思いました。
■アジャイル開発スケールアップ期の事例
老朽化している既存システム再構築の大規模プロジェクトの事例が紹介されました。
特殊な技術が使われていたり、お客様自身もよく分からないという機能があったりなど、少しずつ確かめながら仕様を固めていくしかないという状況。さらに、短期開発、一括請負契約だが仕様変更は柔軟に対応してほしいという条件ということで、ハイブリット型開発で進められたそうです。
ハイブリット型開発とは、複数の開発プロセスを組み合わせて行う開発形態です。事例のプロジェクトでは、アジャイルプラクティスであるスクラムと、統一プロセスが組み合わされていました。基本的にはスクラムで行い、開発全体の進捗やパフォーマンスを経営層に報告する場面などでは統一プロセスの手法を用いることで、大規模アジャイル開発を実現されていました。
また、大規模開発での工夫も紹介されました。
チーム制を導入したこと、チーム内でのスキルのばらつきを少なくするためにスプリントごとに役割を変更したこと、対話を重視しつつもしゃべる時間と集中する時間を分けたことなどです。
契約に関しては、機能を固定するのではなく要件定義時に決めたファンクションポイントの機能数を固定し、お客様に必要な機能を選択して頂くことで、一括請負で仕様変更に柔軟に対応されたそうです。
■事例からわかること
- アジャイル開発は、小規模だけでなく大規模開発でも行うことができる。
- お客様に価値を提供できている。
- アジャイル開発で作ったシステムは長く保守できるシステムになっている。
■パネルディスカッション
パネルディスカッションは、スクラムのプロダクトバックログ方式で行われました。ホワイトボード上にバックログが作られ、オーナー役は平鍋氏、開発者役(パネリスト)は、鈴木氏、細谷氏、藤井氏。オーナーが質問の優先順位をつけ、優先度が一番高いものをディスカッションし、回答内容をレビューしてOKなら完了、次の質問に移るという手順です。最初はあらかじめ用意された質問だったのですが、途中から会場のみなさんからの質問用紙があがってきた際、アジャイルなので優先順位が変更されました。
議題は、
- アジャイル開発におけるアーキテクチャ設計について
- どのような分野でもアジャイル開発を行えるか
- アジャイル開発に置いて要求定義をいつ行うのか
- アジャイル開発におけるドキュメント作成について
- 日本の価値はなぜ逆輸入されてから認識されることが多いのか?
などでした。
パネリストの意見が聞けて、さらに、スクラムのバックログについても学べる一石二鳥の機会となりました。
(参考) オージス総研 アジャイル開発センター