RobertC.Martinのレビュー一覧
-
Posted by ブクログ
「クラフトマンシップとは、何かをうまくやる方法を知っている状態である。」
クラフトマンシップについて扱ったアンクルボブの新著は、前半の少なくない分量をTDDの解説に割いている。なぜTDDなのか、あとからテストを書くことの弊害、TDDによりコードが洗練されていくさまが丁寧に書かれており、このパートだけでも多くのエンジニアに読んでいただきたい代物だ。
そして、後半の「いい仕事」をするための心構えについてはいろいろ考えさせられた。自分の仕事の影響は、利用者が受ける。そのあたりまえのことを忘れずにクラフトマンシップをもって臨むことが大切なのだ。 -
Posted by ブクログ
ネタバレエンジニアになったときからアジャイルが当たり前にあったので、アジャイルの目的や手法について詳しく学んだことがなかった。この本で目的や手法についての把握ができてよかった。以下まとめ。
## アジャイルとは
- 開発プロセスを効率化する方法論
- ソフトウェア開発を予測可能、実行可能、管理可能にする方法論
## 第1章 アジャイル入門
ソフトウェア開発の4つのよりよい手法として以下があげられた
- プロセスやツールよりも 個人と対話を
- 包括的なドキュメントよりも 動くソフトウェアを
- 契約交渉よりも 顧客との協調を
- 計画に従うことよりも 変化への対応
### 鉄十字とは
- プロジェクトマネジメントのトレードオフ
- 「品質」「速度」「費用」「完成」のうち好きな3つを選べる。4つは選べない
- アジャイルはすべてを100%にするのではなく、各属性の係数をうまくマネジメントすることを可能にしている
### アジャイルはマネジメントをどのように支援するか
- 鉄十字の係数を管理する際に必要なデータを提供する
- 例えば、チームのベロシティ、バーンダウンチャートなどのデータを提供する
- イテレイーションプランミーティング(IPM)でイテレーションを見積もることで、どのくらいのストーリーが完成する可能性があるかをステークホルダーが把握するため
- ベロシティの低下から、コードの品質が低下している可能性があったりすることが考えられる
## 第3章 ビジネスプラクティス
### 三点見積もり
- この見積りは、 最良ケース、 最有力ケース、 最悪ケース の3つの数値で構成される
- これらの数値は、 信頼性を持つ 見積り。 最悪ケース の数値はタスクが95%の信頼性で完了する時間を示している。同様に、 最有力ケース は50%の信頼性、 最良ケース は5%の信頼性を持っている
### イテレイーションプランミーティング(IPM)/スプリントMTG
- イテレーションは イテレーションプランニングミーティング( IPM)から始まる
- IPMにはチーム全体が参加する。つまり、ステークホルダー、プログラマー、テスター、プロジェクトマネージャーなどが含まれる
- ステークホルダーは見積もられたストーリーを事前に読み、ビジネス価値の順番で並べていく
### ユーザーストーリー
- システムの機能をユーザーの視点から簡潔に記述したもの
- ストーリーはINVESTという頭文字のガイドラインに従う
INVEST
- 他のストーリーに依存せず、独立している(Independent)
- 内容が交渉可能である(Negotiable)
- 価値がある(Valuable)
- 見積可能である(Estimable)
- 大きさは1つの反復期間に収まる範囲に小さい(Small)
- テスト可能である(Testable)
### スパイク
- ストーリーを見積もるためのストーリー
### ベロシティ
- プログラマが完成できると考えるストーリーポイントの合計値 -
Posted by ブクログ
アジャイル開発をどれだけ実践できるだろうか、実践できていだろうかと考えて、本書を手に取った。
アジャイルの考えやプラクティスがたくさんケーススタディできるようになった昨今において、アジャイル失敗しているなどあるがWF vs アジャイルを見かけることもある。
アプローチの違いでしかないので、どちらがいいか悪いかはない。
この本を読んでいて、アジャイルマニュフェスト自体を誤解していたなと思った。アジャイルを本格的に導入実践するにあたって参考にしていきたい。
そして、アジャイルに失敗したことがある人こそ一度読んでみてほしい。そもそもアジャイルというものを誤解していたから失敗したということがあるかもしれない。
-
Posted by ブクログ
Clean Craftsmanship
プログラマーのRobert C.Martin氏の著書です。
倍増する経験の浅いプログラマーに向け、プロのプログラマーが持つべき規律、基準、倫理とは、何であるかを解説した本になります。
【本書で学べること・考えること】
- 規律
XP(Extreme Programming)プラクティスの「サークルオブライフ」から、技術に関する以下の5つのプラクティスをベースに解説しています。
- テスト駆動開発
- リファクタリング
- シンプルな設計
- 協力的プログラミング
- 受け入れテスト
- 基準
基準とはベースラインとなる「期待」であると定義し、以下の項目を解説しています。 - 生産性
- 品質
- 勇気
- 倫理
倫理では、プログラマーの仕事の重要性を説き、プログラマーの誓いとして12項目について解説しています。
読んでみての感想です。
ボブおじさんのCleanシリーズの最新刊です。
本書の内容としては、テスト駆動開発、リファクタリング、シンプルな設計の規律に関する記述が多くを占めています。
特にテスト駆動開発が、すべてのスタートであり、これが無くては何も始まらないからです。
でも、TDDってやり方がわからない・・・
大丈夫です。
本書では、Web上でボブおじさんが実際にTDDを行っている動画を5本観ることができます。こんな感じで進めるのかとイメージが湧くと同時に理解しやすいです。
ボブおじさんのハイテンションも面白いです。(笑)
基準や倫理については、プログラマーの構成人員の関係上、あまり体系的にまとめられた資料がなかったので、非常に有益です。
今後も増え続けるプログラマー間の競争を生き抜くためにも、規律、基準、倫理を理解しておきたいと思える良書でした。
ちなみにサンプルコードはJavaです。 -
Posted by ブクログ
Clean Code アジャイルソフトウェア達人の技
プログラマーのRobert C.Martin氏の著書です。
Javaを例にして、プログラムを書くときの心構え、注意点、アンチパターン、リファクタリングのやり方などを解説した本になります。
リーダブルコードより、レベルの高い話しが書かれています。
【本書で学べること・考えること】
- クリーンコードとは何か
- 意味ある名前とは
- 関数のあるべき姿
- コメントのあるべき姿
- 書式化のメリット
- オブジェクトとデータ構造
- エラー処理
- 境界
- 単体テスト
- クラス
- システム
- 創発
- 同時並行性
- においと経験則
読んでみての感想です。
書いてあることは、非常に的を得た内容になっています。
ココに書かれていることを意識すれば、書くコードのレベルが一段上がることは間違いありません。
言語としては、Javaを例に書かれているので、Javaの経験がない人にはわかりにくい部分もあると思います。
ただ、全体的にみれば、言語を問わずに使える有用な内容になっていると思います。
個人的には、「においと経験則」の部分に体系的にコンパクトにまとめられているのが気に入りました。
「リーダブルコード」→「Clean Code」の順番で読むのがおススメです。 -
Posted by ブクログ
Clean Agile 基本に立ち戻れ
プログラマーのRobertC.Martin氏の著書です。
アジャイル宣言以後、プログラミングの世界で定着したアジャイルですが、広がるにつれ誤解も一緒に広がっています。
アジャイルとは何なのかを、基本に戻って確認するための一冊です。
【本書で学べること・考えること】
- アジャイルの歴史(アジャイル宣言)
- アジャイル概要
- サークルオブライフ(XP)
- 顧客、開発者の権利
- ビジネスプラクティス
- チームプラクティス
- テクニカルプラクティス
- アジャイルの価値基準
- 大規模アジャイル
- クラフトマンシップ
読んでみての感想です。
本書を読んで、アジャイルの基本を再認識することができました。
サークルオブライフのプラクティスを利用して、ビジネス・チーム・テクニカルの側面から各プラクティスを説明しています。
体系的にまとめられており、理解が進みました。
また、アジャイルの価値基準では、アジャイルは小から中規模のソフトウェア開発向けであり、大規模アジャイルやハードウェアのアジャイルなどはないということも再認識できました。
印象的だったのは、チームプラクティスでFace to Faceのコミュニケーションを非常に重視している点でした。ココは、普段の業務でも苦労しているので・・・
個人的には、TDDを実践するにあたり、うまくいっていないので、TDDに詳しい技術書を読んで、更に実践できるようにしたいです。 -
Posted by ブクログ
ネタバレアジャイルは経験したことがないが、もし経験した時にはこの本をもう一度読み返して、アジャイルの本質は忘れずに取り組んでいきたい。
アジャイルと一緒によくでてくるXPやTDD等、本書の言葉でいえばメソドロジーにこだわるのではなく、そのメソドロジーで叶えたいとしているイデオロギーを見据えることが大事であるというのは、見失わないようにしたい…。
本書ででてくるプラクティスも、いずれはよりよいプラクティスに代替され、マニフェストも塗り替えられていくのかもしれない。
アジャイルだけに限らず、ソフトウェアの開発手法の本質について考えさせられる内容でした。