三位一体。普通の事ですが...今の日本のソフトウェア開発に必要な思想と思う。
三位一体とは、宗教的には
「神・キリスト・聖霊が本質的に一体であり、実体は三つの位格によって表れると考える教え(*1)」
ですが、ここでは単に、
「3つのものが結びつきがあって1つのなにかをなす(*2)」とか「三つのものが一つになる(心を合わせる)こと(*3)」
と言う考えや教えみたいな意味で、この言葉を使っています。
ソフトウェア開発で言う三位とは以下の3つ。
・管理 (プロジェクト管理/開発管理)
・仕様/ドキュメント (要件/設計/仕様)
・ソース (プログラム他、実装物)
いずれかが欠落していると全て上手く行かないとか、分業・責任範囲の明確化も大事だが一体であることの知識と認識を失ってはならないとか、みたいな。。。
誤解の無いように。ここで言いたい三位一体とは、3つを1つに統合と言うような考えではない。3つの各位はそれぞれ認められており、お互い考慮・尊重というか、相互依存の運命共同体というか、より高い視野であり、1つのことを多面的に見るアプローチや思考を指しています。
それに、普通の事なんですが、そもそも一体なはずなんです。いつの頃からか昔からか、責任という壁で分離されてしまって。責任範囲外のことは余計な精神的負担や金銭的工数になるので協力に消極的であったり拒絶したり。あるいは、一体とは程遠いので、歪みが出るの。それとも、業界の激しきモラルの低下現象なのか。
これからの日本のソフトウェア技術者は三位一体を語れるようになるべし、と思う。特に、上流ばかりに流れたり、管理型の開発ばかりに流れたり、今の日本のソフトウェア技術者は、空洞化していると感じるから。それに、3つを体得しないと、アジャイルなんて実践出来ないから。少なくともスーパーエンジニアを目指しているのなら。
上流から下流までアジャイル的に同じ人間がこなすことも1つの解。ただ、日本業界一般としては分業体制の中で解決法を探る必要があり、せめて共存共栄の精神のもとで各位の使命をまっとうするべし。
三位一体の思想。今の日本のソフトウェア開発に必要な思想と思う。
でも、普通のことなので、偉そうにアピールしても仕方ないか。説教くさいのは好きじゃないし。あとは自分で考えて。。。
*1 wikipediaなどより引用。文言は文脈に合わせて変更した。
*2 はてなダイアリーキーワードより引用。
なお、三位一体は、英語では、TRINITY(トリニティ)。
私のハマった映画「マトリクス」の登場人物の女性(NEOの恋人)がトリニティって名前。
*3 Microsoft Bookshelfより引用。
