ラベル 『組込みソフトエンジニアを極める』の書評 の投稿を表示しています。 すべての投稿を表示
ラベル 『組込みソフトエンジニアを極める』の書評 の投稿を表示しています。 すべての投稿を表示

2006-05-24

『組込みソフトエンジニアを極める』に送られたメッセージ2

南野光太郎からメッセージが届いた。(南野光太郎とは、『組込みソフトエンジニアを極める』の中に登場するビジネス系のソフトウェアエンジニアのこと)

正確に言うと、SNS(ソーシャルネットワーキングサービス)のミクシィで知り合った、ビジネス系から組込み系にコンバートしたソフトウェアエンジニアの方から、『組込みソフトエンジニアを極める』の感想が届いたのだ。

本の中ではビジネス系のドメインでオブジェクト指向設計について学んだ南野光太郎が友人の組込みソフトエンジニアである組田鉄夫に自分のスキルを伝授する場面がある。この方は現実のソフトウェア開発にもこのような場面があることを教えてくれた。


【本の感想メールから引用】

組込みソフトエンジニアを極める』を読ませて頂きました。

全体を通して、非常に中身の濃い本ですね。全くの組込み初心者には少し難しい内容かなと思いましたが、多少のベーススキルがあるエンジニアには知識の整理や、再利用を見据えた設計手法などの良い参考書として使えると思います。

組込み経験の浅い私には、1章のRTOSの基礎の説明で、はっきりと理解できていなかったRTOSの働きがきちんと整理できたように思います。

2章の機能分割についてはまさに今の仕事に関係するところで興味深く読むことができました。というのも、ある組込み機器に搭載してている一機能を設計フェーズから作り直しをするという作業を始めたばかりだったからです。

もともと、前機種で新規に実装した機能だったのですが前任のチームが仕様の取りまとめや実装面でトラブルを起こし、当初の思想からほど遠い実装状態でなんとかリリースしました。しかし、今後の機種展開の改修に耐えられないという判断から、再び設計からやり直しとなったのです。

この作業でちょうどレイヤ構成やモジュール分割、公開関数の粒度などで頭を悩ませていたのですが、オブジェクト指向の考え方が適用できる、という ことを第2章を読んで気づきました。私の中で「組込み系」は「業務系」と世界が違うのだと考えすぎていて、業務系で経験したスキルが応用できるのだという ところを見落としていました。

また今の作業では3章、4章の再利用と品質についても検討する場面が当然出てきますので、この作業をちょうどこの本の内容に沿ったケーススタディとして、色々と私なりの考えを巡らせ、実戦に適用できる部分が無いか試してみようかと思います。

【引用終わり】

自分も現実の仕事において、ビジネス系の世界でオブジェクト設計を学んだスペシャリストにいろいろと教えてもらった。近くにそのような人がいなければ独学では技術を習得するのは難しかったと思う。

長年組込みソフトをやってきた技術者とオブジェクト指向設計を使ってきた技術者では同じソフトウェア開発でも対象を見る視点が違う。大局から全体構造を考えるにはやはりオブジェクト指向設計的な視点で見た方がよいように思う。ただ、限られた制約条件の中で性能を満たすことができるかどうかは、組込みソフトの経験がものを言う。

さて、いみじくも2人のレビューワーからこの本は「全くの組込み初心者には少し難しいかもしれない」と言われてしまった。

実は本の見本ができあがって全体を通して読んだ際の自分の印象も「初心者にはちょっと難しい部分もあるかな」だった。文章が難しいという意味ではなく、中堅やベテランのエンジニアでなければ経験しないようなスキル、場面が後半の方に出てくるということだ。

しかし、だからといって初級の技術者に役に立たない訳ではない。まだ完全には自分のものにならなくても、ゴールのイメージを持つことは大事だと思う。

工房に入門した弟子が師匠の技を盗み取ることはまだできなくとも、師匠の行動や師匠が作った作品を見たり触れりすることは重要である。

道を究めるには、常に一流の作品に触れている必要がある。

