PR

アジャイル・ブームの再来

2010年9月2日(木)
西口 直樹

はじめに

"アジャイル"という言葉が、ソフトウエア開発現場において、広く知られています。皆さんも1度は耳にしたことがあると思います。

筆者は、開発者として、新人時代、社外常駐時代、プロジェクト・リーダー時代に、アジャイル開発に携わりました。本連載では、これらの経験から得たアジャイルの知見を示します。

第1回では、アジャイルの経緯と現状など、事前に知っておくべき内容を説明します。2000年代前半に立ち上がったアジャイルが「試行錯誤の時代」を経て再び注目されるようになった要因について解説します。

アジャイルに共通する4つの価値と12の原則

あらためて、アジャイルとは何かをおさらいします。

アジャイルとは、いくつかのソフトウエア開発手法の総称です。数多くのアジャイル開発手法が存在します。以下は、具体的なアジャイル開発手法の例です。

  • Agile Modeling
  • Agile Unified Process (AUP)
  • Dynamic Systems Development Method (DSDM)
  • Essential Unified Process (EssUP)
  • eXtreme Programming (XP)
  • Feature Driven Development (FDD)
  • Open Unified Process (OpenUP)
  • Scrum

これらはもともと、それぞれ異なる開発手法として提案されました。その後、各手法の提唱者たちが集まり、アジャイルの理念となる4つの価値と、アジャイル・ソフトウエアの12の原則をまとめ、アジャイル・マニフェストとして発表しました。

アジャイル・マニフェストは、あらゆるアジャイル開発方法に共通する根底となっています。

図1: アジャイル・マニフェスト(http://agilemanifesto.org/

アジャイル・マニフェストに記された価値や原則を実現する手段として、個々のアジャイル開発手法は、フレームワークやプラクティス(習慣)を定義しています。

例えば、アジャイル開発手法の1つである「Scrum」では、開発の流れを以下のように説明しています。

  1. チームは "スプリント"と呼ばれる2~4週間のタイム・ボックスを切って、この期間に開発・テストを実施し、納品可能なプロダクトをアウトプットする
  2. スプリントの前には、"スプリント計画"と呼ばれる、ビジネスを考慮して優先順位が付けられた作業一覧(プロダクト・バックログ)から、次のスプリントで着手する項目の選定と詳細化、見積もりを実施する
  3. スプリント期間中は毎日、 "デイリー・スクラム" と呼ばれるチーム内の状況確認ミーティングを行い、進ちょく、その日の作業内容、問題点を共有する
  4. スプリント終了時には、成果を確認し、次のスプリントで何をやるかを検討する"スプリント・レビュー"や、"ふりかえり" と呼ばれるスプリント期間での問題の改良点の検討を行う
  5. プロジェクトの期間中、上記の内容を繰り返す

また、「eXtreme Programming (XP)」では、チームが行うべき19のプラクティス(習慣)を定義しています。

具体的にプラクティスの一部を抜粋したものは、以下の通りです。いずれも、何をやればどのような効果が得られるのか、を示しています。

  1. テスト駆動開発
    • やること: 実装を行う前に、自動化されたテスト、もしくは手順を明確化したテストを作成し、実装はそのテストをパスすることを目標に行う
    • 効果: 入力に対する期待値が明確になり、テストを通すことだけに専念できる。これにより、設計や実装がシンプルになる
  2. ペア・プログラミング
    • やること: すべてのコードは、2人のプログラマで書く
    • 効果: 技術力の向上、実装内容の共有、相互レビューによるプロダクトの品質の向上が図れる
  3. リファクタリング
    • やること: 実装されたコードに対し、動作を変えずに内部構造の改善を行う
    • 効果: コードの継続的な改善により、保守性が高くなる

このように、個々のアジャイル開発手法ごとに、いろいろな要素が定義されています。しかし、軸となるのは、共通のマニフェストです。まずはアジャイル・マニフェストを理解したうえで、個々の開発手法ごとに用意されたフレームワークやプラクティスを利用することが大切です。

TIS株式会社

先端技術センター所属。Ruby好きなプログラマ。Ruby on Railsを利用したWebアプリケーション開発に従事。最近は、スマートフォンアプリの開発に取り組んでいる。スクラム・アライアンス認定スクラムマスター。
Twitter: http://twitter.com/nsgc

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています