ソフトウェア開発を社会学的な観点から考える本(ピープルウェア)

人月の神話」に続いて、今回取り上げる本も、とても有名な本です。



著者のひとりであるトム・デマルコさんは、有名な『構造化分析とシステム仕様』の著者でもあります。(今でも私のバイブル本の一つです。)

そんなこともあって、この本はかなり前から知っていましたが、記事『ソフトウェア開発の本質的な課題を知る本(人月の神話)』で書いたように、私はプロジェクト管理的なことに興味が薄かったため、これまで読んでいませんでした。

そんな中、「人月の神話」を読んだとき、第19章で以下のように紹介されていました。

近年の主要な収穫と言えば、デマルコとリスターの1987年の著作『ピープルウェア:生産的なプロジェクトとチーム』だ。その根底にある理論は、「我々の作業にまつわる主要な問題は、本質的には技術的というより社会学的なものだ」というものである。
この本には「マネージャーの働きは人々に作業をさせることではない。人々が作業できるようにすることである」といった名言が豊富にある。
(中略)
私は心から本書の読者すべてにこの本を読まれることを勧める。


このように勧められてしまうと、これは読まねば、ということで購入して読むことにしました(笑)。

<本の内容>

この本の要旨は、Wikipediaに書かれていますし、ネット上にも多くの記事があります。

こんな状況なので、「人月の神話」と同様に、本を買って読む必要があるのか?と思いたくなりますね。。。

しかし、実際に読んでみると、確かに…と思えることが多い本でした。
(さすが、影響力のある本です。。。)

本書の構成は以下のようになっています。(全39章)
第Ⅰ部 人材を活用する
第Ⅱ部 オフィス環境と生産性
第Ⅲ部 人材を揃える
第Ⅳ部 生産性の高いチームを育てる
第Ⅴ部 肥沃な土壌
第Ⅵ部 きっとそこは楽しいところ

私は社会学に詳しくないので、この本が社会学的なのかどうかはわからないのですが、少なくとも設計やプログラミンなどの技術に関する本でないことは明らかでした(笑)。

ユーモアのある語り口調で、とてもスラスラ読むことができます。(講演を聞いている感じです。)

一方、スラスラ読めすぎて、読み終わった時は、その内容をすっかり忘れてました(笑)。
また、最初に読み進めている時は、
  • 例が冗長な感じがして、もう少し短く要点だけ書いてくれればいいのに…
  • この本に出てくるようなマネージャーを私は見たことないな…(日本とは文化が違う?)
などと思いながら読んでいたように思います。

優しい語り口調なので、最初は印象に残りにくかったのですが、後に、面白い印象があった章を自分なりに考えながら読み返してみると、刺さる言葉も多く、そして例は必要だったんだ、とか、もしかして自分がこんなマネージャーになっていないか?とか、なかなか深いものを感じました。

全ての内容に興味を持ったわけではありませんが、全39章の多くで納得できました。そして、フレデリック・ブルックスの紹介文の通り、名言が豊富にあったと思います。

私の印象に残った言葉をいくつか書きます。
  • ソフトウェアの開発作業は、工場における大量生産とは本質的に異なる。
  • エンドユーザーの要求をはるかに超えた品質水準は、生産性を上げる一つの手段である。
  • プログラムは夜できる
    • 意外なことに、残業の真の目的は、仕事の量をこなすよりも品質向上のためなのだ。
  • 単独で作業をする場合、プログラマーは心理学者の言うフロー(Flow)状態になっていることが理想だ。
  • 退職は明らかに無駄な出費
  • チームと派閥の違いは、そよ風とすきま風の違いである。
  • チーム殺し、7つの秘訣
    • ほとんどの会社は、意識してチーム殺しはしない。ただ、そうなるように行動してしまうだけだ。
    • (チームを結束させる法則を書こうとしたら1つも書けなかったがチーム殺しは書けた、という流れが面白かった。)
  • 決定論的なシステムを作ると、その結果としてシステムの自己修復能力が失われるということである。
  • プロジェクトがリスクを抱えていることは、その価値を示す印かもしれないということは強調しておく意味があるだろう。
  • 時計によって終わる会議は儀式だ。
  • 「第34章変化を可能にする」に書かれている内容

プログラマには笑いながら読める?本ですが、(マネージャーというより)経営者に真剣に読んでいただきたい本だと思ったりして。

関連記事

コメント

このブログの人気の投稿

Google Document AIで画像から表形式データを抽出する(Vision API OCRとの違い)

VirtualBoxのスナップショット機能

Ubuntu/Colab環境でPDFファイルのページを画像化する(pdf2image、pdftoppm、pdftocairo)