開発抽象化レイヤ
プログラマの作業しているレベル(たとえばEmacsの上)というのは、ビジネスを支えるためにはあまりに抽象化されている。開発抽象化レイヤで作業している開発者には、実装レイヤ――開発者のコードを製品へと変える組織――が必要だ。ドリー・パートンは「素敵な歌を歌う」レイヤで仕事しているが、彼女も膨大な実装レイヤを必要としている。レコードの制作、コンサートホールの予約、チケット販売、オーディオ装置の設置、レコードのプロモーション、ロイヤリティの回収。
成功しているソフトウェア会社では、ソフトウェアを作る開発者の薄いレイヤが、抽象化を提供する大きな管理的組織の上に広がっている。
抽象化の存在意義は、プログラマの日々の活動(設計し、コードを書き、コードをチェックインし、デバッグし、といったこと)がソフトウェア製品を作り、マーケットへと届けるのに必要なすべてだという幻想を作り出すことにある。これは私がこのエッセイで伝えたい最も重要なポイントにつながっている:
ソフトウェアチームのマネージャの優先度第一の仕事は、開発抽象化レイヤを構築することである。
hr.icon
なるほど、と思うとともに、どこまで抽象化するかというのは微妙な問題だなぁと思った。koma.icon