ソフトウェアプロセス技術がロストテクノロジーになっている

最近会った人とよく話すのが、ソフトウェアプロセス技術がロストテクノロジーになってるんではないかということです。


ソフトウェアプロセスというのは、「プロセスがよいソフトウェアをつくる」という前提のもと、どのようなタイミングでどのような成果物を作り、どのような管理をし、どのように検査をしてソフトウェアを作るかという手順です。
そして、プロセス技術というのは、そのようなプロセスを構築し運用し改善する技術です。


このようなソフトウェアプロセス技術は、1995年くらいから2000年くらいにかけて盛り上がり広まりかけたのですが、そのタイミングでWebが広まりはじめ、「Webは進化が速い」「作るものがどんどん変わる」などを合言葉に、「アジャイルプロセスを採用する」という名目でなんら管理されないプロセスが普及しました。その結果、プロセス技術は完全に下火になっているように思います。


もちろん、Webの発展段階では、プロセスをまわして確実にものを作っている場合ではなくて、どんどん動きが目に見えるソフトウェアを作っていくことが必要でした。だれかがWebから入力したデータをデータベースに保存してほかの人が見えるようにするという単純な仕組みに「掲示板」「ブログ」「ブックマーク」「レシピ集」のようなタイトルをつければそういうサービスになった時代です。それであれば、動くものをまず作って、試行錯誤しながらサービスの独自性を出していくということが重要でした。


でも、すでにWebは成熟して、しかも作成するソフトウェアの規模が大きく複雑になっています。コンピュータの世界では完結せずに、外側の実ビジネスと連携することも多くなってきています。そうすると、あらかじめ決めることを決めてからソフトウェアを開発することも重要になります。もちろん、ユーザーの触る部分は早いリリースや試行錯誤が重要でもあります。きっちりしたプロセスときっちりしてないプロセスを混合してまわしていく必要が出てきているように思います。


Webが当たり前になった2005年あたりに25歳くらいで働きはじめた人が、今は35歳になって開発現場を先導する役割になっていると思います。しかし、そういう人は、「プロセスが重要」と言われた時代を知りません。
SIer系の企業では、プロセス技術が残っているところも多いと思います。そして、SIerで働いた人がWeb系企業に転職していることも多いと思います。そういった人は、構築されたプロセスの中で開発をしており、プロセスがどのようなものか知っていると思います。しかしながら、プロセス技術というのは、プロセスをまわすことではなく、そのプロセスを作り上げることが重要です。そのようなプロセス技術に習熟する前に転職していたり、実際そのようなプロセス技術が必要ない時期を長く過ごした結果プロセスを構築するということの重要性を忘れてしまっていることも多かったりするんじゃないでしょうか。


そんな感じで、ソフトウェアプロセス技術がロストテクノロジーになっているように思います。
なんか書籍のリンクを貼ろうと「ソフトウェアプロセス」でamazon検索しても、あれほどあったソフトウェアプロセスの本が、この10年くらいまったく出版されていないようです。
でもそろそろ、ウォーターフォールを基礎として、ソフトウェアプロセス技術を見直す時期なんじゃないかと思います。


この本は、ソフトウェアプロセスが盛り上がってこれから普及するぞ(でも下火になった)って時期の本で、おそらくそれ以降ソフトウェアプロセスの解説書は出ていないみたいなので、「一番新しいソフトウェアプロセスの入門書」なんじゃないでしょうか。2000年の出版ですけど。
ソフトウェアプロセスに関する広い話題がまとめられてていいと思います。


追記(16:49)
実務的にはこの本がいいんじゃないかと教えてもらった。


あと、IPAから書籍が出てるということも教えてもらった。
エンタプライズ系事業/プロセス改善:IPA 独立行政法人 情報処理推進機構