今、アメリカでは、ソフトウェアのエンジニアを対象に「ライセンス」を与えるかどうかで議論が起きています。複雑化する顧客のシステムを改良したり、そこで求められるシステムを構築していくためには、それなりの能力を持った人(=プロ)でないと難しいしことは言うまでもありません。しかしながら、顧客自身がソフトウェア・エンジニアを見て、その人の能力を判断することは不可能に近く、その結果として、大きな損害を受ける危険もあります。そのような事態を防ぐためにも、医者と同じように、「ライセンス」が必要だというわけです。「ライセンス」が「プロフェッショナル」と一緒に議論されています。
この背景には、ソフトウェアの世界に求められる技術のレベルが高くなり、その範囲も広くなっていることがあります。それだけのスキルを身に付けていなければ、顧客の要求を満たせない可能性が高くなってきました。昔のように、“プログラムが書ける”というだけでは駄目なのは言うまでもありませんが、“UMLで表現出来る”というだけでも、顧客の要求を全うすることが出来るとはかぎりません。
ソフトウェアの開発で求められている能力としては、求める機能を実現して欲しいと言うだけではないのです。期間やコスト、品質、その後の保守のしやすさなど、多岐にわたって求められているのです。特に、保守のしやすさなどは、設計時に考慮されなければならず、後からはどうにもなりませんし、「システム」を構築したり、適切なプロセスを構築するには、もっと広い知識が必要なのです。
そのような中で、「プロ」としての「ライセンス」を与えるかどうかという議論が IEEE の中で起きているわけです。そこでは、「ソフトウェア・エンジニアリング」として議論されているのですが、IEEE のSWEBOK(Software Engineering Body of Knowledge) Projectで議論されている「ソフトウェア・エンジニアリング」で求められるスキルは膨大なものです(詳しいことは、ここで紹介する余裕はありませんが、追ってホームページで紹介する予定です)。
そこで議論されている「ソフトウェア・エンジニアリング」の領域だけ紹介すると、(参照:IEEE Software Nov/Dec
1999,pp35-44)
Software configuration management
Software construction
Software design
Software engineering inftastructure
Software engineering management
Software engineering process
Software evolution and maintenance
Software quality analysis
Software requirments analysis
Software testing
というように多岐にわたっていて、「プロ」としては、レベルの差こそあれ、これらの分野を網羅しようというわけです。
これだけのスキルをある程度のレベルで事前に身に付ける事の必要性は、議論に参加している関係者の多くは同意しており、大学などの教育機関ですでに実験的な取組みも始まっているようです。むしろ議論は、ソウトウェアという変化の激しい分野で、有効な「ライセンス」を維持していく方法をどう確保するかというところにあるようです。
この議論の中で、医者のライセンスと比べられているのは、医学の分野も技術の変化が早く、新しい病気の情報や、次々と開発される薬品情報の更新など、ソフトウェアの分野に似ているところがあるからです。恐らく、6年ぐらいかけて、ソフトウェア・エンジニアリングのスキルをしっかりと身に付けておけば、後の更新は。現在の医者と同じような形で実現する可能性が高いと思われます。全く新しい分析手法などの習得には、3ヶ月ぐらい集中して学習しトレーニングする必要があるでしょうが、そこは「組織」によってカバーすることで実現するでしょう。
CMMの普及も、この「ライセンス化」の動きに拍車をかけるはずです。組織としてレベル3以上を維持し、さらに改善していくには、そこに居るソフトウェア・エンジニアのスキルのレベルを確保しなければなりません。はっきり言って、ソフトウェア・エンジニアリングについての知識を持っていない人達の組織が、SEIの求めるレベル3の状態に移行することは殆ど困難です。そこに到達することよりも、その状態を維持する際に、ソフトウェア・エンジニアリングの知識を全員が持っていることが必要になります。もちろん、そのような学習は「レベル2」から「レベル3」に引き上げる際の取組みの中にも含まれているのですが、事前に持っていることで、その他のスキルの習得もずいぶんと楽になるはずです。
また、事前にライセンスの形でスキルが保証されていれば、教育に余分なコストがかかりません。もちろん、新しい人に対して機会を与えるために、「インターン制度」みたいなものも必要になるでしょう。ただ、「ライセンス」を与えるには、認定そのものに権威と保証が必要になり、教育機関の姿勢に対して信頼性が問われることになりますが、アメリカの大学などの教育機関は、少なくとも、80年代後半から時代に対して敏感に反応する傾向があり、企業との協同作戦もうまく運営されていますので、「ライセンス」に対する環境はある程度整備されているものと思われます。日本の大学のように、「入るは難しく、出るは易しい」状況では、「ライセンス」の信頼が得られません。それと、日本の場合、カリキュラムの更新に時間がかかりすぎるため、この面からも「ライセンス」を支援する体制は整っていないと言わざるを得ません。
90年代、アメリカは個人も社会も「自己組織力」に目覚めた気配があります。絶えざる生産性の追及も、殆ど完全雇用に近い失業率の状況も、「自己組織力」によって支えられているという見方もできます。それが貧しさからの脱却を支援したり、社会の変化に対して果敢に挑戦している姿勢を作り出しているのです。そのような中で、その仕事をする「資格」という認識も広がっていて、「ライセンス」に影響を与えているのかもしれません。
また、ソフトウェア開発の世界において、既に「プロ」の市場が成立しているようで、そのことは「ライセンス」に間違いなく影響を与えているものと思われます。そこでは、マイクロソフトのMCPやMOTなどの「ライセンス」が判断の基準に使われているものと思われます。日本では、まだまだそのような市場が育っていませんが、その兆候は見ることができます。
何れにしろ、ソフトウェア・エンジニアの世界は「プロ」化の方向に進むことは確実と思われます。一般に、この種の動きが、根づいて普及するのに10年ほどの時間が必要です。今のうちに、習得に取り掛かれる状況を作って、対応するようにしてください。