ソフトウエア工学といったらこの人 デ・マルコを語らずにはいられないといったような
内容の記事をどこかで読んだ記憶あります。
彼の3部作の第1作目ですが1989年に出版されました。
これは2版となって2001年に出版されています。
プログラマというよりSE,チームを組織するリーダーや管理者に重要な意味を与えてくれる本です。久し振りに読みなおしたわたしは、心底、恥ずかしいと思うことが多く反省しました。
以下は、ざっと概要です。
【Ⅰ. 人材を活用する】
実際のところ、ソフトウエア開発上の問題の多くは、
技術的というより社会学的なものである。
プログラマーの最優秀者の測定値は最低者の10倍である。
最優秀者の測定値は平均作業者の役2.5倍である。
上位半分の平均測定値は、下位半分の平均の2倍以上である。
【Ⅱ. オフィス環境と生産性】
プログラマの生産性要因を調べたところ、優秀なプログラマはある特定の企業に遍在している。
一人当たりのオフィス面積が広く、騒音が気にならない環境で優秀なプログラマは生息している。
【Ⅲ.人材を揃える】
服装規定や標準といったルールで社内を縛り型にはまった人間を採用することは、管理側の不安の表れであり、力のある管理者は見かけではなく成果だけを気にする。
人を雇うときに能力テストをするのは賛同できない。なぜなら能力テストは雇った直後の仕事ができるかどうかを測るものにすぎず、2年でそれを終えてしまったら後の20年は違う仕事をしてもらうことになるからだ。
技術よりも社会学的なのだから採用にあたっては、少なくとも社会性や人とのコミュニケーションのやり方の特徴に注目すべきだ。
応募者が過去の仕事について発表をする、オーディションの実施は良い方法だ。新採用者の同僚となるはずの人達で聴衆グループを編成する。
退職は明らかに無駄なコストであり、誰も長期的に物事を考えようとしない。
最良の組織とは、決して似たもの同士ではない。むしろ、似ていることよりも似ていないことのほうが多い。
関心の高いこと。それは、ベストになることだけでありそれが理念である。
ずっと勤め続けることが期待されているという感覚が広くいきわたっている。
作業を一つの手法に統一することを実現する方法は
1)教育研修
2)ツール
3)詳細レビュー
【Ⅳ.生産性の高いチームを育てる】
人はチームが一体となったときに良い仕事をするし、いっそう楽しいと感じる。
良いチームには選ばれた者としての感覚がある。
結束したチームには自分たちが作りだした生産物共有意識がある。
チーム殺しは以下の通り
・自己防衛的な管理
・官僚主義
・作業場所の分散
・時間の分析
・品質低減製品
・さばを読んだ納期
・チーム解体の方針
みんなで協力して何かを作る経験を持つ。
健全な会社にするための不思議な作業を生みだす戦略
・品質至上主義を作りだす
・満足感を与える打ち上げをたくさん用意する。
・エリート感覚を醸成する。
・チームに異分子を混ぜることを奨励する。
・成功チームを解散させないで保護する。
・戦術でなく戦略を与える。
有効なイベント
・試行プロジェクト
・プログラミングコンテスト
・ブレーンストーミング
・実戦さながらの訓練
・教育・旅行・学会・お祭り、そして冒険体験