こんにちは。
最近、実践ソフトウェアエンジニアリング
を読んでます
実践ソフトウェアエンジニアリング (第9版) | ロジャー・プレスマン, ブルース・マキシム, 西康晴, 水野昇幸, 井芹久美子, 井芹洋輝, 池田暁, 岡澤裕二, 金子昌永, 衣笠駿, 鈴木一裕, 根本紀之, 松尾和昭, 山崎崇 | 工学 | Kindleストア | Amazon
1章を読んでかなり良かったので感想 & まとめを書きます。
まとめNotion:
hammerhead-calendula-6a6.notion.site
モチベーション
ソフトウェアエンジニアリングとは、ソフトウェアを作ってユーザーに提供するために必要な全てのことを論じる学問である
Software engineering is the branch of computer science that deals with the design, development, testing, and maintenance of software applications. Software engineers apply engineering principles and knowledge of programming languages to build software solutions for end users.
en.wikipedia.org
ソフトウェアを提供する組織に居る以上、ソフトウェアエンジニアリングはソフトウェアエンジニアのみならず、全ての人間が知っておくべきだと考えている。
自分の経験上、組織の与えられたロール・ドメインに対して必要な知識を習得する傾向があるが、ソフトウェアエンジニアリングがソフトウェアを作る共通言語なのに、ソフトウェアエンジニアしか知らない(なんなら自分もソフトウェアエンジニアとしては経験的な暗黙知しかなく体系的な知識は持ってない)ように思える。
もし、ソフトウェアエンジニアリングが組織の共通言語となったとき、ものすごいバリューを産むのだろうという仮説を立て、ソフトウェアエンジニアリングを学び始めた。
感想
ソフトウェアエンジニアリングの本として最近有名なのは Googleのソフトウェアエンジニアリング
(通称、swe book)であろう。
swe bookはGoogleのそれまでのプラクティスからどのようにソフトウェアエンジニアリングを捉えて、文化形成、プロセスをつくっているかという本であった。
具体例も多く、Googleが重視するスケールとトレードオフというソフトウェアエンジニアリング原則が一貫しており、多くの人が理解しやすく、実践もしやすい本であると感じた。
一方、実践ソフトウェアエンジニアリング
は、様々なソフトウェア開発プラクティスからソフトウェアエンジニアリングを体系化したと感じ、より学問・実学としてのソフトウェアエンジニアリング色が強いように思える。
swe bookに比べて、ソフトウェア開発経験がある程度ない人にはピンとこないであろうと思う。
特に、一章のソフトウェアエンジニアリングの抽象化は素晴らしいのだが、ソフトウェアエンジニアでないと理解するのは難しいと思う。
パッと見て全人類読んだ方が良いと思うくらい良い本だと個人的には感じるが、中々読者を選ぶんじゃないかと思う。
高い視点を与えており、血となり肉となるような知識が得られるだろうが、すぐに実践は難しいんじゃないかなとも思う。
FYI: 翻訳者の一人の方の書評が非常に参考になる。
masskaneko.hatenablog.com
以下に1章のまとめを抜粋する
続きを読む