SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

グラス片手にアジャイル開発

グラス片手にアジャイル開発 第2回
- アジャイルの主な実践手法とその取捨選択

  • このエントリーをはてなブックマークに追加

 第1回ではアジャイル開発の理念や位置付け、特徴について紹介しました。今回は、アジャイル開発の代表的な手法「XP」と「スクラム」の特徴を紹介し、これらの手法を実際の開発現場にどのように適用していくのかを示します。

  • このエントリーをはてなブックマークに追加

アジャイルの主な実践手法とその取捨選択

 第1回ではアジャイル開発の理念や位置付け、特徴について紹介しました。アジャイル開発にはより良いソフトウェアを低コストで、かつ高品質に開発できる大きなポテンシャルが秘められていると感じたことでしょう。今回は、アジャイル開発の代表的な手法「XP」と「スクラム」の特徴を紹介し、これらの手法を実際の開発現場にどのように適用していくのかを示します。

アジャイル開発の代表的手法

 アジャイル開発には、さまざまな手法があります。

  • XP
  • スクラム
  • 動的システム開発手法(DSDM:Dynamic Systems Development Method)
  • クリスタル
  • 機能駆動型開発(FDD:Feature Driven Development)
  • アジャイルユニファイドプロセス(AUP:Agile Unified Process)
  • リーンソフトウェア開発

 このように数え上げればきりがないほどですが、この中で人気を二分しているのが「XP」と「スクラム」です。今回はこの2つの手法について解説します。

XP~開発メンバー個々の責任を重視~

 XPはExtreme Programmingの略で、通常は「エックスピー」とそのまま読みます。この手法は1996年頃にケント・ベックらにより考案されました。XPは開発主体に内容を定義しており、比較的少人数での開発に向いていると言われています。

 XPでは10個程度の具体的なプラクティス(実践)を定義し、ドキュメントの整備よりもソースコードを重んじると共に、開発者1人1人の責任を重視しています。以下に代表的なプラクティスを示します。

  • 反復
  •  開発期間を1~4週間の短い期間(イテレーション)に区切り、期間ごとに部分的な設計/実装/テストを行ない、半完成システムのリリースを繰り返す。

  • テスト駆動型開発
  •  Test Driven Development(TDD)とも呼ばれる。プログラムロジックをコーディングする前に、(自動化された)テストを作成する。プログラムロジックのコーディングは、そのテストをパスすることを目標に行なう。

  • ペアプログラミング
  •  2人1組で実装を行ない、1人がコードを書き、もう1人はそれをチェックしながらナビゲートする。

  • リファクタリング
  •  完成済みコードでも、随時改善する。外部から見た動作は変更しない。

  • ソースコードの共同所有
  •  ソースコードをチーム全員が断りなく修正できる。

  • 継続した結合
  •  単体テストをパスするコードが完成するたび、すぐに結合テストを行なう。

  • YAGNI
  •  「You Aren't Going to Need It」の略。いま必要なことだけを行なう。必要な機能だけのシンプルな実装に止める。

  • ストーリーの作成
  •  求める機能のコンセプトを短い文章で記し、より詳細な仕様をチームミーティングを通して決定する。

  • リリース計画
  •  どのストーリーをどの反復で実現するか、チームミーティングで決定する。

  • 受け入れテスト
  •  反復ごとに機能やコンセプトが実現できているかを確認する。

 これらのプラクティスに従った開発の全体像は図1のとおりです。

図1:XPによる開発の全体像
図1:XPによる開発の全体像

 特に注目すべきは、開発全体を細かい反復(イテレーション)に分割し、その期間中に開発~テストまでを完了させる(テスト駆動型開発)ことにあります。また、必要な機能だけを実装し(YAGNI)、随時改良を施していく(リファクタリング)ことを認めている点です。さらに、ソースコードを書くにあたっては、誰もがソースコードを作成/改造して良く(ソースコードの共同所有)、必ず2人1組で実施していく(ペアプログラミング)ことが重要です。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
スクラム~チーム一丸となって開発を進める~

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
グラス片手にアジャイル開発連載記事一覧

もっと読む

この記事の著者

アクセラテクノロジ株式会社 萩原 純一(ハギワラ ジュンイチ)

前職でスーパーコンピュータ向けのコンパイラやデータマイニングソフトウェア、テキスト検索ソフトウェアを設計/開発したのち、2001年にアクセラテクノロジ株式会社の設立に携わる。アクセラテクノロジ社ではエンタープライズサーチシステム「Accela BizSearch」シリーズの企画/設計/開発を担当。一...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5462 2010/10/12 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング