試験公開中

このエントリーをはてなブックマークに追加

Clean Craftsmanship

アスキードワンゴ

2,816円 (2,560円+税)

ソフトウェア開発に必要な「規律、基準、倫理」を身につけよう! より良く働き、生産性を高め、自分が書いたものに誇りを持つ!

内容紹介

現代社会では、ソフトウェアが社会のインフラとしてあらゆる場面で活用されている。これらのソフトウェアの不具合や、ソフトウェアを用いた不正行為などが起こると、人々の生活に大きな悪影響を与えることになる。社会に影響を与える技術には、規律と制御が必要とされる。本書の目的は、ソフトウェア開発者とそのマネージャーたちに、規律の必要性を印象づけ、堅牢で対障害性のあるソフトウェアを構築するために最も効果的な「規律、基準、倫理」を教えることにある。

(略)ボブは本当のおじさんのようだった。温かくて、決断力があり、勇気のある人で、我々が自分たちで正しいことができるように見守ってくれた。子どもたちに自転車の乗り方や魚釣りを教えるように、我々にはインテグリティ(誠実さ)を持ちながら妥協しないことを教えてくれた。いかなる状況でも勇気と好奇心を持って立ち向かう能力と意欲を持つことが、今でも私のキャリアのなかで最高の教訓になっている。

 ボブの教訓を大切にしながら、私はアジャイルコーチとして世界に出た。それからすぐに、最高のプロダクト開発チームは業界や顧客に合わせてベストプラクティスを組み合わせていることに気づいた。世界最高の開発ツールであっても、それを使う人間(自分たちのドメインにツールを適用することを考えているチーム)以上の性能は出ないという状況を目の当たりにしたとき、ボブの教訓を思い出した。チェックボックスにチェックを入れ、指標を満たすためだけにユニットテストのカバレッジを達成しているチームは、いくらカバレッジが高くても意味がない。つまり、指標を満たしていても、価値を提供していないのだ。最高のチームは指標を気にしない。彼らは、目的、規律、誇り、責任を持っている。すべてにおいて、指標がそれを裏付けていた。本書は、そうした教訓や原則を実践的なコード例や経験にまとめており、納期を守るために書くことと、将来に向けて持続可能なものを作ることの違いを説明している。

 本書は、恐れを知らない能力を持ち、妥協せずに歩み続けることを思い出させてくれる。古い友人のように、何が重要で、何が重要ではなく、何がうまくいき、何がうまくいかず、何がリスクを生み、何がリスクを減少させるのかを思い出させてくれるだろう。これらの教訓は時を超える。あなたがすでに実践しているテクニックもあるだろう。新しい発見もあるだろう。以前は実践していたが、納期などのプレッシャーに負けて失ってしまったものもあるだろう。開発の世界に(ビジネス側であれ技術側であれ)入ったばかりの人にとっては最高の教材となる。経験を積んで戦いに疲れた人にとっても、自分を向上させる方法を見つけることができるだろう。本書を読むことによって、これからどのような障害物に直面しようとも、情熱を取り戻し、技術を向上させたいという思いを新たにし、完璧を追い求めるエネルギーを回復させることができるだろう。

 ソフトウェア開発者が世界を支配している。アンクル・ボブはそのような力を持つ人たちにプロとしての規律を思い出させてくれる。彼は『Clean Code』で触れていなかった部分を語っている。ソフトウェア開発者は人間社会のルールを書いているのだから、我々は厳格な倫理規定を遵守しながら、コードの動作、人々がどのように使うのか、どこが壊れているのかを把握する責任がある。アンクル・ボブはそうしたことを思い出させてくれる。ソフトウェアのミスは人々の生活(さらには人生)に悪影響を与える。ソフトウェアは我々の考え方や意思決定に影響を与える。人工知能や予測分析の結果は社会や群集行動に影響を与える。したがって、我々は責任を持ち、細心の注意と共感を持って行動しなければならない。そこには人々の健康と幸福がかかっている。我々がこうした責任に向かい合い、社会から求められるプロになることをアンクル・ボブが手伝ってくれるのである。

 これを書いている時点で、アジャイルソフトウェア開発宣言ができてから20年になろうとしているが、本書は「基本に立ち戻る」絶好の機会だろう。プログラミングの世界がますます複雑化するなかで、人類の遺産(と我々自身)のために、倫理的な開発を実践することをタイムリーかつ謙虚に思い出させてくれる。時間をかけて本書を読んでほしい。原則を自分のなかに浸透させてほしい。そして、実践しよう。改善しよう。誰かをメンタリングしよう。本書を本棚に入れておこう。これから好奇心と勇気を持って世界を進んでいくときに、本書をあなたの古い友人(あなたのアンクル・ボブ、あなたのガイド)にしてほしい。

