開発対象での適用度合い
では、開発対象システムの違いによりアジャイルの向き不向きはあるのでしょうか。アジャイルのプラクティスにより多少の違いはありますが、これもあると思います。例えば、アジャイルの代表的なプラクティスであるテストファーストや継続的統合は、組み込み系のように結果を設定しやすく、それほど複雑でないアプリケーションには効果的ですが、基幹業務パッケージの画面アプリケーションのように複雑でテストパターンが多く、結果が画面で表示されるようなものはやりにくいです。
一方、ペアプログラミングなどはどんな対象システムでも共通です。ペアプログラミングのメリット/デメリットは第6回で詳しく解説する予定ですが、その効果は基幹業務でも十分に発揮されるでしょう。
総合的に考えると、複雑で範囲の大きなシステムは適用がちょっと大変です。例えば、基幹業務は複雑で相互の関連性が強く、また業務ノウハウも必要となるのでアジャイルを適用するのにするのにちょっと苦労します。Webアプリケーションのように動作がそれほど複雑でなく結果を画面ですぐに見れるもの、組み込み系アプリケーションのように1つ1つのアプリケーションの範囲がせまく結果を定義しやすいもののほうが向いている傾向にあります(図5)。

おわりに
今回はアジャイルソフトウェア開発宣言を紹介し、アジャイルがどのような理念に基づいているのかを解説しました。また、“アジャイルは万能”という宗教的な崇めまつりではなく、開発形態(請負かプロダクト開発か)、契約形態(常駐や一括請負など)、開発規模、開発対象システム(業務系や組込み系など)などにより、アジャイル適用の向き不向きも論じました。現時点で不向きとしたものでも、すでに取り組んで成功している会社もありますし、あと数年でぐんぐんとアジャイル適用が拡大しそうな勢いです。
アジャイル導入によりコストは安くなるのか、品質は良くなるのか、ペアプログラミングは生産性が下がらないのか、イテレーション(スプリント)の期間はどれくらいで作業スコープをどう切り出すのが良いのかなど、アジャイルを具体的にシステム開発に適用するうえでのポイントについて、次回以降で順を追って説明していきます。お楽しみに。
今月の復習問題
以下の問題文を読んで、正しいものに○、間違っているものに×を付けてください。
- 問題1:アジャイルの方法論のうちXPはマネジメント主体、スクラムは開発主体にプラクティスが語られている。
- 問題2:アジャイル開発で大切なことは、一緒に仕事をすることなので、たとえ顧客といえども同じ場所で一緒に作業してもらうべきだ。
- 問題3:アジャイルとウォーターフォールは、土台から手法が異なるので、ウォーターフォールの一部をアジャイルにするなどの混在型はやめたほうが良い。
復習問題の答え
- 問題1:×
- 問題2:○
- 問題3:×
XPが開発主体、スクラムがマネジメント主体。
最近はWeb-TV会議なので補完しやすくはなったが……。
以前はその考えもあったが、最近はハイブリッド方式が広まっている。

ミキシンググラスにスミノフ・ウォッカ20ml、桜リキュール10ml、クランベリージュース30mlを入れて軽くステアし、桜の花びらを浮かべてでき上がり。都ホテル大阪の方が考案した季節感あふれるカクテルです。連載第1回目は共同執筆するMIJSにちなんで“日本の良さ”を世界にアピールできる一品を選んでみました。
アジャイルの理念は素晴らしいものがありますし、技術者としてますます積極的に取り組んでいきたいと思います。同時に筆者はソフトウェアベンダの経営者でもあるので、丸のみではなく適したところを取捨選択して社内に取り入れたい、初めて取り組む人が間違わないようにできるだけ具体的な実践手法に落とし込んで社内に広めたい、というような思いもあります。
今回、MIJSで各社の実践している方法を討議し合って実践手法にまとめられたのは、とても良い機会になりました。これを読者の皆さんにお伝えしつつ、さらにブラシュアップしていければと思っています。
では、記念すべき第1回のスタートと、アジャイル開発が日本でも広まることを記念して、カンパーイ!