そういう意味でも、『組込みソフトエンジニアを極める』は初級の組込みソフトエンジニアにも、ビジネス系のソフトウェアエンジニアにも読んでもらう価値があると思う。

2006-05-17

『組込みソフトエンジニアを極める』に送られたメッセージ

組込みソフトエンジニアを極める』がリリースされてちょうど一ヶ月がたった。編集者の話では実売は「まあまあ」とのこと。

ひとつ誤算だったのは、本のリリースにあわせて読者の声を吸い上げるためにWEBサイトブログサイトを立ち上げたにも関わらず、現場の組込みソフトエンジニアの生の感想を十分に聞くことができていないという点だ。

組込みソフトエンジニアの口は結構重い。マイクを向けて興味のありそうな質問をすると答えてくれるし、日々苦労していることなどについて水を向けると堰を切ったように話してくれる。

でも、なかなか自ら情報を発信はしてくれない。要するに「強い個人」と「やさしい一員」の典型的なやさしい一員なのだろう。

ただ、情報を発信しないからといって何も考えていないわけではない。SESSAMEのセミナーでは毎回セミナー終了後に何ページにもわたるアンケートを書いてもらっているが、後で集計すると叱咤激励、自組織の問題点、愚痴、新たなセミナーやコンテンツのリクエスト、感動のメッセージ等々コメントがいっぱい書いてある。

ちなみに、昨夜ある組込み開発の現場で技術リーダーをしている方から、『組込みソフトエンジニアを極める』の感想メールをいただいた。

昨年秋のあるフォーラムでこの方がご自分の取り組みを発表していたときに、たまたま自分がその話しを聞いていて「これは本に書いた取り組みに似ている」と感じた。

まだ、原稿を脱稿したばかりだったのでとりあえずSESSAMEの名刺を交換をして自己紹介だけしてあった。

その後、本の見本ができたときに強引とは思いつつ、事情を書いたメールをお送りし「是非、本を読んでいただき感想を教えてもらえないか」と打診したところ快くお受けいただいた。その後、一ヶ月がたちそろそろかなと思っていたら、以下のようなメッセージをいただくことができた。全部を引用することはできないが一部だけでも紹介したい。

【組込み系の技術リーダーの方からメールより一部引用】

  :
私と私が管轄するプロジェクトのリーダーの2人で読ませていただきました。総じての感想ですが、中堅のエンジニアに是非読ませたいということで意見が一致しました。
  :
何も知らない初心者にはちょっとつらいかもしれませんが、ある程度実践経験のあるメンバーには、何をするべきかの良いインデックスの役割を持つと思います。特に1章では、技術的な課題とその背景が明確にされているため、解決策として何が有効なのかが理解でき現在の技術の必要性の理解に役立ちます。
  :
本に書かれてある再利用の壁、品質の壁をに直面している段階で、第3章にあるように体系的な再利用を推進するためになにが必要かを見直している所です。
  :
いくら製品のロードマップをベースにプラットフォームとなる構造を作り出し、再利用できる部品を作り出しても実際の商品化に有効利用していく体制を作らないと、構造も部品も定着しません。(コア資産になりません)これから、水平展開(裾野の拡大:定着)、ブラッシュアップ(再利用、品質と効率の向上)をすすめる段階に移ります。この本は、これからの我々にとって、良い指標・なにを考えるべきかの指標として、良い情報を与えてくれます。今後の展開に有効に利用させていただこうと考えております。

蛇足ではありますが、技術導入と水平展開には組織・体制などの整備が不可欠と思います。本書の立花さんの役割が重要になってくるのではないでしょうか。デマルコ風の外伝から予想して、立花さんの活躍(組織を動かす苦労)も載ってくるのかな?と思っていたのですが・・・。

技術導入は組織を説得する苦労とペアであるように思います。組織は数字による裏づけなしには動きません。効果の見せ方などにも言及していただくと、これまで動かなかった(動けなかった)エンジニアにも刺激になると思います。

【引用終わり】

このメッセージに対して以下のような返信を書いた。

【返信メールより引用】

本の感想ありがとうございました。

組込みソフトのソリューションはドメインによって処方箋が全部違うはずです。だから組込みソフトにはゴールドスタンダードがなくそのものズバリという本がないのだと思います。

そのような環境の中で実際に組込みソフトを開発している方に評価されたことが率直にうれしいです。この本書いてよかったと思いました。この本の中で繰り返し書いた真のユーザーに満足を与えることができたという実感をつかむことができました。

ところで、以下、さすがは現場で体系的な再利用に取り組んでおられる技術リーダーのコメントだと思いました。

> 蛇足ではありますが、技術導入と水平展開には組織・体制などの整備が不可欠
> と思います。本書の立花さんの役割が重要になってくるのではないでしょうか。
> デマルコ風の外伝から予想して、立花さんの活躍(組織を動かす苦労)も載って
> くるのかな?と思っていたのですが・・・。
> 技術導入は組織を説得する苦労とペアであるように思います。組織は数字による
> 裏づけなしには動きません。
> 効果の見せ方などにも言及していただくと、これまで動かなかった(動けなかった)
> エジニアにも刺激になるのではないでしょうか。次回作に期待していいでしょうか?

実は、組織を動かす・説得する苦労が載っていないという点については明確な理由が2つあります。

一つ目は、この本で想定したユーザー(顧客)と問題解決の目的はエンジニア個人とスキルアップであり、組織や組織の成功ではないという点です。もちろん、プロジェクトや組織に成功のための取り組みがテーマであることには間違いないのですが、本というプロダクトを買ってくれる最大の顧客はエンジニア個人です。したがって、組織を説得するというテーマは非常に大事ではありますが、何千人または何万人の組込みソフトエンジニアが求めているかと考えると追求すべきはエンジニア個人の利益(いかに苦境を乗り切るために学習意欲を高めることができるかどうか)の方が強いということになります。

二つ目は、私自身のこれまでの取り組みが自分のプロダクトのラインナップで実施してきた再利用、品質向上施策であり、組織全体にはまだ展開されていなかったからです。要するに自分の責任と権限の範疇で実施できたことを書いたというのが事実であり、組織を説得するようなところまでは至っていなかったというのが本当のところです。

ある意味、私は自分自身がリアルな世界で達成できなかったことを本というバーチャルな世界の中で立花という自分の分身に実現させて夢を見ていたわけです。

ところが、リアルな世界で異変があり、この4月から開発の現場を離れて現場のプロジェクトを支援・指導する立場になりました。

このことは本の原稿を脱稿してからわかったことで、本に書いた話が現実化してしまい苦笑いしているところです。

ということで、組織を動かす苦労はこれからたっぷりと味わうことになります。すでにその苦労は始まっていますので、何年かすれば組織を説得するためのソリューションをなんらかの形で示せるかもしれません。

【引用終わり】

最後にこの技術リーダの方が書かれた「技術導入は組織を説得する苦労とペアであるように思います。組織は数字による裏づけなしには動きません。効果の見せ方などにも言及していただくと、これまで動かなかった(動けなかった)エジニアにも刺激になるのではないでしょうか。」のコメントはEEBOFが取り組んでいる課題のひとつだと思う。

この課題の解決にはEEBOFEEBOFでコンサルタント修行中のよしのさんのがんばりに期待したい。

自分の方も苦労話や成功体験がたまってきたら、このブログサイトでも公開できる範囲でお知らせしていこうと思う。

また、『組込みソフトエンジニアを極める』への感想、ご意見は巻末のメールアドレスまで是非お送りいただきたい。そられのフィードバックがあってこそ次回の改善につながるのである。

2006-04-17

リアルタイム設計技術の難しさ

ソフトウェアプロダクトライン』『People CMM』などの翻訳や、『ソフトウェア・ジャストインタイム』などの著書でおなじみの前田 卓雄さんから、『組込みソフトエンジニアを極める』の感想が届いた。

