アジャイルやスクラムをはじめようと思ったとき、はじめたばかりのとき、実際にはじめてみて壁にぶつかったとき、さまざまなシーンで、インターネットの記事や資料、書籍を探して読んでいるでしょう。
今回は、スクラム開発でも特に「スクラムチームにおける開発者(エンジニア・技術者・プログラマ)」のみなさんにとってぜひお役立ていただきたい本をご紹介します。
特に、テスト駆動開発(TDD)、リファクタリング、オブジェクト指向設計(OOD)、受け入れテスト駆動開発(ATDD)、エクストリームプログラミング(XP)、自動化、デザインパターンなど、技術的事項をジャンルに区切り、また、「プログラマとしての姿勢」や「チームワーク」に至るまで、開発者のみなさんにぜひ一度は読んでいただきたい本を紹介いたします。
目次
テスト駆動開発(test-driven development:TDD)とは、プログラム開発手法のひとつです。
製品のプログラムを書く前に、仕様をテストコードで定義し、そのテストが通るように製品のプログラムを書いていくテストファーストな手法です。実装前に書いたテストコードに適合するように実装とリファクタリングを進めていくこのスタイルは、答えを先につくり、そこにたどり着く方法を書いていくという、従来とは逆の発想に基づいています。
テストコードの定義、実装、リファクタリングという短いサイクルを繰り返すこのスタイルは、スクラム(Scrum)をはじめとした多くのアジャイル開発において強く推奨されています。
TDDの概要を分かりやすく解説した本書は、初心者から経験者まで幅広く役立つ内容を網羅しています。特にJava EEコンポーネントやマルチスレッド、データアクセスといった難易度の高いトピックへの対処法、そしてATDDとFitフレームワークの実践的な活用方法を学ぶことができます。
フィンランドにおけるアジャイルコミュニティの先駆者。Reaktor社にてコンサルタントやコーチとして活躍し、エンタープライズからミドルウェアまで幅広いプロジェクトに従事。認定スクラムトレーナー(CST®)として、現場での学習文化の確立を支援しています。
「20年来の経験に裏打ちされた、実践的テスト駆動開発書」である本書は、プロジェクトで直面する疑問に道筋を示します。
「TDDをどうプロジェクトに適合させるか」「なぜユニットテストとE2Eテストの両方が必要なのか」といった問いに答え、ソフトウェアを単に肥大化させるのではなく「育てる」ための方法論を詳説しています。プロフェッショナルを目指す開発者にとって必携の一冊です。
アジャイル開発専門の独立コンサルタント。アジャイル・アライアンスのゴードンパスク賞受賞者。London XP Dayの初代議長を務めるなど、アジャイルコミュニティの発展に大きく貢献しています。
プログラマ、アーキテクト、コンサルタント。インペリアル・カレッジ博士。TDDを支える多くのオープンソースライブラリの開発に貢献しており、London XP Dayの設立メンバーでもあります。
テストコードの品質を向上させ、保守性の高いテストスイートを構築するための広範なパターン集です。以下の重要なトピックを網羅しています。
ClearStream Consulting社のチーフサイエンティスト。アジャイル開発、ソフトウェアのリファクタリング、テストパターンの先駆者として、世界中のプロジェクトを指導するエキスパートです。
XP(エクストリーム・プログラミング)の核心である「テストファースト」と「リファクタリング」に焦点を当て、テスト駆動開発の本質を具体的に解説した一冊です。TDDの原点を知る上で、すべての開発者が一度は手に取るべき聖典と言えます。
XPの考案者であり、アジャイルソフトウェア開発宣言の起草者の一人。デザインパターンやxUnitの開発でも知られ、常にソフトウェアエンジニアリングの常識に挑戦し続ける業界のレジェンドです。
実際のプロジェクトで直面する課題と解決策に焦点を当てた、プログラマーのためのTDD実践書です。JavaとJUnitをベースに、リファクタリング、モックオブジェクト、意図的なプログラミングなど、TDDを成功させるための具体的なツールとテクニックを網羅しています。
C++、Python、Rubyなど、Java以外の主要言語に向けたフレームワークも紹介されており、あらゆる環境のエンジニアが「より良いコードを書く楽しさ」を再発見できる内容となっています。
20年以上のソフトウェア開発経験を持つベテランエンジニア。オブジェクト指向技術に10年以上専従し、XP(エクストリーム・プログラミング)の普及に尽力してきました。BDD(振る舞い駆動開発)の概念形成にも大きな影響を与えた人物の一人として知られています。
「簡潔で表現力豊か、かつメンテナンス可能なテスト」とは何かを追求した一冊です。
ロイ・オシェローブの名著『単体テストの技法(The Art of Unit Testing)』の思想を継承しつつ、Javaのエコシステムに最適化されたツールやプラクティスを解説。振る舞い駆動開発(BDD)などのモダンなテクニックも実例とともに紹介されており、テストコードの質を劇的に向上させたいエンジニアに最適です。
フィンランドにおけるアジャイルコミュニティの先駆者。Reaktor社にてコンサルタントやコーチとして活躍し、エンタープライズからミドルウェアまで幅広いプロジェクトに従事。認定スクラムトレーナー(CST®)として、現場での学習文化の確立を支援しています。
認定スクラムデベロッパー(CSD®)研修・トレーニングとは
■ 概要
スクラムの開発チームメンバーとして、正しくかつ効率的に恊働できる人材育成を目的として Scrum Alliance® により作られた、体系的ソフトウェア開発者の教育・認定プログラム。
スクラムの原理原則を理解して、実際に恊働できる能力が Scrum Alliance® が規定した水準を満たしている事を証明します。
■ 学べること
実際に理想的なスクラム開発チームの1週間のスプリントを体験する過程で、小さなアプリケーションを構築しながら、適切な知識や技術、チームとして効率的に働く習慣を得るでしょう。
本コースでは、トレーニング中にアジャイルコーチからコーチングも受けられるので、実践での悩みも相談できます。
■ 詳しくはこちら
Odd-e Japan トレーニング申込み
認定スクラムデベロッパー(CSD®)研修・トレーニングとは
Certified Scrum Developer®(CSD®)- Scrum Alliance®
■ 研修・トレーニングプログラム
・スクラム(Scrum)のプラクティス
− イントロダクション
− スクラムの概要
− チームとのコラボレーション
・技術的なプラクティス
− 技術
− TDD (Test-Driven Development)
− CI (Continuous Integration)
− ATDD (Acceptance Test-Driven Development)
− Refactoring
− スクラムのスケーリング
■ 認定スクラムデベロッパー(CSD®)資格取得
本資格の取得には、Scrum Alliance®が定めた5日間の研修・トレーニングを受講いただきます。2日間でスクラムの原理原則を理解いただき、残りの3日間でソフトウェア開発者として必要な技術的な教育を行います。
各種トレーニングについては
以下のリンク先よりお申し込みください。