ビジョンのない政治家は、結局は官僚の操り人形になる
今週の週刊 Life is Beautiful : 6月19日号

パナソニック経営陣への5つの提言

日本の家電メーカーのソフトウェアの作り方や、人材の活用方法の問題点関しては、このブログでもメルマガでも何度も指摘したが、その問題を浮き彫りにするブログエントリーを見つけたので紹介する。

パナソニックを退社しました

...私の部署では、絵に描いたような昔ながらのソフトウェア開発が行われていました。 単価計算は人月とステップ数。仕様書を書く上流工程が重要で、コーディングは単純作業という価値観のもとでの開発です。当然正社員はなかなかコーディングに携わることができませんでした。 また、単純作業とみなされがちなコーディングを効率化しようとするモチベーションが少なかったのか、いくつか作業環境で疑問に思うところもありました。例えば、メモリ 1GB ぐらいの遅いマシンでビルドしている、ディスプレイが17インチ、きちんとしたソース管理がない、などです。PCスペックやディスプレイなどは入社の時期によってはそこそこいいものになるんですが、「壊れるまで使う」のが基本のためなかなか新しくなっていませんでした。 それから、入社してからプログラミングを始めたという方も結構いらっしゃったので、どうしてもサイエンスの面からのアプローチが弱かったと思います。オブジェクト指向を知らない(クラスって何? というような感じ)でコーディングしている方もいらっしゃったし、アーキテクチャ、計算量やアルゴリズムを純粋に議論することが少なかったように感じました。 「仕様書を書いて、たくさんの人間を使ってプログラムを作る」ことが大きな仕事をする、それが付加価値なんだと言っていた方も居たので、私の目指す方向とは決定的に違うなと思いました。

これでは世界では戦えない。アップルどころか、サムソンにも永遠に勝てない。

今の時代、家電を売って利益を上げようとするのであれば、ソフトウェアで勝負をするしかない。そのためには、シリコンバレーのトップクラスのエンジニアなみに、ソフトウェアがバリバリと書けるソフトウェア・エンジニアを採用すること、社内に育成することが必須である。

そこで、パナソニックの経営陣に向けた、私からの提言を5つ。

  • せっかく賢い理系の学生を採用しながら、その連中にソフトウェアを書かせずに仕様書だけ書かせ、最も大切なプログラミングを派遣社員や子会社に任せるのは大間違いである。ソフトウェアは正社員が自ら書くべきものだ。せっかく採用した理系の学生にソフトウェアを書かせないのは人材の無駄遣いだ。
  • エンジニアの採用の際に、学歴だけを見て採用するという手抜きはもう辞めた方が良い。学歴なんかよりも、学生時代にiPhone/Androidアプリやウェブサイトの一つや二つをリリースした経験のあるエンジニアを雇うべきだ。学生の面接の際には、プログラムを面接官の目の前で書かせることがとても有効だ。アルゴリズムの質問も良いだろう。すぐに使えるエンジニアかどうかが判明する。
  • プログラミングは、人月とステップ数で数えられるような単純作業ではない。プログラミングは、もっともっとデリケートでクリエーティブなプロセスだ。優秀なソフトウェア・エンジニアは、家電メーカーにとっては宝である。彼らの時間は、会社のもつリソースの中で最も貴重なものだ。最高の開発環境を与え、彼らの時間をミーティングや仕様書の作成で浪費してはいけない。ツールの不備などもっての他である。
  • 「プログラムがそこそこ書ける」ソフトウェア・エンジニアの人口は増えたが、「価値を生み出す良いソフトウェアが作れる」エンジニアはごく一部で、絶対数は常に不足している。そんな人材の確保と育成が、会社の将来を決める。うかうかしていると、そんなエンジニアをアップルやグーグルやDeNAがみんな持って行ってしまう。
  • そして、これがもっとも難しいと思うが、日本のメーカーには、ハードウェアの設計もしない、プログラムを自ら書くこともできない、その割に給料だけはやたらと高い中間管理職が多すぎる。思い切ったリストラが必要だ。余分な脂肪は切り捨て、筋肉質の会社に生まれ変わらなければならない。

 

Comments

Minomi66

この問題は根が深い。このことにいえるのはメーカーにソフトウェア軽視という根があるのだが、それはソフトウェア工程だけではなく全体の工程にわたってあるのだ。
 ある製品を仕様設計をする場合、メーカーでスタンダードなのはこの順番、優先順位で仕様策定が始まる。