前田さんとは、Inteface誌2003年12月号に「
具体例で学ぶ組み込みソフトの再利用技術」という特集記事を書いた後の EEBOF の飲み会で初めてお会いした。その後、前田さんとは何回か会ったがいつも当を得た暗示を与えてくれる。

Inteface誌に書いた 具体例で学ぶ組み込みソフトの再利用技術」はカーネギーメロン大学のソフトウェア工学研究所が研究している“ソフトウェアプロダクトライン”を日本向けにテーラリングしたもので、『組込みソフトエンジニアを極める』の第3章にリプレースされている。

前田さんから 具体例で学ぶ組み込みソフトの再利用技術」の感想として「難しいことをわかりやすく書きますね」と言われた。そして、「酒井さんの考えておられることを組織の中で受け入れてもらうには、組織の山全体を動かしてレベルを上げなければいけないでしょう」という暗示をもらった。また、「待つ」と「相手に花を持たせる」ということが大事だとも言われた。

おそらく2003年当時の自分は文章にもトゲというか他の者を押しのけるような横暴さのようなものがあったのだろう。

だいぶ角が取れたという意味で『組込みソフトエンジニアを極める-外伝-』のWEBサイトに隠された本のメイキング日記の中で、自分はR40だと紹介している。


組込みソフトエンジニアを極める-外伝- 著者の日記より引用】

酒井 由夫 (さかい よしお) R40(※1)
書籍 『組込みソフトエンジニアを極める』 の著者

※1
ここでのRは(Restrict:制限)のRではなく、40代くらいの丸みを持つエンジニアという意味。機械図面で R40 といえば角の半径(Radius)が40mmであることを示す。R20でとがっていた性格は歳を重ねるごとに丸みを増している。

【引用おわり】

こう書いたように、Interfaceで特集記事を書いた2003年から3年たって、だいぶ皮肉るような表現が減って丸みが増したように思う。

前田さんの『組込みソフトエンジニアを極める』の感想は要約すると2つあって、一つめは「これまで実行してきたことが本の中に想像され、組込み技術者であれば誰もが理解すべき、地に足のついた内容と思う」ということ、もう一つは、
「1つの大きなステップを極められたのではないかと思い、このステップをベースに、新たな出発をするのではと推察する」という内容だった。

ハッと思ったのはこの本はフィクションで自分の本業とはまったく関係ない電子レジスターメーカーを舞台に物語りを展開させたにもかかわらず、「自分の実行してきたことが本の中に想像される」と見抜かれたことと、「新たな出発をするのでは」というところが図星だった点だ。

前田さんに指摘されて改めて本に書いた「リアルタイム設計技術」「オブジェクト指向設計」「体系的再利用技術」「ソフトウェアの信頼性向上技術」の4つの技術が自分がたどってきた道筋そのものであることに気がついた。そして、その期間の構成は
「リアルタイム設計技術」が約20年、「オブジェクト指向設計」が約5年、「体系的再利用技術」が約3年、「ソフトウェアの信頼性向上技術」が約2年といったところである。

「リアルタイム設計技術」に関わった期間がいかに長いかということを再認識した。それだけ、組込みソフトは制約条件が厳しい中でリアルタイム性を実現することは使いやすさ、使う者の心地よさにつながっており難しい技術であるということだ。

そう考えると、『組込みソフトエンジニアを極める』の第一章「時間分割のハードルを越える」は他の章よりも凝縮度が高いかもしれない。

少なくとも、ビジネス系のソフトウェア開発をしている技術者の方には、まったく縁のない内容だと思う。逆に言えば、この部分が組込みソフトが組込みソフトであるゆえんでもある。

ちなみに、前田さんは最後に「ひとつの著書をまとめるには、相当のエネルギーが必要であったと推察する」と書いているが確かにその通りで相当エネルギーを使った。

そのメイキング日記はWEBサイト『組込みソフトエンジニアを極める-外伝-』に隠されているので是非入り口を見つけて、この企画が舞い込んできてリリースされるまでのストーリーを読んでいただきたい。