エクストリームプログラミング(extreme programming:XP)に関するおすすめのスクラム本

アジャイルやスクラムをはじめようと思ったとき、はじめたばかりのとき、実際にはじめてみて壁にぶつかったとき、さまざまなシーンで、インターネットの記事や資料、書籍を探して読んでいるでしょう。

今回は、スクラム開発でも特に「スクラムチームにおける開発者(エンジニア・技術者・プログラマ)」のみなさんにとってぜひお役立ていただきたい本をご紹介します。

特に、スクラム(Scrum)の開発チームで、エクストリームプログラミング(extreme programming:XP)をはじめたいと思った方みなさんにぜひ一度は読んでいただきたい本を紹介いたします。

エクストリームプログラミング(extreme programming:XP)に関するおすすめのスクラム本

エクストリームプログラミング(extreme programming:XP)とは、 迅速で柔軟性の高いソフトウェア開発手法、いわゆるアジャイル開発と総称される軽量で柔軟な手法のひとつで、1999年にアメリカの著名なプログラマのひとりであるケント・ベック(Kent Beck)氏らが考案・提唱しました。

アジャイルソフトウェア開発の特徴は、主に以下のようなものがあります。

  • ソフトウェア要求仕様の変更など、変化に対して機敏に対応する
  • 初期段階の設計よりも、コーディングとテストを重要視する
  • ドキュメントよりもソースコードを重んじる
  • 各工程を段階的に進めていくより、常にフィードバックを行って修正・再設計していくプロセスを重視する

従来開発手法は、事前に要件や仕様、設計を明確に細かく定め、その通りにプログラムを記述することが重要であるとの考えですが、こういった手法と異なり、アジャイル開発手法では、プログラミングを始めた後でも変更や・修正、また仕様の明確化などが行われることを前提として、小規模な設計、実装、テストを何度も繰り返して段階的に完成度を高めていく反復型開発を採用しています。

エクストリームプログラミング(extreme programming:XP)は、10人程度までの小規模な開発チームに適した手法とされており、開発のスピードやビジネス環境の変化への素早い対応が求められるベンチャー企業の自社製品開発やオンラインサービス開発などで人気が高い開発手法となっています。
エクストリームプログラミング(extreme programming:XP)、はスクラム(Scrum)と相性が良いと言われており、スクラムとXPのこの両者をを組み合わせて使うことが、近年のトレンドとも言われています。


エクストリームプログラミング Kent Beck(著)、Cynthia Andres(著)

アジャイル開発、その原点を再考するのにおすすめの1冊です。

本書では5つの価値についてはもちろん、以下の原則やプラクティスについても詳しく説明されています。

■ 原則
・人間性(Humanity)・経済性(Economics)・相互利益(Mutual Benefit)・自己相似性(Self-Similarity)・改善(Improvement)・多様性(Diversity) ・ふりかえり(Reflection)・流れ(Flow)・機会(Opportunity)・冗長性(Redundancy)・失敗(Failure)・品質(Quality)・ベイビーステップ(Baby Steps) ・責任の引き受け(Accepted Responsibility)

■ プラクティス
・全員同席(Sit Together)・チーム全体(Whole Team)・情報満載のワークスペース(Informative Workspace)・いきいきとした仕事(Energized Work) ・ペアプログラミング(Pair Programming)・ストーリー(Stories)・週次サイクル(Weekly Cycle)・四半期サイクル(Quarterly Cycle)・ゆとり(Slack) ・10分ビルド(Ten-Minute Build)・継続的インテグレーション(Continuous Integration)・テストファーストプログラミング(Test-First Programming) ・インクリメンタルな設計(Incremental Design)

■ 著者

ケント・ベック(Kent Beck)

パターン、テスト駆動開発、エクストリームプログラミングなどのアイデアを提唱して、常にソフトウェアエンジニアリングの定説に挑戦している。 現在は、Three Rivers InstituteとAgitar Softwareに所属

シンシア・アンドレス(Cynthia Andres)

心理学の理学士号を持っており、組織行動学、意思決定分析、女性学などの分野で大きな功績を残している。 エクストリームプログラミングの誕生のときからケントと一緒にソーシャルな側面に尽力。Three Rivers Instituteに所属している

角 征典

