組込みソフトウェア工房タイトル TOP ABOUT
組込みソフトエンジニアを極める−外伝−
日記アイコン 日記アイコン 日記アイコン 日記アイコン 日記アイコン
組田鉄夫のイラスト 立花秀樹のイラスト 室井安治のイラスト 佐藤智明のイラスト 南野光太郎のイラスト
 □ About this Site
本WEBサイトは書籍 『組込みソフトウェアエンジニアを極める』 (酒井由夫著)の紹介と本に登場する 5人の人物がソフトウェア開発の中で考え悩んだことを記した日記で構成されています。本が企画され完成するまでの経緯が記された著者の日記への入り口はこのページのどこかに隠されています。なお、 『組込みソフトウェアエンジニアを極める』 の話題を中心としたブログ 「組込みソフトウェア工房」 もぜひご覧ください。当サイトの内容はすべてフィクションです。実在の人物、事件、団体などにはいっさい関係ありません。当サイトに掲載されている内容・イラスト・図表などの無断転載を禁じます。本WEBサイトは書籍『組込みソフトウェアエンジニアを極める』 を紹介するために著者がデザインしたものです。(人物イラストデザイン:武田亜樹)
ここが新しい このプロジェクトは何が新しい?
 
組込みソフトエンジニアを極めるブックカバー
BOOK
15〜16世紀ルネサンス期のヨーロッパで活版印刷術が確立されてから500年が経過しました。21世紀になって情報革命がものすごいスピードで進んでいるにもかかわらず、いまだに紙に印刷した本から得られる知識、技術は数多く存在しています。書籍によってもたらされる情報は世の中の変化に素早く反応できないといった欠点があるものの記された知識、技術の多くは著者や編集者、査読者によって何度も推敲され、その内容は世に出してよいかどうか、多くの読者に受け入れられるものかどうか精査された良質な情報となっているはずです。

書籍には良質な情報を論理立てて提供するという特長があるものの、まだ十分解決されない次のような課題があります。
書き手が本にこめたコンセプトや背景をビジュアルに伝えることが難しい
本を読んだ読者の感想や行動をフィードバックすることが難しい
本に書かれたことに対して書き手と読み手が対話することが難しい

本プロジェクトはこの500年にわたり解決できていなかったこれらの課題に対して、書籍 『組込みソフトウェアエンジニアを極める』 と 本のコンセプトと本が作られた背景、登場人物の日記などを紹介するWEBサイト(本サイト)、著者が今現在考えていることを読者に伝え、読者が何を考えているのかを吸い上げるために作られたブログ という3つの情報媒体を同時に立ち上げることで課題の解決を試みようとしたものです。

書籍−WEBサイト−ブログ この3つの情報媒体のコラボレーション。 これが本プロジェクトの最大の特長です。
WEBサイト
WEB SITE
ブログ
BLOG
読みどころ こんなところがおすすめ
本書は次のような方に最適です
組込みソフトとは何なのかを知りたい
組込みソフトエンジニアになりたい
組込みソフトを極めたい

本書は現役の組込みソフトエンジニアのみならず、これから組込みソフトの世界に進みたいと考える技術者のたまごや、組込みソフトを経験したことがないIT系のソフトウェアエンジニア、ハードウェア出身のマネージャなどが読めば、今何が組込みソフトに求められているのか、どのように要求をクリアすればよいのかが分かります。
「組込みソフトって何が難しい?」 「とうすれば極められる?」 この疑問にていねいに答えていきます。
組込みソフトエンジニアを極めるブックカバー帯付き
本書で伝えたいことはこんなことです
組込みソフトエンジニアが肥大化したソフトウェアのメインテナンスや機能追加に精神力をすり減らしながら仕事に追われるのではなく、クリエイティブな気持ちで魅力的な製品の開発に臨めるようになるためにはどのようなモチベーションでどのようなスキルアップのアプローチを採ればよいのか。
魅力的な製品を開発し、ユーザーに快適に安心して使ってもらい次回も自分たちの製品を選んでもらうためにはどうすればよいか。
組込み製品を製造する企業が組込みソフトウェアエンジニアに何を期待し、エンジニア個人の利益と組織の利益を両立させるにはどうすればよいのか。

これまでの組込みソフトウェアに関する書籍は、抽象度の高い技術解説か、または、プログラミングに近い部分の技術や経験則の紹介であることが多く、今現在開発の現場で課題となっている開発の効率化や品質の向上に対する具体的アプローチを必ずしも示しているとは言えませんでした。

なぜ、そうなってしまうのでしょうか。それは、組込みソフトウェア開発とひとことで言ってもさまざまなプロダクトがあり、それらのプロダクトの開発プラットフォームは千差万別でCPUパフォーマンスや、メモリの制約、制御するハードウェアなどがすべて異なるため、それらすべての組込みソフトウェア開発の共通した最適なソリューションなど存在しないからです。

