連載の目次へ

 組み込みソフトウエアを強化するためには,まずは品質,プロジェクト・マネジメント,それから開発プロセス,人材育成などさまざまな観点から取り組む必要がある。残念ながら何かこれ1つをやればいいという効果的なものがあるわけではないので,一歩一歩やらざるを得ないというのが現状である。

 とはいえ,前述したような新しい手法もどんどん使っていかなければならない。コーディング規約もしっかり決めるし,モデリングもしかり,アーキテクチャも決める。プロセスの定義も行う。メトリクスもしっかり新しいものを取っていく。全体を眺められる人材も育成し,資格も取らせる。スキルも標準化する。これらをそれぞれ全部やらないと,うまくいかないものである(図10)。

組み込みソフトウエアを強化・活用するために
図10 組み込みソフトウエアを強化・活用するために
組み込みソフトウエアの現状と課題を分析した上で,ソフトウエア工学を積極的に活用し,組み込みソフトウエアに適した開発プロセスや開発手法を確立する必要がある。

現場のせいにしてはいけない

 最後に筆者の個人的な経験を踏まえて,ソフトウエア開発のマネジメントに当たっていくつかの助言をしたい(図11)。

この記事は,「日経エレクトロニクス」と「日経バイト」が刊行した別冊『組み込みソフトウエア2006---品質管理と開発技法の実践的改革A to Z』の掲載記事を抜粋したものです。詳細はこちら

 Linuxを含めて新しい技術を導入する際には,我々もいろいろな失敗を経験している。一番重要なのは,ソフトウエアの開発現場は全部違うということを肝に銘じることだ。実は筆者もいろいろな企業や事業所をこれまで転々としてきたが,そこで実感したのがソフトウエア開発現場はみんな違うということだ。

 こうした違いに対して,頭のいい人がよくやってしまうのが「これがいいのだ。おまえ,これを使え。プラットフォームというのは,こうなのだ」と頭ごなしに主張してしまうことである。これをやってしまうと,まず現場はついてこない。一般論が通じないことを,現場のせいにしてはいけない。それをやった瞬間に,多くの組織が失敗している。まずは,現場はすべて違う,異なるということを念頭に置いていただきたい。

 現場がすべて違うということは,現場の価値観やプロセスというものを,現場の視点から体で理解しなければならない。これには1人の人間を理解するのと同じくらい丁寧な視点が必要である。さまざまなタブーもあるし,住環境や道具,ものの考え方,価値観,みな違う。現場に出向いて,そこの価値観を自分の肌でつかまないと,大きなソフトウエアのプロジェクト・マネジャーとしては失敗する。

 もう1つ,新しいことをやろうというときによくやってしまう失敗が,「データを出せ。どうなっているのかレポートを書け」というものだ。山ほどレポートを書かされる。しかし,よく考えてみてほしい。逆説的かもしれないが,データというのは本来,相対的なものである。データをどう解釈するか,その価値観が違えば,結果はまるで異なる。

 「千里のうち500歩まで来た」というのが事実だとして,これを「500歩まで来たのだから,あと少しだ」と思う人間もいれば,「バカらしい。500歩来てもダメなのだからもう帰る」という人間も両方いる。だからこそ,「分析しろ。データを出せ」といっても,その前提となっている価値観が合ってない状況で実行しては,混乱が深まるだけである。

 これは中村天風の言葉だが「現実と理想のギャップに怒らず,恐れず,悲しまず」というスタンスを取る。現場に対して,「おまえはおかしい。やり方を変えろ。新しい手法はこうなのだ」と言ってしまうと,下手をすると状況は余計に悪化する。言うことを聞いてくれず,モチベーションが悪化するだけである。

 従って,やはりビジョンを共有するという心掛けが欠かせない。何か問題がある場合でも,現場の中のキー・パーソンをしっかりつかむことである。泥くさい作業ではあるが,どうすれば前に進めるのか,それを聞ける人間を現場の中に作っていくことが絶対に必要である。

 そもそも正しいことを言って現場が聞いてくれるくらいであれば,世の中の会社はもっと成功しているはずである。そんなに甘いものではない。それに加えて,現場に成果をフィードバックできる仕組みを整えてあげないといけない。現場が自分で自分が向上したことを理解し始めると,ものすごい勢いでループが回り始める。いつの間にか「あっ,勝手にやっている」という状態になり,アイデアがどんどん出てくる。私自身も,最近,ちょっとずつ好転してきていると感じるのは,少し前まではこちら側がメモリ・リークの検出ツールで「Purifyがいいよ」といって持って行っていたのだが,今では,現場が勝手にツールを見つけて使っている,といったことがあったからだ注1)

注1)「Rational PurifyPlus」は,米IBM社のメモリ・リーク検出用ツールである。

 ソフトウエアの品質を高めていくためには,確かにソフトウエア工学的な手法もあるが,現場を率いるリーダーやマネジャーには,実際に物事を進める際,以上のようなポイントを踏まえ,しっかりとポリシーやビジョンを持った上で現場に立脚してプロジェクトを進めていただきたいと思う。(連載終わり)

分かってはいるができないこと
図11 分かってはいるができないこと
ソフトウエア開発には,理想と現実のギャップがある。一般論が通じないことを現場の責任にするのは避けるべきだ。トップが現場の価値観・プロセスを現場の視点から見て,体で理解する必要がある。