1978年山口県生まれのプログラマー。アジャイル開発の導入支援に従事 (本データはこの書籍が刊行された当時に掲載されていたものです)


XPエクストリーム・プログラミング導入編 ― XP実践の手引き (The XP Series) ロン・ジェフリーズ(著)、アン・アンダーソン(著)、チェット・ヘンドリクソン(著)

ケント・ベック(Kent Beck)によって提唱されたソフトウェア開発方法論であるエクストリームプログラミング(extreme programming:XP)について、その実践的な活用方法を解説する一冊です。
XP開発サイクルの個々のステップを具体的に分かりやすく解説して 『XPエクストリーム・プログラミング入門―ソフトウェア開発の究極の手法』『XPエクストリーム・プログラミング実行計画』に続くXP翻訳書第3弾です。

■ 筆者からのコメント
XPを実践に移そうと思っている管理者,顧客,プログラマーへ 本書XPI(Extreme Programming Installed)は、Addision Wesley XP シリーズの第2冊目である(1冊目はケント・ベックによるXPE(Extreme Programming))。
著者のロン・ジェフリーズ(Ron Jeffries)は、ケント・ベック(Kent Beck)とともに伝説の初のXPプロジェクト C3 に参加し中心的な役割を果たした、いわば XP の実現者(realizer)である。
このことからも分かるようにケントのXPEがXPのバイブルであり、そのスピリットを中心に論理立てているのに対し、本書ロンのXPIは、XPの「実践」という極めてプラクティカルな視点で、実際のプロジェクトへのXP導入を中心に書いている。
そこには、12のプラクティスの細かな解説、運用方法が含まれ、そして、ボーナストラックとしてエピソードを交えたティップス集が含まれる。
また,本書は実践的だからといって無味乾燥な具体事項の羅列に終っていない.XP の本質であるコミュニケーションとチームワークに関する指摘も数多く含まれている。
例えば,「顧客リリースを1回するごとにパーティを開いてとっておきのシャンパンを抜こう」というような「XP節」も随所に散りばめられており、楽しく読み進められる。
日本でもXPの興味本意の人気は高まっているが、今一歩、本当の実践へと踏み出すために、この本は重要な役割を果たすだろう。

■ 著者

ロン・ジェフリーズ(Ron Jeffries)

世界初のXPプロジェクトである大手自動車メーカーの大規模給与支払システムのオンサイトコーチであった。
フリーのコンサルタントとして4年以上にわたりXPに取り組んでおり、XPをテーマとした数々の講演を行い、論文もいくつか発表している。
大半の読者が生まれる前からシステム開発者をしている。チームは今までに、OX、コンパイラ、リレーショナルデータベース、そしてアプリケーションを幅広く作ってきた。
現時点でも、まだ間違いを繰り返し続け、そしてそれを解決し続けている。
近来はObject Mentor社と協力し、ソフトウェアプロセスの改善のためのコンサルティングを行っている。

アン・アンダーソン(Arn Anderson)

XPコーチとして、および金融アプリケーション開発用のSmalltalk講師かつ技術者として、フリーのコンサルタントに従事している。
XPの基礎となる最初の大規模給与支払システムのチームメンバーであった。
キャリアは、制御システムや保険、税、金融など、多くのオブジェクト指向プロジェクトにおよぶ。

チェット・ヘンドリクソン(Chet・Hendrickson)

ThoughtWorks社のシステムアーキテクトであり、同社でプログラマと顧客がそれぞれの権利を知り、理解することの大切さを学んだ。
以前は大手自動車メーカーの上級ソフトウェアスペシャリストであり、XPにとっての試験台となったあの大規模な給与支払システムに携わっていた。
99年OOPSLAでのプロジェクトマネジャーゲーム(Project Manager Game)の勝者。


アート・オブ・アジャイル デベロップメント ―組織を成功に導くエクストリームプログラミング (THEORY/IN/PRACTICE) James Shore (著)、Shane Warden (著)

アジャイル開発は人のなせる技。アジャイル開発を極めるためには、その時々で無数の可能性を評価して最善の方策を選択することを学ぶ必要があります。本書は、あなたがアジャイル開発の「道」を極める手助けとなります。

