アジャイルやスクラムをはじめようと思ったとき、はじめたばかりのとき、実際にはじめてみて壁にぶつかったとき、さまざまなシーンで、インターネットの記事や資料、書籍を探して読んでいるでしょう。
今回は、スクラム開発でも特に「スクラムチームにおける開発者(エンジニア・技術者・プログラマ)」のみなさんにとってぜひお役立ていただきたい本をご紹介します。
特に、スクラム開発に「デザインパターン・パターン指向」を有効的に取り込みたいとお考えのみなさんにぜひ一度は読んでいただきたい本を紹介いたします。
オブジェクト指向言語で開発を行う際に重要となる「再利用性が高いクラス」や「再利用性が高いライブラリ」を実現するためには、どのような設計をする必要があるでしょうか?
これに解を示すのが、『オブジェクト指向における再利用のためのデザインパターン』(1995年出版)です。この本の出版をきっかけに「デザインパターン」という概念が広く知られることとなりました。
著者である Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides の4人は「the Gang of Four」と呼ばれ、本書は通称「GoF本」として親しまれています。
本書では、頻出する設計課題とそれに対する優れた解決策として23のパターンを紹介しています。一般的に「デザインパターン」と言えばこれら23個のパターンを指しますが、広義では「繰り返し現れる問題に対する優れた解決策」という意味でも使われています。
23個のパターンとは以下のとおりです。
1. Iterator、2. Adapter、3. Template Method、4. Factory Method、5. Singleton、6. Prototype、7. Builder、8. Abstract Factory、9. Bridge、10. Strategy、11. Composite、12. Decorator、13. Visitor、14. Chain of Responsibility、15. Facade、16. Mediator、17. Observer、18. Memento、19. State、20. Flyweight、21. Proxy、22. Command、23. Interpreter
オブジェクト指向設計において繰り返し現れる重要な設計要素を「デザインパターン」としてカタログ化した、ソフトウェア開発のバイブルです。柔軟かつ再利用可能な設計のための23のパターンを収録しており、今なお色褪せない普遍的な知恵が凝縮されています。
【技術書翻訳名著シリーズ】
移り変わりの激しいコンピュータ業界において、長年支持され続けている定番の名著を厳選。実務に即適用可能な、エキスパートまでを対象とした選りすぐりの情報を提供します。
Software Development Productivity Award受賞。
スイスのコンピュータ科学者であり、本書の共著者の一人。ケント・ベックと共にJUnitを開発したことでも知られ、EclipseのJDT設計を指揮。現在はMicrosoftにてVisual Studio Code(VS Code)などの開発をリードする、現代のソフトウェア工学における最重要人物の一人です。
待望の「パターン指向ソフトウェアアーキテクチャ(POSA)」第4巻は、分散コンピューティングのための「パターン言語」に焦点を当てています。
POSAシリーズを含む既存の膨大な文献から、独立したパターンやコレクションを繋ぎ合わせ、分散システム構築という複雑な領域を攻略するための一貫した全体像を提示します。マーチン・ファウラーが序文を寄せていることからも、その重要性が伺えます。
■ 本書のポイント
Siemens社のソフトウェアエンジニア。オブジェクト指向、再利用、パターンの専門家であり、ANSI C++標準化委員会のメンバーも務めています。
独立コンサルタント兼トレーナー。多くの技術誌での執筆のほか、『ソフトウェアアーキテクトが知っておくべき97のこと』の編者としても著名なアーキテクチャの第一人者です。
バンダービルト大学教授。ACEやTAOの創始者であり、リアルタイム・組み込み分散システムのミドルウェア研究における権威です。
クリストファー・アレグザンダーが提唱した「パタン・ランゲージ」は、既存の建築や計画の概念を根本から覆しました。その核にあるのは、専門家ではなく「そこに住む人々自身」が自分たちの家やコミュニティをデザインすべきであるという民主的な思想です。
環境を設計する際、人々はある種の「言語」を共有しており、それがデザインに一貫性と無限の多様性を与えます。本書はこの「言語」を250以上のパターンとして体系化しました。各パターンは特定の問題、その背景、そして解決策で構成されており、ソフトウェアにおけるデザインパターンの源流となりました。
窓辺の高さから町の区画まで、物事の本質に深く根ざしたこれらのパターンは、人間の行動や本質の一部として、時代を超えて受け継がれる知恵を私たちに提示しています。
認定スクラムデベロッパー(CSD®)研修・トレーニングとは
■ 概要
スクラムの開発チームメンバーとして、正しくかつ効率的に恊働できる人材育成を目的とした、Scrum Alliance®による体系的な教育・認定プログラムです。技術力とコミュニケーション能力が国際水準を満たしていることを認定スクラムトレーナー(CST®)が評価します。
■ 学べること
理想的なスクラムチームの1週間を体験しながら、アプリケーション構築を通じて適切な技術習慣を習得します。アジャイルコーチからの直接的なコーチングにより、実践的な悩みの解決もサポートします。
■ 詳しくはこちら
Odd-e Japan トレーニング申込み
認定スクラムデベロッパー(CSD®)研修・トレーニングとは
Certified Scrum Developer®(CSD®)- Scrum Alliance®
■ 研修・トレーニングプログラム
・スクラムのプラクティス(スプリント計画、リファインメント等)
・技術的プラクティス(アジャイルな設計、TDD、CI、リファクタリング、レガシーコード改善等)
■ 資格取得について
5日間の受講(2日のスクラム基礎 + 3日の技術教育)を通じて、アジャイルな技術者としての能力を証明することで、2年間の認定資格を申請する権利が得られます。
各種トレーニングについては
以下のリンク先よりお申し込みください。