エンジニアの分際

ブログというよりも自分のためのブリコラージュ

人月の神話

 

The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition

The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition

 

This book is a belated answer to Tom Watson's probing questions as to why programming is hard to manage.

大規模ソフトウエア開発の古典、といってもたかだか20数年前の本。TEAL 組織で大規模ソフトウエア開発はできるのだろうか。医者の仕事と何が違うのだろうという意識をもって読み直してみる。

The challenge and the mission are to find real solutions to real problems on actual schedules with available resources.

このチャレンジとミッションは現場医療にもそのまま適用できるように読める。

Deep within, we want others to use our work and to find it helpful.

不特定多数の顧客を相手に本当に役に立っているのだろうかと疑問を持ち始めてしまうと組織の存在意義が揺らぎかねない。これと比べて医師の存在意義は揺らぎない。

The Joys of the Craft

Few media of creation are so flexible, so easy to polish and rework,

The programmer, like the poet, works only slightly removed from pure thought-stuff.

ソフトウエア開発は工芸家や詩人の仕事に似ているのだろうか。医師や士業の人は国家資格が必要で合格すれば、ある程度の業務遂行能力は保証される。計算機科学やソフトウエア工学には、工芸を教える、芸術を教えることに近い難しさがあるのだろうか。

ソフトウエア開発者はアスリートのようなものとする(アスリートが達成することを芸術的なものと形容する)のなら、その管理にはプロ・スポーツ・チームの管理法を使い続けるべきで、TEAL 組織へ進化しようとすることは間違いなのだろうか。

First, one must perform perfectly.

Next, other people set one's objectives, provide one's resources, and furnish one's information.

In management terms, one's authority is not sufficient for his responsibility

TEAL 組織で意思決定を個人にまかせ管理者がいないというのは問題なのだろうか。

アスリートというのは監督やコーチからアドバイスを受けるが最終的には究極の自己管理ができる人なのではないだろうか。

設計、実装、品質管理をはじめとする、あらゆるものの責任を開発者ひとりが負うのは無理という意味であれば納得できる。

organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.

    — M. Conway