本書では、アジャイル開発の実践方法の1つであるXPを中心に解説します。XPの概要と導入について解説し、XPによるアジャイル開発をチームに導入することを目指します。さらにXPのプラクティスについて詳述。なぜうまくいくのか、うまくいかないのか、繰り返し実践することでXPが身につき、XPの指針を深く理解できることでしょう。最後に、さらなるアジャイルの理解へのアドバイスを示すことで、実践を超えたところにある価値と原則を深く理解することを目指します。

アジャイル開発のすべてをまとめた本書は、プログラマはもちろん、テスター、プロジェクトマネージャ、アーキテクト、ビジネスアナリスト、インタラクションデザイナ、顧客などアジャイルに関心のあるすべての人におくる一冊です。

■ 著者

ジェームズ・ショア(James Shore)

アジャイルマニフェストへの10番目の署名メンバー。
アジャイルと言われ出す前から大小さまざまなアジャイルチームをコーチしてきた。
アジャイル開発に関する議論に広がりと深さをもたらしてきた。
2005年、アジャイルプラクティスへの貢献に対する最高の賞、Gordon Pask Awardを受賞。
国際的にも認められており、現在はアジャイル開発に取り組んでいる企業のコンサルタントをしている。
また、ブログにおいて、アジャイル開発に関する記事を書いており、とても注目を集めている

シェイン・ウォーデン(Shane Warden)

O’Reilly Networkのテクニカルエディタ。専門はプログラミング、Linux、オープンソース開発

Odd-e Japanでは、エクストリームプログラミング(extreme programming:XP)について実践的に学んでいただける認定スクラム開発者研修(Certified Scrum Developer® :CSD®)を開催しています。


認定スクラム開発者:Certified Scrum Developer® (CSD®)研修とは
■ 概要
スクラムの開発チームメンバーとして、正しくかつ効率的に恊働できる人材育成を目的として Scrum Alliance® により作られた、アメリカ発の体系的ソフトウェア開発者の教育・認定プログラム。
スクラムの原理原則を理解して、実際に恊働できる能力が Scrum Alliance® が規定した水準を満たしている事を証明します。
スクラムの開発チームメンバーとして必要かつ効率的なコミュニケーション、技術力が Scrum Alliance® の水準を満たしている事を Scrum Alliance® 認定スクラムトレーナー(CST®)が評価します。

■ 学べること
Scrum Alliance®「Certified Scrum Developer® (CSD®)」の知識と技術を取得し、認定資格取得を目標とします。
実際に理想的なスクラム開発チームの1週間のスプリントを体験する過程で、小さなアプリケーションを構築しながら、適切な知識や技術、チームとして効率的に働きく習慣を得るでしょう。
本コースでは、トレーニング中にアジャイルコーチからコーチングも受けられるので、実践での悩みも相談できます。
近年、高い技術力を求められる市場において、有益な能力を保有している証明になります。
併せて、継続的に技術力の向上、継続的な改善できる能力を持っている証明にもなります。
また本研修は、高い技術力を持つエンジニアへ成長させ、参加者が良いスクラムの実践者となれるようにサポートします。

■ 詳しくはこちら
Odd-e Japan トレーニング申込み
Odd-e JapanのCertified Scrum Developer® (CSD®)研修
Certified Scrum Developer® (CSD®) - Scrum Alliance®

■ 研修プログラム
・スクラム(Scrum)のプラクティス
− スプリント計画
− バックログリファインメント
− スクラムの開発チームメンバーとして働くということなど
・技術的なプラクティス
− アジャイルな設計
− TDD(test-driven development)
− CI(継続的インテグレーション)
− A-TDD(Acceptance Test Driven Development)
− リファクタリング(refactoring)
− レガシーコードの改善方法 など

■ 認定スクラム開発者(Certified Scrum Developer®:CSD®)資格取得
本資格の取得には、Scrum Alliance®が定めた5日間の研修を受講いただきます。
2日間で、 スクラム(Scrum)の原理原則や、正しいスクラムを理解いただき、残りの3日間でソフトウェア開発者として必要な技術的な教育を行います。
参会者のみなさまには、研修を通じて、認定スクラムトレーナー(Certified Scrum Trainer®:CST®)から適切に指導を受けながら、「アジャイルな技術者として能力があること」を証明いただきます。
これらの必要な条件を満たすことで、2年間の資格取得を申請する権利を得ることができます。