ソフトウェアは後から何度でも修正できる、そのメリットを活かせ

特許庁が55億円をつぎ込んで基幹系システムを刷新しようとしていたが、要件をまとめられず頓挫したという。もう少し早く決断できていればというのが悔やまれるが、これ以上傷が広がらなくてよかったと思うべきなのか。

自分もシステム開発に携わっているので、こういう状況はよく想像できる。レガシーなシステムを一から作りなおして新しいシステムに刷新するというのは、非常に難しいプロジェクトだ。単に全く同じ物を作るだけだから簡単な話だと思いきや、そうはいかない。当初システムを開発した人はもう残っていないし、誰もシステムの全体像を理解していない。業務に精通している人は本来の業務に忙しくてシステム開発に時間を割けない。そんな様々な理由が重なって新しいシステムの仕様をまとめることができない。

しかし、そもそも要件なんてまとめる必要あるんだろうか。とにかく何でもいいから一番小さいものをまず最初に作ってしまって、それで不都合があったら後から修正すればいいじゃないか。だって、ソフトウェアの最大のメリットは後から何度でも修正できることなんだから。

ハードウェアはなかなか後から修正するってことができない。PCが必要だろうと思って大量に買った後で、やっぱりiPadがよかったとか言っても後の祭り。いったいどうするんだ、この大量のPCは、ってことになる。

その点、ソフトウェアは後からいくらでも修正できる。PC向けに作ったシステムだって、ちゃんとWebベースで作っておけば多少の修正でiPadでも動かせるようになるだろう。もちろんバリバリにハードウェアに依存したコードを書いていたら多少の修正という訳にはいかない。実際、特許庁のシステムもレガシーなメインフレームのシステムか何かで、コードを一から作りなおさなくてはいけなくなったんだろう。でも、今時のソフトウェアは基本的にそのようなハードウェア依存のコードを書くことなんてない。ゲーム開発とか、特殊な用途を除けば。

いくら一生懸命要件をまとめたって、どうせシステムができる頃には要件が変わる。IT技術だって新しいものが出てくるし、業務の環境だって変わるだろう。特許制度もずっと同じって訳じゃない。どうせすぐ変わるのに、その時その一瞬だけの要件をまとめることに何の意味があるんだろう。

まずは小さいシステムから始めたらいい。もし年に1件しか特許が出願されていなかったら、きっとシステムなんかいらない。月に1件だったらまだ大丈夫かな。一日1件ぐらいになるとシステムがあった方が便利かもしれない。そういうレベルから始める。だいたい3ヶ月ぐらいでリリースできるぐらいのシステム。それぐらいだったらいくら何でも要件をまとめられるだろう。そこから徐々に徐々にシステム化の対象範囲を広げていく。いわゆるアジャイル開発だな。

そんな開発手法がとれるのも、ソフトウェアが後から何度でも修正できるからだ。よくシステム開発工学は建築工学を模倣してウォーターフォール型が取り入れられるけれど、そんな開発手法はソフトウェアの良いところを台無しにするだけだ。

問題は二つ。一つ目は、アジャイル開発は競争入札と相性が悪いこと。3ヶ月ごとに要件をまとめて競争入札なんかしたら毎回ベンダーが変わってしまって、その時点で破綻してしまう。二つ目は最後になってみないと費用がいくらになるのかわからないこと。せいぜいわかるのは3ヶ月先のコストまで。

だけど、それは従来の開発だって同じなんじゃないだろうか。特許庁の報告書によれば特許庁の担当者が自ら入札した企業に事前に情報を流していたらしい。別にそれは談合とか悪気があってやったんじゃなくて、そんな情報もなければ見積もることさえできないからだったんじゃないか。何を作るか決まってもないのに費用を出すなんて不可能だ。

今後、特許庁は機能を絞って別の方式で開発するそうだ。次はうまくいってほしい。55億円を無駄にしないためにも。

コメントを残す