3rd Open SESSAME Seminar Report |
■ 3rd Open Sessame Seminar の概要
組込みソフトウェア技術者・管理者育成研究会(SESSAME)は第3回 組込みソフトウェア技術者・管理者向けセミナー(3rd
Open SESSAME)を10月14 日(火)〜10月15日(水)の両日に、東京・赤坂の日本規格協会にて開催しました。 日本のソフトウェア産業の競争力低下が長いこと叫ばれています。世界と対等に戦い優位に立つために、わが国は組込みソフト(ファームウェア、埋め込みソフト、エンベッデッドシステム)に注力しなくてはなりません。日本がもっとも力を発揮でき、また発揮しなくてはならない分野は組込みソフトウェアなのです。しかし家電製品や自動車、通信、FA機器など多くのハードウェアが“インテリジェント化”する一方で、組込みソフトウェアエンジニアは複雑さや規模、信頼性要求の高まりに悲鳴を上げています。 |
|
3rd Open SESSAME の会場の様子 | |
この状況を打破するために、組込みソフトウェア技術者や管理者を育成するためのカリキュラムの整備、そしてその基になる方法論・ツールの開発に関する研究が必要なのは言うまでもありません。我々の感触では、組込みソフトウェアの中級レベル以上の管理者・技術者が数万人以上必要であり、早急に育成する必要があるものと確信します。 そのため我々は、「組込みソフトウェア管理者・技術者育成研究会」(SESSAME: Society of Embedded Software Skill Acquisition for Managers and Engineers)を結成し、組込みソフトウェア技術者や管理者を育成するためのカリキュラムの整備、そしてその元になる方法論・ツールの開発に関する研究を行ってきました。 その一環としてSESSAMEでは昨年から2回のセミナーを開催し、200名を越える方々に参加頂きました。6月に開催した前回のセミナーでは、組込みソフトウェア開発に従事して2〜3年目程度のこれからの活躍が期待される初級エンジニアを対象とし、基本となる技術要件をチェックし技術力を振り返ることで、今後の飛躍への足固めをしていただくことを目的としました。 今回は、 組込みソフトウェア開発に従事して4年以上またはプロジェクト経験3回以上程度の 技術者としてはリーダクラスで、これからは管理者としての活躍も期待される中級エンジニアを対象としたセミナーを開催することにしました。技術者としては会社の中で先頭に立って活躍されていると思いますが、もう一度基本となる技術要件をチェックし自分の技術力を振り返るとともに後進の指導の指針としていただくための技術解説をセミナーでは実施します。同時に、組込みソフトウェアの管理者としての視点から、今後必要となるスキルを身につけて頂くための講演も合わせて実施します。 |
3rd Open SESSAME Seminar プログラム 1日目 10月14日(火) | |||
プログラム1 | 基礎技術の整理 〜分析・設計・プログラミング・テストの基礎技術〜 |
アンケート集計結果 | 森 孝夫 (三栄ハイテックス) |
プログラム2 | リアルタイムシステムの設計指針 | アンケート集計結果 | 高田 広章 (名古屋大学) |
プログラム3 | リアルタイムシステムのテスト | アンケート集計結果 | 大西 建児 (エス・キュー・シー) |
プログラム4 | 組込みソフトウェアの品質管理1 | アンケート集計結果 | 居駒 幹夫 (日立製作所) |
プログラム5 | 組込みソフトウェアの品質管理2 | アンケート集計結果 | |
プログラム6 | 組込みソフトウェアの品質管理(演習) | アンケート集計結果 |
3rd Open SESSAME Seminar プログラム 2日目 10月15日(水) | |||
プログラム7 | 技術リーダ/マネージャ入門 | アンケート集計結果 | 杉浦 英樹 (富士ゼロックス) |
プログラム8 | プロジェクト計画立案・運用とリスク管理の概要 | アンケート集計結果 | 三浦 元 (テクノホロン) |
プログラム9 | 技術者のキャリア評価・構築とスキル標準 | アンケート集計結果 | 渡辺 登 (沖通信システム) |
プログラム10 | グループ討議1 | アンケート集計結果 | 三浦 元 (テクノホロン) |
プログラム11 | グループ討議2 | アンケート集計結果 |
プログラム1 「基礎技術の整理」〜分析・設計・プログラミング・テストの基礎技術〜 |
■講師 森 孝夫(三栄ハイテックス)
■概要
組込みソフト初級技術者にも分かりやすい構造化分析手法を使ってししおどしの制御モデルを分析・設計してみる。構造化分析手法による要求分析とアーキテクチャ設計の実際を解説する。
■キーワード・キーセンテンス
「構造化分析手法」 「データフローモデリング」 「コンテキストダイアグラム」 「データフローダイアグラム」 「プロセス仕様」 「状態遷移図」 「ディクショナリ」 「高品質の設計は、高品質な分析結果から生まれる」 「上流工程でよい品質を作り込もう」 「モジュールの凝集度(コヒージョン)」 「アーキテクチャ設計」 「モジュール間の結合度(カップリング)」 「モジュール仕様」 「McCabeの複雑度」 「状態遷移表」 「テストはきちんと設計して行うもの」 「テストが上手になると、そもそもバグのない開発ができるようになる」
プログラム2 「リアルタイムシステムの設計指針」 |
■講師 高田 広章(名古屋大学)
■概要
リアルタイムシステムの設計指針について解説する。まず最初に、リアルタイムシステムの適用分野、リアルタイム性による分類、要件をきちんと理解し、リアルタイムシステムとは何かを押さえる。次にリアルタイムOSのメリット(処理効率の向上、簡素なソフトウェア構造を実現、ハードウェア構造の隠蔽化等)とデメリット(OSのオーバーヘッド、OSによるメモリの消費、コストの増加、再現性の低さ等)を理解する。さらに、マルチタスクの機構、複数タスクの動作、タスクのスケジューリング、タスク間通信と同期について学ぶ。
■キーワード・キーセンテンス
「単に早い応答を求められているシステムをリアルタイムシステムと呼ぶわけではない」 「ハードリアルタイムシステムとソフトリアルタイムシステム」 「リアルタイムカーネルはプロセッサのデバイスドライバととらえられる」 「ディスパッチとスケジューリング」 「タスクとスレッド」 「プリエンプティブとノンプリエンプティブ」 「ラウンドロビン」 「レイト・モノトニック・スケジューリング」 「共有メモリによるタスク間通信とメッセージによるタスク間通信」
プログラム3 「リアルタイムシステムのテスト」 |
■講師 大西 建児(エス・キュー・シー)
■概要
テストスペシャリストから見たリアルタイムシステムの特徴を分析し、リアルタイムシステムのテストの方法について解説する。
・並行処理と割り込み処理における不具合の特性
・テスト実施経験からのアドバイス
・他のプラクティスからのアドバイス
■キーワード・キーセンテンス
「安全性・生存性・公平性の破壊誤り」 「プロセス間での同期の失敗によってデッドロックが発生する」 「ライブロックによりプロセスが実行できない」 「正常範囲の絞り込みが重要」 「テストツールは」使いよう」 「仕様書やテスト項目を正しいと信じすぎるな」 「テスターなど、機器の取り扱い方はきちんと知っておく」 「自分が当たり前にしている基本をたたき込むことが大事」 「早期のストレステストは単純な同期のタイミングのバグを見つけるのには効果的」
プログラム4 「組込みソフトウェアの品質管理1」 |
■講師 居駒 幹夫(日立製作所)
■概要
ソフトウェア品質管理の基礎を理解し、プロジェクトでの個別の問題に対して適切な品質管理を企画できるようになることを講義のゴールとする。ソフトウェアの品質特性と品質管理のポイントを理解し、ソフトウェアの信頼性を検証・確認する方法の考え方を学ぶ。
■キーワード・キーセンテンス
「製品の使用者(顧客)への価値を産み出す品質管理と、自分の組織の強化につながる品質管理の両立」 「目的意識を持ったソフトウェア品質の管理方法」 「先憂後楽のソフトウェア品質管理」 「顧客満足や製品の使用目的を考慮した品質設計」 「フォールト(不良)を摘出することよりも、作り込まないこと」 「フォールト(Fault)と故障(Failure)は異なる」 「V字モデル」 「Verification(検証)とValidation(妥当性確認)」 「最終的な品質はValidationで確認する必要がある」 「品質管理の成否はVerificationで決まる」 「ある工程への入力と出力の整合をチェックしてこそVerificationと言える」 「品質管理の組織的な取り組みを行うためには、品質意識の醸成が前提」 「独立した品質保証部署など客観的な立場での品質管理が必要」
プログラム5 「組込みソフトウェアの品質管理2(演習付き)」 |
■講師 居駒 幹夫(日立製作所)
■概要
「組込みソフトウェアの品質管理」の講義をふまえて、実践的な品質管理の手法/実施例を紹介する。ソフトウェア開発の各フェーズでの品質管理を分析し、演習によって具体的な問題について考える。
・分析/設計フェーズ(何が顧客満足につながるか、ソフトでどの品質特性を重視するのか)
・設計フェーズ(Verificationによる品質問題の早期摘出、レビューによる問題の早期摘出)
・コーディング(チェックイン前レビュー、テストによるフォールト混入防止)
・テスト(バグ表、フォールト摘出状況管理図による問題点の早期発見)
■キーワード・キーセンテンス
「何をよくすると顧客満足(品質向上)につながるか」 「コンポーネント毎に重視すべき品質特性を把握する」 「組織の目標から、撲滅したいフォールトの種類を特定し、そのフォールトに対してゼロにすることを目標とする」 「設計フェーズで保守性・移植性を考慮する」 「寿命の長いソフトの構成を考える」 「そのソフトの重点品質を考慮した設計を行う」 「設計だけでなくレビューの工程もスケジュールに組み込む」 「適切な人数でレビューを行う」 「経験豊富なモデレータを含めてレビューを行う」 「対策責任者、対策期限をレビュー中に明確化する」 「富士通社の七つの設計原理:単純原理(自然であれ)、同型原理(形にこだわる)、対称原理(形の対称性にこだわる)、階層原理(形の階層的美しさにこだわる)、線形原理(線形結合にこだわる)、明証原理(ロジックの明証性にこだわる)、安全原理(必然性を意識する)」 「構成管理でソースコードをチェックインする時のルールを決める」 「バグ票で故障発生からフォールト特定までを管理する」 「フォールト摘出状況管理図による品質管理」
プログラム6 「技術リーダ/マネージャ入門」 |
■講師 杉浦 英樹(富士ゼロックス)
■概要
中級マネージャとしてプロジェクト管理に必要な知識を紹介。CMMを中心とした一般的な管理の方法の紹介に加え、組込みソフト開発現場での管理上の問題と対処を例示。また、組込みソフト開発管理者への期待とKSF(Key
Success Factor)を、人間的な側面で分析、紹介。
■キーワード・キーセンテンス
「そもそも我々の仕事は何なのかを把握する」 「QCDS:品質・コスト・納期・セキュリティ」 「ソフトは工業製品か」「マネージャとなる以上、会社のお金を有効に使うことを考えることも必要」 「PDCAをまわすことで組織にKnowHowを蓄積する」 「CMM」 「CMMのレベル2を押えておけば、とりあえず自分たちの仕事はうまく回る」 「リソースは時々刻々変化する」 「育成しないといつまでたっても楽にならない」 「技術は人なり、管理も人なり」「ソフト開発自身が管理そのもの」
プログラム7 「プロジェクト計画立案・運用とリスク管理の概要>」 |
■講師 三浦 元(テクノホロン)
■概要
「技術リーダ/マネージャ入門」を受けて、プロジェクト計画の重要性、策定方法、WBS等について具体的に紹介する。「プロジェクト計画立案・運用とリスク管理の概要」に続き、プロジェクト計画の運用とリスクの察知/対応策についてさらに具体的に解説する。
■キーワード・キーセンテンス
「計画策定をちゃんとやるかどうかが、プロジェクトが赤字になるかソフトランディングできるかの分け目になる」 「進捗管理に使える計画を作ること」「計画を作ることはシミュレーションマップを手に入れること」 「計画には5W2Hの要素が大切」 「リスク管理は、リスクの予防・検知・回復の各段階を考える」 「2度あることは3度ある」 「リスクの対処が別のリスクの原因になるかもしれない」 「計画運用に朝令暮改は全く問題でない」 「早いうちから手を打っておけば、こちらが火だるまになることはない」 「計画を作りっぱなしではだめ、現状を俯瞰し、分析し、最適解に組み替えていくことが必要」
プログラム8 「技術者のキャリア評価・構築とスキル標準」 |
■講師 渡辺 登(沖通信システム)
■概要
組込みエンジニアに求められる技術は幅広い。キャリア・スキルに関する動向、SESSAMEで策定中のスキル標準の内容を紹介し、自分の業務に必要な
スキルを認識していただく。また、具体例を見ながらスキル標準の利用方法を考察する。
■キーワード・キーセンテンス
「情報処理技術者スキル標準」 「ITスキル標準」 「組込みソフト開発のスキル」 「レーダーチャートで視覚化することにより、理解しやすいし、されやすくなる」 「頭の中にスキル標準のインデックスができる」
プログラム9 「グループ討議1」 |
■講師 三浦 元(テクノホロン)
■概要
仮想プロジェクト(話題沸騰ポット)でのWBS(Work Breakdown Structure)による計画策定を行う。予想されるリスクのトップ10をリストアップする。WBSによる計画立案を体験する
・4人ずつのグループに分かれて「話題沸騰ポット」の開発WBSを作成、予想されるリスクをリストアップする。
・まずは個人で検討・グループで30分でディスカッション、WBS、リスクトップ10を書き出す
・いくつかのグループで発表
■キーワード・キーセンテンス
「技術リーダーのためにはWBSにマネジメントタスクを明示するのも手」 「WBSを作っていく過程でプロジェクト内の合意ができるのが良い」 「WBSの途中経過は様々だが、最終的に漏れがないようになっていればよい」
プログラム10 「グループ討議2」 |
■講師 三浦 元(テクノホロン)
■概要
グループ討議1にて検討したプロジェクトの約4ヵ月後を想定、あらかじめ問題点を仕込まれたシナリオからリスクを抽出、本来どう予防すべきであったか、この後どう回復すべきかを検討することにより、リスク管理、プロジェクトマネージャの役割、計画策定等について再認識する。
・4人ずつのグループに分かれて。「話題沸騰ポット」プロジェクトの4ヵ月後のシナリオを読み、下記3項目について個人、グループで検討する。
・予想されるリスクは何か
・本来はどうすべきであったか
・この後どうすべきであるか
■キーワード・キーセンテンス
「WBSではスコープとしてやることを書く。やらないことは書かない。WBS以外の追加仕様は取捨選択する。」 「リスクを管理する、というのがマネージャの重要な仕事」 「技術課題だけに着目するのでなく、人の問題、メンタルな問題も気を使って行きたい」 「〜と思います。という言葉で報告していたらそれは多分、やばい」 「悪いことは言い出しづらい」」
第3回 組込みソフトウェア管理者・技術者向けセミナーに関するご意見、ご感想は までお願いいたします。
3rd Open SESSAME Seminar Report は組込みソフトウェア管理者・技術者育成研究会(SESSAME)が著作権を所有しています。 本レポートの全体または一部を複製、利用をされる場合および報道を目的とした公開の際には、あらかじめ組込みソフトウェア技術者・管理者育成研究会(SESSAME)の事務局から承諾を受ける必要があります。