今週じゃないですが、これなかなかバズりましたね。
はてブのコメントをざーっと眺めてみると、11この題目のうち、
- プログラミングは製造ではなく、設計である
- プログラミングの生産性は人数に比例しない
- プログラムの品質は人を増やしても解決しない
この辺に対する言及が多いようです。
個人的にはまず一番広がるべきだと思うのは
- 事業とソフトウェアは分離することはできない
です。
システム開発におけるトラブルはいろいろありますね。
見積もりの問題、要求・要件の問題、設計内容の問題、開発されるものの品質(を確保するための体制づくりが主ですかね)・・・
いろいろありますが、大体の場合はそのシステムを納める先のお客さんとのコミュニケーション、相互理解が確立できてないことに起因しているはずです(「トラブル」に発展する、ということは、そういうことだと思っています)。
つまり、システムを導入したいと思っている人が、システムに関してどういうものなのかを理解しないことには、巨大なワークフローシステムを作ろうが、”Hello, World!”と出力されるコマンドアプリであろうが、「こんなはずじゃなかった!」と言われておしまいです。
お客さんがソフトウェアを正しく理解する、関心を寄せることができれば、外注に丸投げしたり、若者をにわかシステム部門に仕立て上げるような、可哀想(仕立て上げられた若者が、じゃなくてそんな愚かなことをしてしまう人が)なことにはならないわけです。
そして、その理解を「促して・フォローして」いくのが、私たちのような専門家なわけです。
ものを売りつけるだけのような、「コンサル」という言葉を恥ずかしい印象にしてしまっているような専門家には、誰しもなりたくはないはずです。
「『ソフトウェアはあなたのもので、あなたのためのものです』と言い続けろ!バナージ!」
というわけです。(?
去年書いた記事ですが、同じようなことを言っていました。
SI業はまぁ側から見てもいい印象はありませんが、その業種が存在している理由もあるわけです。
プロジェクトの成功率を気にしている人もいますが、率のまえに、そもそもシステム開発において何が”成功”なのかというのは、お客さんやそのプロジェクトによってバラバラです。
そりゃ、お客さん毎に事業が違うのにソフトウェアの成功基準が全く同じなわけありません。コストの規模も違いますし。
なので、率はきにするだけ無駄です。
今そこにあるプロジェクトの成功とは何か、ということだけ考えていればいいわけです。
今日はこれだけ。
みなさんも、自分たちのプロジェクトを成功させるために、ぜひとも高級キーボードを買って、DomainDictionaryを使ってみてください!