また、それぞれの組込みソフトウェア開発の制約条件が同じではないため、ひとつの業務ドメインを対象にすると他の業務ドメインにはそのソリューションはそのままでは使えないというジレンマがあります。

さらに、組込みソフトウェアの開発に関するソリューションを活字で表現することのできるライターは開発の現場にいる現役のエンジニアやエンジニアを指導する立場のコンサルタントなどであり、彼らは開発の現場で培った独自のノウハウを本に書くことは契約上許されません。

しかし、このまま組込みソフトエンジニアの負担が増す一方で、具体的な解決策が示されない状態が続けば、エンジニアはその肩にのしかかった負荷を精神力をすり減らしながら日々こなしていくしかなく、そのようなアプローチで限界に達してしまった日本の組込みメーカーは産業競争力を低下させてしまうでしょう。

そこで、本書は仮想の組込み機器メーカーをつくり、その中で働く組込みソフトエンジニアたちが、組込み機器のソフトウェア開発の中で何を考え何を悩み、どのように問題を解決していくのかを描くことで、具体的な問題解決の施策を示すことにしました。

読者はこの具体例を眺めながら自分たちの環境にどう投影したらよいのかを考えていきます。

技術者個人のスキルに頼ってすり合わせ的な開発を行ってきた日本の組込みソフト開発では、組込みソフトウェアの規模が増大したことで、ドメインの最適化した経験的な知識やノウハウだけでなく、ソフトウェア工学の要素を実際の開発現場に取り入れる必要がでてきました。

しかし、長い間現場のエンジニアに任せきっていた設計の方式やプロジェクト管理をいきなり教科書に書いてあるようなやり方にスイッチするには無理があります。本書は、すり合わせ的な開発の有効性を示した上で、現場の組込みソフトエンジニアがどのようにソフトウェア工学を少しずつ取り入れていけばよいのかを示しています。
ナビゲーションカート
ユビキタス時代の
ナビゲーションカート
表記法の違い
表記法の違い
 本書は次のような特長があります
わかりやすい 組込みソフトの経験がなくてもわかりやすいように、図表を数多く配置し、組込みソフトに特有のことばをわかりやすく解説し、架空の電子レジスター製造メーカーをモデルに具体的例を使って問題の解決方法を示しています。
具体的 組込みソフトに求められる 「リアルタイム性」 や 「ハードウェアを考慮した設計」 に加え、 「大規模化した組込みソフトの再利用戦略による効率化」 、 「組込みソフトの高品質化アプローチ」 といった近年の組込みソフトウェア開発に求められる問題領域を網羅しています。
複数の視点 初級、中級、上級組込みソフトエンジニア、ハードウェア出身のマネージャ、IT系企業に勤めるソフトウェアエンジニアが登場し、技術解説とともにそれぞれのエンジニアが技術を極めていく過程を物語として描いています。
品質向上施策を解説 組込みソフトは高い信頼性が求められています。しかしながら、組込みソフトが原因となる不具合は着実に増加しています。本書はこの問題を正面から取り組み、現実的な解決方法を提案します。
モチベーション重視 組込みソフトエンジニアが身につける技術を解説するだけでなく、どのようなモチベーションを持って仕事に取り組むべきかを現役の組込みソフトエンジニアである著者が伝えていきます。
実績あり 組込みソフトウェア開発技術展(ESEC)の専門セミナーで過去2回アンケート回答者の90%が「役に立った」と答えたソリューションである体系的なソフトウェア再利用戦略およびソフトウェア品質向上施策が盛り込まれています。
組田鉄夫 【組田 鉄夫】 (くみた てつお) 27歳

大学では、ロボット制御に夢中になり組込みソフトのおもしろさを感じて、現在勤める電子レジスターの会社に就職した。先輩の立花 秀樹について5年間、電子レジスターの組込みソフトについて基礎から応用まで学んだ。立花が示した組込みソフトエンジニアのロードマップに沿ってメキメキと力を付けてきたのだが、立花が突然人事異動で社長直属の特命プロジェクトに引っ張られてしまったため、ソフトウェアチームのプロジェクトリーダーの役割もこなさないといけなくなった。立花がいなくなったことで自分自身の努力で技術的な成長を遂げる必要に迫られている。

立花秀樹 【立花 秀樹】 (たちばな ひでき) 37歳

東洋電子レジスターの組込みソフトウェアにおける技術リーダー的な存在で、最新のソフトウェア工学を取り入れながら開発の効率化や、ソフトウェアの信頼性向上について取り組んできた。組田が入社してから、それらの技術を伝授すべく、実際の製品開発の中で教育を行ってきたが会社の特命プロジェクトに異動になったためすべての技術を伝えきれないまま、組田と離れてR&Dセンターがある京都に赴任してしまった。特命プロジェクトで何をしているのか、組田や室井は知らされていない。

室井安治 【室井 安治】 (むろい やすじ) 45歳