(「序文」より)

書誌情報

  • 著者: Robert C.Martin(著), 角 征典(訳)
  • 発行日: (紙書籍版発行日: 2022-08-31)
  • 最終更新日: 2022-08-31
  • バージョン: 1.0.0
  • ページ数: 336ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: アスキードワンゴ

対象読者

著者について

Robert C.Martin

Robert C. Martin(アンクル・ボブ)は、1970年からプログラマーである。cleancoders.comの共同創業者であり、ソフトウェア開発者向けの学習用動画をオンラインで提供している。また、Uncle Bob Consulting LLC.を設立し、世界中の大企業を対象としたソフトウェアコンサルティング、トレーニング、スキル開発を行っている。シカゴに本拠地を置くコンサルティングファーム8th Light, Inc.では、Master Craftsmanを務めていた。

角 征典

ワイクル株式会社代表取締役。東京工業大学環境・社会理工学院特任講師。アジャイル開発やリーンスタートアップに関する書籍の翻訳を数多く担当し、それらの手法のコンサルティングに従事。主な訳書に『リーダブルコード』『Running Lean』『Team Geek』(オライリー・ジャパン)、『エクストリームプログラミング』『アジャイルレトロスペクティブズ』(オーム社)、共著書に『エンジニアのためのデザイン思考入門』(翔泳社)がある。

目次

序文

はじめに

  • 「クラフトマンシップ」という言葉について
  • たったひとつの道

謝辞

著者について

第1章 クラフトマンシップ

第I部 規律

  • エクストリームプログラミング
  • テスト駆動開発
  • リファクタリング
  • シンプルな設計
  • 協力的プログラミング
  • 受け入れテスト

第2章 テスト駆動開発

  • 概要
  • 基本
  • 結論

第3章 テスト駆動開発応用

  • ソート1
  • ソート2
  • 行き詰まり
  • AAA(準備、実行、アサート)
  • テストダブル
  • アーキテクチャ
  • 結論

第4章 テスト設計

  • データベースのテスト
  • GUIのテスト
  • テストパターン
  • テスト設計
  • 変換の優先順位説
  • 結論

第5章 リファクタリング

  • リファクタリングとは?
  • 基本的なツールキット
  • 規律
  • 結論

第6章 シンプルな設計

  • YAGNI
  • テストでカバーする
  • 表現の最大化
  • 重複の最小化
  • サイズの最小化

第7章 協力的プログラミング

第8章 受け入れテスト

  • 規律
  • 継続的ビルド

第II部 基準

  • あなたの新しいCTO

第9章 生産性

  • 絶対にS**Tを出荷しない
  • 安価な適応力
  • 常に準備万端
  • 安定した生産性

第10章 品質

  • 継続的改善
  • 恐れを知らない能力
  • エクストリームな品質
  • QAを軽視しない
  • QAは何も発見しない
  • テストの自動化
  • 自動テストとユーザーインターフェイス
  • ユーザーインターフェイスのテスト

第11章 勇気

  • お互いをカバーする
  • 正直な見積り
  • 「ノー」と言う
  • 継続的挑戦的学習
  • メンタリング

第III部 倫理

  • 最初のプログラマー
  • 75年
  • オタクから救世主へ
  • ロールモデルと悪役
  • 我々が世界を支配する
  • 大惨事
  • プログラマーの誓い

第12章 有害

  • 第一に、害を与えてはならない
  • 最高傑作
  • 再現可能な証拠

第13章 誠実

  • 小さなサイクル
  • 容赦ない改善
  • 高い生産性を維持する

第14章 チームワーク

  • チームとして働く
  • 正直に公正に見積もる
  • 尊重
  • 学習をやめない

訳者あとがき

  • ソフトウェアクラフトマンの歴史
  • クリーンクラフトマンシップ

訳者紹介

索引

Home 書籍一覧 Clean Craftsmanship ▲ ページトップへ戻る