こんにちは、 @kz_morita です。
ソフトウェア職人気質という本を読んだので,感想などを書いていきます.
ソフトウェア職人気質―人を育て、システム開発を成功へと導くための重要キーワード目次
第 1 部 ソフトウェア工学に対する疑問
- 第 1 章 ソフトウェア工学とは?
- 第 2 章 ソフトウェア工学の問題
- 第 3 章 ソフトウェア開発を理解する
- 第 4 章 ソフトウェア工学よりも優れたメタファを探る
第 2 部 ソフトウェア職人気質
- 第 5 章 ソフトウェア開発に人を呼び戻す
- 第 6 章 資格制度の対極に位置する職人気質
第 3 部 ソフトウェア職人気質がもたらすもの
- 第 7 章 職人気質がシステムのユーザにもたらす変化
- 第 8 章 顧客と職人の関係
- 第 9 章 職人の管理
- 第 10 章 ソフトウェア職人になる
- 第 11 章 技芸の熟達
- 第 12 章 アプレンティス
- 第 13 章 ジャーニーマン
第 4 部 ソフトウェア工学の位置づけを再評価する
- 第 14 章 ソフトウェア工学に則ったプロジェクト
- 第 15 章 ソフトウェア工学メタファの危険性
= 第 16 章 ソフトウェア工学からの教訓
第 5 部 土壇場になって行うこと
- 第 17 章 経験?プロジェクトを成功させる秘訣
- 第 18 章 テストと保守のための設計
- 第 19 章 永続的な学習
感想など
本の題名にある ソフトウェア職人気質
は Software Craftsmanship
の日本語訳です.
この本では,ソフトウェア工学
と ソフトウェア職人気質
を対比して書かれていました.
ソフトウェア開発は,科学的で工学的な活動ですが,同時に芸術的な側面もあり,それらが創造的に調和したものと述べられています. これは,確かになぁと思うところもあり,例えば「きれいなコード」「美しい設計」「UNIX哲学」などエンジニアとして大事にしている価値観は,科学や工学とは異なるなにかだと思います.
ソフトウェア職人気質というメタファを用いることで,上記のような技芸やエンジニアの経験といったものに焦点を当てることができるという旨が記載されていました.
ソフトウェア工学が一般的なソフトウェアの開発に合っていないことが多いと述べられていて,小規模のチームで行うソフトウェア開発のプロセスとは合わないというところは実感が出来ました. そして,ソフトウェア工学の手法としてウォーターフォールが,ソフトウェア職人気質を踏まえて手法としてアジャイルが紹介されてこの対比は面白かったです.
工学と言われると工数が足りない場合は人を足せば間に合うように見えますが,実際はそんなことはなく人を増やしてもうまく回らないことも多く個人の能力によって生産性に大きく差がでるというところも工学的ではない技芸が関わっているということだと思います.
本を読む前は職人や芸術などというワードに多少の違和感は感じていました. 読了後は,ソフトウェア開発においてスキルの熟練度(そしてスキルを熟練させていく行為)や過去の経験からくる知識などはとても重要であることは実感としてあり,それが科学的,工学的なものかといわれるとそれも異なるという点で,職人,技芸という言葉はそれらをうまく言い表しているなぁと感じました.
Craftsmanship という言葉がとてもしっくりきて大事にしたい価値観だと思います.
日頃うまく言語化できてなかったところがうまく言い表されていて,とてもおもしろかったです.