理想は開発者=ユーザ

以前から思っていることなんだけど、開発者側にレイヤーが多ければ多いほど開発って失敗しやすくなると思う。

レイヤーが多ければ多いほど、意思決定が遅くなるし、情報が正しく伝わらない度合いが悪化する。

なんとなくこんな言葉が、僕のイメージに近いのかなと思って書いてみた。プログラムを作る人がお客様と話をして、欲しいものをデザインする。

XPでいうところのオンサイト顧客で開発するプログラマーのこと?

開発者とユーザとの心理的、物理的距離が近ければ近いほど、開発はうまくいく。優れたソフトウェアには、開発者が自分自身で使うために開発したものが多い。エディタ、言語、ブラウザ、メーラなどには、優れたソフトウェアが多いが、これらの多くは開発者自身が使いたいから開発したものである。