ひがやすをblogで「プログラミングファースト開発の必要性」が書かれている。このひがさんのプログラミングファーストは以前あるセミナーでプレゼンを直接聞いたことがあるのでだいたいの考え方や内容も理解しているが、ぼくの感想はまだ中途半端のような気がする。まずはそのブログから。
プログラミングファースト開発とは、ドキュメントを書いてからソースコードを書くのではなく、動くソースコードを書いてユーザに実際に触ってもらうということを何度も繰り返して、仕様を固める開発手法。ドキュメントは仕様が固まった後に書く。プロトタイプ開発との違いは、最初に作ったものを捨てずに、本番で動かすものとして開発し続けること。アジャイルとの違いは、全工程をテレーション(筆者注:イテレーション?)でまわすのではなく、顧客と仕様をつめるところのみを何度も繰り返し仕様が固まるまで行なうこと。
これは、現在のような人月ビジネス化した開発における顧客とのコンフリクトを解消するための方策を考えた結果だ。ひがさんの必死さに頭が下がる思いだ。
ぼくは以前から2つの開発のジレンマということを言ってきている。すなわち、「結局アプリケーション仕様のほとんどが、ユーザの恣意でしか決まらない」ということ、もうひとつは、「実業務の様々な例外をコンピュータ上に乗せるか否か」です。ひがさんの方法論もここの対策だと思う。
これらジレンマを乗り越えるべくSIerやその開発者は日夜闘っているわけです。そして、それができないが故に最終局面での手戻り、頻繁な仕様変更などが起きています。こうした状態では一括請負のようなリスクはとれず、準委任契約のもと、かかった人月分の費用を請求することになるわけです。
この悪弊を打破すべくひがさんのような方が声高に叫んでいます。ほかの皆さんも現状に甘えることなく一緒に考えてほしいと思います。ただし、この問題は非常に重大かつ危険な問題をはらんでいます。自らの首を絞めることになるからです。
開発生産性が低い方が収入が多い(人月がかかるほどお金がとれる)というビジネスモデルを根底から覆す可能性があります。開発生産性をあげればあげるほど収入が減ってきます。SIビジネスが立ち行かなくなる方向に向かうのです。
だから、今のままのほうがいいとどれだけの人が思っているのでしょうか。今までのビジネスモデルはいいわけありません。きつい言い方をすると、「情報の非対称性」を悪用してユーザをだましてきたのです。ユーザはだんだんと気がついてきています。
ぼくは、ユーザに長くいた経験でいうと、わけのわからないテクニカルタームで翻弄され、なぜこれだけのコストがかかるのか、あるいはかかったのか、分かるような説明ももらえず、仕方ないかといって経営トップから怒られながら費用を払った。
重要なことはこのユーザとベンダーとの間の「情報の非対称性」を是正していくことなのだ。その試みの一つが、ひがさんの言う「プログラミングファースト開発」である。お客さんに早い段階でシステムの出来上がりイメージを見せることができ、ユーザが得る開発プロジェクトに関する情報が格段に向上する。
だが、あえて言う。ひがさんの方法論ではまだ中途半端だ。
ぼくは、お客さんの前に出たらコードを直してはいけないと思う。その段階ではコードを書かずにコンポーネントの並べ替え、組合せでアプリケーションを表現できるようにすべきだと思う。
そうなれば、システム寄りの会話ではなくビジネス寄りの会話へとシフトできるはずだ。お客さんとはどういう業務プロセスにしたいのか、どういう業務機能を付帯させるのかといった議論になる。だから最初から請負契約ができる可能性がある。
そのための必要条件は、業務機能のコンポーネント化と業務プロセスのモデリングとデプロイである。ひがさんは確か以前からコードレスとうことを言っていて、コードの再利用やモジュール化といったプログラミングの効率化という観点だったように思います。
その考え方を業務プロセスや業務機能の領域まで拡げてほしいのです。業務をヒアリングしていちいちコーディングするのではなく、業務コンポーネントを予めコードも含めて用意しておき、それをつなぎ合わせて業務プロセスを構築するというふうにすることである。
そして、前述した二つのジレンマはそれを乗り越えるのではなく、受容してしまったらどうか。ユーザなんてわがままなものだ、例外業務はあって当たり前だと思うことである。そうしたら、わがままができる、例外を吸収できる場を提供してあげることなのだ。
いまかなり理想論的なことを言っているが、この件はみなさんおおいに議論して欲しいと思う。このブログでも再三言ってきているように、欧米からパッケージやソフトウエアを買ってきて、人月作業は中国・インドにもっていくなんていうモデルはくやしいと思いませんか。
ぜひ日本発の方法論を作って海外にもっていってもらいたのです。若いヤツがやらないんだったら、オジサンたちがやるぞ。