ミドルレンジの電子レジスター開発部門の製品担当課長。電気系出身のエンジニアで、20年以上前に4ビットのマイコンを使ってアセンブラで電子レジスターのソフトウェアを作ったことがある。昔の実績を背景に「自分はソフトウェアのことはなんでも分かっている」と言うため、立花や組田とはしばしばソフトウェアのことで口論になる。しかし、最近のソフトウェア技術について理解を深めたいという願望はあり、組田の話しを理解したいと考えている。電子レジスターのコストダウンとリコールの軽減について、上層部から指示がきており頭を悩ませている。
立花が特命プロジェクトに異動になった穴埋めとして新人の佐藤を組田に付けて、ソフトウェアグループの体勢を立て直そうと考えている。

佐藤智明 【佐藤 智明】 (さとう ともあき) 22歳

東洋電子レジスターに入社した新人技術者。本社の社員研修で2ヶ月間、ハードウェアや組込みソフトウェアの基礎、電子レジスターのしくみや市場などについて学んだ。組田の下について、早く一人前になりたいと思い試行錯誤しながらも毎日がんばっている。

南野光太郎 【南野 光太郎】 (みなみの こうたろう) 27歳

組田 鉄夫と同じ大学の出身で、Webアプリケーションソフトにおけるデザインパターンについて卒業論文を書いた経験を活かしてビジネス系アプリケーションソフト開発の会社に就職した。オブジェクト指向設計について実践的経験を積み仕事もおもしろくなりかけている。大学を卒業してからも組田とはソフトウェア技術についてよく酒を飲みながら語り合っている。
本の流れ
 
※ハードルはエンジニア個人の努力で越えることのできる技術的難易度を示し、壁はプロジェクトや組織の取り組みで越える目標を表しています。

昔の設計手法 “時間分割のハードル” とは、組込みソフトが常に背負っているリアルタイム性能を実現するための技術的ハードルです。かつて、組込みソフトエンジニアの先人達は組込み機器に求められていたリアルタイム性能をCPUと周辺デバイスを駆使し、1つのメインループと複数の割り込み処理で実現していました。しかし、ソフトウェアの規模が拡大し、リアルタイム性を含んだ複数の動作をひとつのCPUで実現しなければならなくなった現在では、時間的な同期を意識しながら、リアルタイムOSを使って独立性の高いモジュール分割をしなければなりません。“時間分割のハードル”を越えることで、組込みソフト技術者としてのリアルタイム性能を意識したモジュール分割の技術を身につけることができるでしょう。

レイヤー分割 “機能分割のハードル” とは、多様化した要求仕様をソフトウェアで実現するために必要な技術的ハードルです。この技術はビジネス系のソフトウェア開発では、オブジェクト指向設計などの取り組みで解決が進められている分野ですが、組込みソフトでは、第一の“時間分割のハードル”を越えた上で、さらに、"機能分割のハードル”を越える必要があるため、ビジネス系で培われた技術をそのまま取り入れるだけではうまくいきません。時間的な分割と機能的な分割は個別に行うのではなく、相互に行き来しなければならないのです。“時間分割のハードル”と"機能分割のハードル”を越えることで、制約条件をクリアしながら、求められるリアルタイム性を確保しつつ、多様化した要求仕様を効率的に実現することが可能になります。

プロダクトライン3つの活動 “再利用の壁” は規模が拡大したにもかかわらず、以前よりも増して短縮することを求められている開発期間を達成させるための切り札です。組込み製品は同じ市場に長い間商品を投入し続けるため、市場やユーザーが求める根元的な要求に応えるためのコアとなるソフトウェア資産が存在します。このコア資産を、バリエーションを実現する部分のソフトウェアと分離しマネージメントすることで効率的なソフトウェア開発が可能になります。初めてコア資産の分離するときには、分離しないで開発するときのおよそ1.5倍の期間と高度な技術が必要ですが、コア資産の摘出ができた後、差分開発の回数が増えるたびに開発期間は短縮され、商品の付加価値を高めながら開発効率を飛躍的に向上させることができます。体系的な再利用の実現には、ソフトウェア技術のみならず市場分析や製品群の特徴を分析する技術が必要であり、組織横断的な取り組みが不可欠です。

品質向上プロセス “品質の壁” は、組込みソフトに求められる安全性や信頼性をクリアするために越えなければならない目標です。組込み製品は人の生活に密着しており、組込みソフトは組込み製品をコントロールする頭脳となっているため、そこに不具合があるとユーザーに迷惑がかかるだけでなく、企業全体の信用も失墜してしまいます。企業にとっては製品回収の費用が利益を圧迫しているという現状もあります。組込みソフトエンジニアは、ソフトウェアの品質向上についての理論を理解し、プロジェクトや組織としてその理論を実践することで、製品の安全性や信頼性を確保します。組込みソフトを取り巻く世界は、グローバル化しつつあります。世界全体に広がった市場で、日本の組込み製品、日本の組込みソフトは品質が高いというブランドイメージを守り続けなければ、私たち組込みソフトエンジニアの足下も揺らいでいくでしょう。


バックサイトへの入り口