アジャイルやスクラムをはじめようと思ったとき、はじめたばかりのとき、実際にはじめてみて壁にぶつかったとき、さまざまなシーンで、インターネットの記事や資料、書籍を探して読んでいるでしょう。
今回は、スクラム開発でも特に「スクラムチームにおける開発者(エンジニア・技術者・プログラマ)」のみなさんにとってぜひお役立ていただきたい本をご紹介します。
特に、スクラム開発においてプログラマとして、エンジニアとしての意識や姿勢が重要であるとお考えのみなさんにぜひ一度は読んでいただきたい本を紹介いたします。
目次
本書は、Andrew Hunt and David Thomas, The Pragmatic Programmer (Addison Wesley, 1999) の日本語版で、『達人プログラマー システム開発の職人から名匠への道』(ピアソンエデュケーション、2000)の訳を全面的に改稿し、新装版として発行されました。
本書は、より生産的になりたいソフトウェア開発者に向け、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆されました。経験を積み、生産性を高め、ソフトウェア開発の全体をより良く理解するための、実践的なアプローチが解説されています。達人プログラマとしての哲学やアプローチについて、つまりは良いエンジニアになるための考え方や行動、プロジェクトの進め方について書かれており、またツールの使用やコーディングなど実践的な内容までフォーカスした「良いエンジニアになるための実践的アプローチを説く名著」と言えるでしょう。
先見性と普遍性に富んだ本書は、入門者には手引きとなり、ベテランでも読み直すたびに得るものがあるでしょう。読者がプログラマーとしてさまざまな経験を積んでいくことで、どんどん考え方や感じ方が変わってくるでしょう。そのときどきに本書を読み返すことで、さらに新しい気付きが得られるのではないでしょうか。
アンドリュー・ハントは、ソフトウェア開発に関する書籍を多数出版してります。彼は、本書「達人プログラマー」の他にも10冊の書籍、また数多くの記事を共著し、アジャイルマニフェスト(Agile Manifesto)を宣言した17人のうちのひとりでもあります。
アジャイルアライアンス(Agile Alliance)の創設者でもある彼は、パートナーであるデビッド・トーマス(David Thomas)は、ソフトウェア開発者向けのPragmatic Bookshelfシリーズの本を創設しています。
また彼らは、The Pragmatic Programmers, LLC社におけるパートナーであり、顧客にはソフトウェアシステム開発を提供し、プログラマとマネージャに対しては、達人的なリソースを提供しています。
デビッド・トーマスは、コンピュータープログラマーであり、作家、編集者です。彼にはRubyについての著書があります。アンディ・ハントと共に本書「達人プログラマー」を共著し、The Pragmatic Bookshelfの出版社を経営しています。彼は、「Code Kata」と「DRY」(繰り返してはいけない)というフレーズを作りました。そして彼もまたアンディ・ハントと同様に、アジャイルマニフェスト(Agile Manifesto)を宣言した17人のうちのひとりでもあります。
ロンドンのインペリアルカレッジでコンピュータサイエンスを学んだトーマスは、1994年にイングランドからアメリカ合衆国に移住し、現在はテキサス州ダラスの北に住んでいます。
生産性の高い人はそうでない人に比べ、同じ時間でより多くの仕事をし、より多くの成果を上げることができます。本書は、ソフトウェア開発におけるプログラマの生産性についての書籍です。
プログラマ個人が、どのような意識を持ち、どのようなツールを使えば、単位時間当たりの仕事量を増やすことができるかについて示されています。
本書は2部からなり、「I部 技法編」では、作業を自動化するためのツールや集中を維持する方法など、開発に必要な作業の生産性を向上するテクニックとツールが解説されています。「II部 実践編」では、テスト駆動開発やメタプログラミングなど、生産性を高めるために取り入れるべき考え方や習慣について学ぶことができます。
ThoughtWorks社でアーキテクト、コンサルタントをつとめる著者ニール・フォードが、自らの経験に基づきプログラマの生産性向上の秘訣を示す本書は、「達人プログラマ」を目指すプログラマ必携の一冊と言えるでしょう。
ThoughtWorks社のソフトウェア・アーキテクトであり、同社のMeme Wranglerでもある。ITコンサルタントとしてグローバルな活動をしており、特にエンド・トゥ・エンドのソフトウェア開発・配布に関心が高い。ThoughtWorks社への参画以前は、研修・トレーニングとソフトウェア開発で有名なThe DSW Group, Ltd.社でCTOを務めていた。
ジョージア州立大学でコンピュータサイエンスの学位を取得。専門は言語とコンパイラ。副専攻は数学で、専門は統計分析。アプリケーション、研修・トレーニング教材のデザイン・開発を手がけるほか、雑誌への寄稿、プレゼン用ビデオの制作にも関わっている。
1978年生まれ。電気通信大学電気通信学部情報工学科卒業。メーカ系ソフトウェア会社にて携帯電話の開発業務に従事した後、2006年に独立。以降、札幌にてフリーのプログラマとして活動中。
地域やソフトウェア開発の現場、そしてソフトウェア開発者が生き生きとするにはどうしたら良いか、さまざまな現場に赴きながら試行錯誤を続けている。
日本Rubyの会会員。Ruby札幌主宰
1966年大阪府生まれ。翻訳家、フリーライター(本データはこの書籍が刊行された当時に掲載されていたものです)
本書は、等身大のプログラマの一人がキャリア開発の重要性を説き、そのための心構えなどを示したもの。「プログラマはビジネス視点を持って意識的なキャリア開発をすべき」という視点から、その実践方法を著者独特の生き生きとした共感できる語り口で伝えています。
『My Job Went To India オフショア時代のソフトウェア開発者サバイバルガイド』(オーム社、2006年)の改題改訂第2版。
世界最大級の企業のいくつかでソフトウェア開発者およびマネージャを務めるかたわら演説家、ミュージシャンとしての活動を行っています。
世界最大級の企業のいくつかで働き、最優秀のソフトウェア開発者という評価を受けた彼は、InfoEther,Inc.社のCTOとして、Ruby言語における顧客の問題解決に従事しています。
インドに移住し、オフショアソフトウェア開発センターの構築と指導にあたった彼は、毎年行われるInternational Ruby Conference の開催主体である非営利法人Ruby Central, Inc. の共同創設者であり、Ruby コミュニティへの貢献者としても指折りの存在であると言えます。
また、多数の人気ソフトウェア書籍の著者または共著者でもあります。
「ソフトウェアのプロになるには本書が必要だ!」と銘打たれた本書は、 ソフトウェアのプロとは? プロの行動とは? 衝突・厳しいスケジュール・理不尽なマネージャにどう対応すべきか? いつ・どのようなときに「ノー」と言うべきか? プロはプレッシャーにどう対応するのか? こういったプロフェッショナルとしての命題に迫る1冊となっています。
本書は以下の目次から構成されています。
序章 必読イントロダクション、第1章 プロ意識、第2章 「ノー」と言う、第3章 「イエス」と言う、第4章 コーディング、第5章 テスト駆動開発、第6章 練習、第7章 受け入れテスト、第8章 テスト戦略、第9章 時間管理、第10章 見積もり、第11章 プレッシャー、第12章 協力、第13章 チームとプロジェクト、第14章 指導・徒弟制度・職人気質
”本書は、Robert C. Martin, The Clean Coder: A Code of Conduct for Professional Programmers, Upper Saddle River, NJ: Prentice Hall, 2011の全訳である。著者であるロバート・C・マーチンは、「アジャイルソフトウェア開発宣言」に名前を連ねる1人であり、SOLID原則の提唱者としても知られる人物である。
また、「ボブおじさん」の愛称でも親しまれている。
書名に含まれる「clean」の意味を手元にあるMacBookの辞書で調べてみると、「清潔な」以外に「道徳的に汚れのない」や「技や動作が巧みな」といった意味が出てくる。
つまり、「クリーンコーダー」とは、職業倫理や規律を守り自分の腕に磨きをかけるプログラマのことを指すわけだ(もちろん清潔なのも大切だよ!)。
そのようなプログラマといえば、ポール・グレアムの「素晴らしきハッカー」やエリック・レイモンドの「ハッカーになろう」に登場するハッカーが思い浮かぶかもしれない。
独自の文化や美学を持ち、自由とSFを愛し、怠惰で短気で傲慢なプログラマ。
あるいは、『達人プログラマー』や『情熱プログラマー』を思い浮かべる人もいるだろう。
アジャイルソフトウェア開発やテスト駆動開発に興味を持ち、顧客との協調を大切にして、テストのないソフトウェアはレガシーコードだ! と言いのけるようなプログラマ。
どちらも魅力的であり、どちらも目指すべきプログラマ像だ。
だが、本書に登場するプログラマは少し違う。単一責任原則を無視したような3,000行の関数を書いている。
テストを実行せずにシステムをリリースしている。データ構造やアルゴリズムのことをよくわかっていない。
さらには、プロらしからぬ行動が原因で会社を解雇されている。
そのプログラマとは、著者のことだ。
これには驚いた。アジャイル開発やオブジェクト指向で有名なボブおじさんが、プログラマの職を解雇されていたなんて! それと同時に安心もした。
誰もが最初からうまくやれるわけじゃないのだ(自分だけじゃなかった!)。ボブおじさんの失敗を無駄にしてはいけない。SOLID原則を守ろう。
テストを実行しよう。データ構造やアルゴリズムを勉強しよう。それから、解雇されないようにしよう(そのヒントは本書にある!)。
(「訳者あとがき」より)”
ロバート・C・マーチン(ボブおじさん)は1970 年からプログラマとして活動しており、プロジェクトを成功に導く熟練のソフトウェア開発者とマネージャの集団である国際的企業Object Mentor, Inc.の創業者であり代表です。 Object Mentor 社は、大企業向けのプロセス改善コンサルティング・オブジェクト指向ソフトウェア設計のコンサルティングと研修・トレーニング・能力開発サービスを世界に展開しており、マーチンは、業界誌に数多くの記事を書いています。 また、国際的なカンファレンスや展示会では常に著名な講演者として登壇しており、以下のような多くの書籍の執筆も行っています。
ソフトウェア開発業界のリーダーであるマーチンは、『C++ Report』の編集長を3 年務めた。Agile Alliance の初代議長でもある。 Uncle Bob Consulting, LLC の創業者でもある。 また、息子でもあるミカ・マーチンとThe Clean Coders LLC を共同で創業している。
認定スクラムデベロッパー(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)
− レガシーコードの改善方法 など
■ 認定スクラムデベロッパー(CSD®)資格取得
本資格の取得には、Scrum Alliance®が定めた5日間の研修・トレーニングを受講いただきます。
2日間で、 スクラム(Scrum)の原理原則や、正しいスクラムを理解いただき、残りの3日間でソフトウェア開発者として必要な技術的な教育を行います。
参会者のみなさまには、研修・トレーニングを通じて、認定スクラムトレーナー(CST®)から適切に指導を受けながら、「アジャイルな技術者として能力があること」を証明いただきます。
これらの必要な条件を満たすことで、2年間の資格取得を申請する権利を得ることができます。
各種トレーニングについては
以下のリンク先よりお申し込みください。