ネタつつき5-開発工程の分断化問題。最高の喜劇。
昨今はアジャイルソフトウェア開発の話しを聞きますが、私が関わったプロジェクトでも【体面だけアジャイル開発】状態でした。私の場合は、一人開発チーム状態なので、そんな事は関係なく、1仕事大体3~6ヶ月ぐらいで、長くて1年ぐらいで終わらせていたので、アジャイルは当たり前のことであり、内心冷ややかにその様子を見ていました。というのも、体面だけアジャイルなので、「無駄が多すぎる」状態だからです。ソフトウェア工学の記事でも少し書きましたが、プロジェクトに情報処理技術に関してド素人が居るのが問題の本質であり、不思議な事にこの業界は無知な方に比重を置いて開発を進めるので、ソフトウェア開発つプロセス以前の問題なのです。あまりこの業界に詳しくない読者の為に詳細を書きますと、プログラミングを教育がされていない新人に合わす場合が多いですし、要求仕様書や内部設計書も「素人が書いた素人用のもの」なのです。こんな状態で上手くいく筈がありません。見習いに料理を合わす料理人が居るでしょうか?素人用の設計図を書く建築家が居ますか?・・・
さらにその事態に追い討ちをかけるように、個々の技術者の知識が狭くなってきています。もちろん、それは技術者個人が悪いわけではなくちゃんと理由があります。それは、情報処理技術の進化が日進月歩だからです。その状態なのにも関わらず、技術者達は学習の時間が与えられていません。無知な人に合わし、その反動を技術者が受け、無知な人が一番利益を得る歪な一部業界構造になっています。その時一番困るのが「コミュニケーションが成り立たない」という事です。他の業界の人から見れば、冗談だとしか思えないでしょうがそれが現実なのです。まず、一番始めの開発プロセスで情報の素人であるお客様に「情報の素人」が対応しています。素人同士が話しをしてどうやってまともなものを作るのでしょうか?次に実装段階(ソフトウェアを作る段階)でも大きな問題があります。今度は「一番頼りの技術者同士が分かり合えない」のです。この状態で品質を求めるのは無謀だと言う事が分かっていただけると思います。
私は今年で30歳なのですが、私より上の世代には【本物の職人】がいっぱい居ました。それこそ、電子計算機の全てを解剖して組み立てる(ハッカーの語源)実力を有した技術者が普通に居たのです。ですから私は自分より年配の人に敬意を持っています。しかし、現在はゆとりと3K化が進み、技術者は職人とは呼べなくなってきました。それがあまり目に見えないのは開発ツールの進化がそれを覆い隠しているからです。そして、開発ツールに頼ってレトルト商品を作っているのが現状です。誤解が無いように先に言っておきますが、開発ツールの高度化は必要です。私自身も開発ツールを自作して作業を効率化しています。しかしながら、職人が自分の道具を知りつくしてものを作るのと、電子レンジでレトルトを暖めるのとでは天と地ぐらいの差があります。近い将来開発環境がユーザーフレンドリーになればそんなレトルト技術者は不要になるでしょう。厳しいようですがそれが現実です。私自身がコードジェネレータを研究していますのでそれが良く分かります。
さて、ここまで読んで「それならば他業種が高度な開発ツールを使えば問題なし」と思われた人も居るでしょう。しかし、情報処理技術はそんなに甘くありません。やはり知らない人が開発ツールを使うのと、職人が作るのとではその品質に差がありますし、全ての状況に対応できる開発ツールは実現不可能です。
話しが少しそれましたので戻します。技術者同士が通じないというのは具体的にどのような状況なのかといいますと、抽象的な説明では伝わらないと思いますので、私の実体験を基に説明します。私は常に独りで開発する状況ですので生きていくために必然的に、プログラミング・データベース・ネットワーク・セキュリティ・システム管理・・・などのほぼ全ての情報処理技術を学んでいます。つまり全方位テクニカルエンジニアなわけです(マネージメント系は苦手です)それで、プロジェクトに参加する際は、私は情報処理技術全般の知識を総動員して開発を進めます。しかし、どの工程でも困った事に話しが完全には通じないのです。私は全開発工程を多角的に考えて発言をするのですが、各工程の人は一部の知識しかありません。しかも自分さえ無難に仕事をこなせばいいと言う日本人体質で、全体としてのシステム品質など二の次なのがよくある現実なのです。この様にチームがバラバラな状態で一つの大きな製品を作るのでは品質なぞ期待できません。個人は自分の身の保身で精一杯なのでしょう。私にはその気持ちも理解できます。日本では一番立場が弱いものが責任を取らされがちだからです。誰もが不自由で品質に気を配る余裕がないという事です。
長くなりましたのでそろそろ纏めに入ります。私は敢えてこの状況に結論はだしません。私は職人肌ですので自分を常に鍛えておりますが、万人に何かを強いるのは嫌いですし、世間が品質の悪い情報システムを望むのならばそれはそれで仕方がありません。あらゆる物事は各々が判断するべきことであって、その行為が自然に結果を出すでしょう。また誤解されそうなので、最後に私がこの記事を書いたわけを書いておきます。私が書いた理由はこの状況が非常に面白い喜劇だからです。この業界に居る人はあまり笑えないかもしれませんが、客観的に居ればこれほど面白い喜劇はそう無いと思います。