リファクタリング(refactoring)に関するおすすめのスクラム本

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

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

特に、テスト駆動開発(test-driven development:TDD)、リファクタリング(refactoring)、オブジェクト指向設計(object-oriented design:ODD)、 受け入れテスト駆動開発(Acceptance Test Driven. Development:A-TDD)、エクストリームプログラミング(extreme programming:XP)、 自動化、デザインパターン・パターン指向など、技術的事項をジャンルに区切り、また、「プラグラマとしての姿勢」や「チームワーク」に至るまで、 開発者(エンジニア・技術者・プログラマ)のみなさんにぜひ一度は読んでいただきたい本を紹介いたします。

リファクタリング(refactoring)に関するおすすめのスクラム本

リファクタリング(refactoring)とは リファクタリングとは、プログラミングにおいて、ソフトウェアの外部からの動作を変えることなく、 理解や修正がより良くになるように、内部構造を書き換え、改善することです。

リファクタリングは、無駄な処理を省いて処理の流れを分かりやすくする、ソースコードを見やすくすることを主な目的として行います。

プログラムが理解しやすい状態に維持され,拡張性や再利用性を高まるというメリットの他に、修正や追加をより早く正確に行えるため、 トラブル時の対応が速くなるというメリットもあります。


新装版 リファクタリング―既存のコードを安全に改善する―
(OBJECT TECHNOLOGY SERIES) Martin Fowler(著)、児玉 公信(翻訳)、友野 晶夫(翻訳)、平澤 章(翻訳)、梅澤 真史(翻訳)

マーチン・ファウラーが本書で真価を世に示してから15年、「リファクタリング」が当たり前で身近な作業となったいま、 さらに読みやすくリファクタリングを施した日本語版、再誕。

実践に照らした広範な訳文の見直しに加え、リファクタリング・カタログの使い勝手を向上。

さらに、付録「Javaのバージョンアップに伴うリファクタリングをめぐる環境の変化」を収録※ 「BOOK」データベースより

■ 著者

マーチン・ファウラー

数十年にわたってビジネスへのオブジェクト指向の適用に尽力する独立コンサルタント。
ヘルスケア、金融取引、企業財務などの分野におけるシステムのコンサル経験を持つ。
顧客にはクライスラー、シティバンク、英国民保健サービス、アンダーセン・コンサルティング、 ネットスケープ・コミュニケーションズなどが名を連ねる


リファクタリングワークブック (Ascii software engineering serise) ウィリアム・C・ウェイク (著)

本書はマーチン・ファウラー著『リファクタリング』のワークブックで、実践的な練習問題と事例からコードの匂いとその対処法を学ぶことができます。

リファクタリングに関する考え方を解説した、実践から学習したい人に最適なワークブックで、把握演習やリファクタリング技術の適用などがまとめられています。

最も重要な問題の把握演習、最も重要なリファクタリング技術の適用、素晴しいコードの作成方法に関する詳細な考察の目的で作成されたワークブック。※ 「BOOK」データベースより

■ 著者

ウィリアム・C・ウェイク(William c. Wake)

アジャイルソフトウィリアム・C・ウェイクは、Capital One Financial、MCI WorldCom、VTLS Inc.、Digital Equipment Corporationなどの企業で20年以上に渡り活躍しているプログラマである


パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法 ジョシュア・ケリーエブスキー(著)

「デザインパターン(パターン)」を目指して「リファクタリング」する手法を解説し、パターンとリファクタリングの両方が学べる実践的な教科書です。

リファクタリングは、ソフトウエアの持つ機能はそのままに、構造を見直す作業であり、開発過程で複雑になっていくプログラムを改善し、バグを減らし、機能拡張にも有効です。

そのリファクタリングの際、「パターン」を取り入れたり近づけたりするようにプログラムを改善していくのが、本書で紹介する「パターン指向リファクタリング」です。

リファクタリングの道しるべとして「パターン」をとらえることで、リファクタリングの幅が広がる一方で、デザインパターンがどういったものかは理解しつつも、 なかなか実際のソフトウエアの設計でうまく生かせない方には、パターンの有効な使い方が学べます。

「まえがき」は、『リファクタリング』の著者マーチン・ファウラーと、『デザインパターン』の著者ラルフ・ジョンソンが執筆。

本書『Refactoring to Patterns』は、米Software Development誌、2005年Jolt Productivity Awardを受賞。

■ 著者

ジョシュア・ケリーエブスキー

エクストリームプログラミング(XP)を専門とするインダストリアル・ロジック社の創始者。
1988年からソフトウエアを開発する一方で、コーチ、指導者を務めてきた。
クライアントには、バンカーズトラスト、MTV、MBNA、アンシス、MDSサイエックス、ニールセンメディアリサーチ、サン・マイクロシステムズなどがある。
XPには、その登場以来、大規模・小規模プロジェクトや分散型XPプロジェクトを通して開発・指導に携わり、最近では、Industrial XPに着手している。
1995年よりデザインパターン勉強会を始め、多くの支持者を得ている。
現在、カリフォルニア州バークレーに妻や娘たちと在住。
『Refactoring to Patterns』は、米Software Development誌、2005年Jolt Productivity Awardを受賞

Odd-e Japanでは、リファクタリング(refactoring)について実践的に学んでいただける認定スクラムデベロッパー(CSD®)研修を開催しています。


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

■ 学べること
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)
− レガシーコードの改善方法 など

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