「1.機構(油圧回路なども含む)、2.電装、3.ソフトウェア、4.デザイン」
 このため、ソフトウェアは機構や電装で実現できなかった機能の残りをソフトウェアで実現するという意識が強い。こうなるとソフトウェアはモザイク状になり、一般化、標準化、ユニット化がやりにくくなる。
 ソフトウェア開発にOSを用いて電装、機構の仕組みを吸収させるのは当然生産性を上げるためであり、そうすることが設計において効率的であるからだ。しかし、せっかくOSを使っていても、先に述べた優先順位で仕様策定を行うためどうしても再利用性が不十分なプログラムが多数発生する。
 これは派遣社員、アウトソーサーを使うことでさらに悪化する。彼らにとっては、モザイク化してうかつに他の人間に障れなくすることは設計としては良いことではないが、実は利益になる。
 したがってあまり真剣に取りくまない。そして派遣社員に到っては見やすいプログラムを作ってしまっては、仕事が終われば即さようならの可能性があるのだからなおさらそんなこと時間を使いたくないだろう。ただでさえ余裕のない納期で仕事を迫られるのだ。

 なぜこうなっている(ソフトウェア軽視)が発生しているのかは推測ではないが、おそらく日本の大メーカーの経営陣がいわゆる文系ご年配な方が多いためであろうと考えている。
 すなわち、彼ら自身および(理系の)同期が学生のころに、やっていた技術を最後まで優先的にもちこんでしまうためにこのようなことが起きているのだろうと思う。

>>今の時代、家電を売って利益を上げようとするのであれば、ソフトウェアで勝負をするしかない。
ここの部分ではなぜそうなるのかをちょっと考えてみようと思う。

 ソフトウェアは開発コストはかかるが、工場による量産にかかるコストはゼロに等しい。日本の現状においてすでに工場を国内に置く贅沢は各電機メーカーの状況からもわかるようにもう許されない。
 ゆえに量産コストがかからない「3.ソフトウェア、4.デザイン」を優先させることが日本の競争力を高めることになる。しかしそのためには、正社員がプログラムを書くだけでは駄目で、そもそもの仕様策定の優先順位を変えていく必要があるだろうと思う。
すなわち逆に
 「1.デザイン、2.ソフトウェア、3.電装、4.機構(油圧回路なども含む)」
とする。
これはまたユーザーが製品に対してインターフェースする順番でもある。
日本のメーカはシーズ性向が強く、ニーズの性向が弱いのもこういう策定の優先順位あったのだと私は考える。

Yoshi

日本ではパナソニックのような大会社は、20年以上前からコーディングは外注という文化があった。いまだにそうしているとは驚きだ。おそらく、その会社のソフト部門のマネージャの中には、会社でコーディング経験のない人もいるのではないか?
日本では大型計算機メーカが、そしてそのユーザがソフトに価値をみいださなかった性もあって、長い間、ソフトはおまけだった。おまけをつくるのに、その最下流のコーディングに優秀な社員を使うのはもったいないと思われていた。
さすがに今は、0円でソフト開発を請け負う会社はないと思うが、昔はハードを売るためにソフトはほんとにおまけだった。
そういう昔からの習慣がある古い会社は、アップル社に勝てるわけないし、今後も永遠にない。いわゆる、今でも日本で大型計算機をやっている会社はとくにそうだ。ハードに価値を置きすぎた。
話かわって、15年前、アメリカのコンピュータサイエンスのドクターを持っているエンジニアと一緒に仕事をしたことがあるが、日本の有名大学の大学院出のどのエンジニアよりソフトが書けた。
日本の電機業界をだめにした原因は日本の電気電子情報系の大学、大学院教育にあると思う。また大手企業が若いエンジニアにソフトを書かせなかったのも原因だ。
今や、優秀な人材は大手電気メーカよりゲームアプリメーカに就職する。給料差以外に、世の中はすでにハードからソフトの世界に変わっっていたのだ。ゲーム機よりゲーム。携帯より携帯に載ってソフトやゲームだ。
ソフトに価値を置く会社とそうでない会社はこれからもっと差が開くものと予想される。

Patagonia

パナソニックが社員にプログラミングを書かせなかったということは、そのようにしたほうが効率的な時代があったと思うのですがどんな背景だったのでしょうか?
今の時代はその時代と何が変わったのでしょうか?

tos

コンピューター業界のことは素人ですが、70年代以降のテレビやラジオ局と同じですね。
入社時の志がドンドン外注に置き換わっていった。大手メーカーさんと同様、その方が効率が良いからですが、気がついてみたら予算の管理に明け暮れるのと、専門家として誰も現場が解らなくなってしまっていた ... 衰退の要因であることは間違いないでしょう。

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Your Information

(Name is required. Email address will not be displayed with the comment.)