昨今の製品は、一昔前とは比べものにならないほど高度化・複雑化しています。例えば、自動車であればあらゆる情報をセンシングしながら緻密に電子制御されていますし、プリンターもインターネットや周辺機器と繋がることで多様なサービスを提供できるようになっています。そして各企業では、このように高度で複雑な製品を品質や性能を担保しつつ素早く世に出すために、組織を細分化し、分業体制を整えるようになってきました。

 このような環境におけるエンジニアに求められるのは、各自の担当範囲を高性能・高品質にしっかり作り上げることと、周辺とのつながりを加味することの大きく2種類です。

 しかし、往々にして前者に注力しがちで、後者が不十分になっていることが多く、担当するシステム・部品が製品全体や他のシステムにどういう影響を及ぼすかが分からない、もしくはあまり考えようとしないエンジニアが増えてしまっているように感じます。タイトなスケジュールの中、さらに組織が細分化され一人ひとりの担当する範囲が狭まったことで、エンジニアの視野が狭くなってきているようです。

 各エンジニアの視野が狭くなると、見えない壁が多かれ少なかれ生じてきて、個別最適で開発されるようになります。そうすると、それらを組み上げたときに製品全体としての目標が達成できていなかったり、組み合わせたことよる問題が発生するなど、開発の後半でバタバタし、追加リソースの投入や納期の遅延を起こすことになります。

個別最適開発での問題のイメージ
[画像のクリックで拡大表示]

 このような状況の中でも、広い視野で、全体最適の観点で開発できるエンジニアを育てていくためには、技術領域を跨いで見える化しながら開発していくことが有効だと私たちは考えています。今回はそのような課題を持ったクライアントの開発現場における、コンサルティング活動の一例をご紹介します。