三洋テクノソリューションズ鳥取株式会社

組み込みエンジニアのための対話型システム設計研修


教育用のタブレット端末、電子決済のための通信モジュールなど、私達の生活に不可欠な機器を企画・設計・開発・製造している三洋テクノソリューションズ鳥取株式会社さまを対象に、複雑な組み込みシステムの設計を題材とした完全オンラインの研修サービスを提供しました。

研修の概要・目的

顧客の求めるものが機能から体験へと変化し、VUCA の時代と呼ばれるようにビジネスの不確実性が高くなっている中で、システム設計のあり方も変化してきています。

家電など身の回りの様々な機器を制御する組み込み系ソフトウェアでは、手続き型プログラミングが多く採用されています。一方で、UI/UXを担うアプリケーションレイヤーでは、オブジェクト指向型プログラミングが採用されることも多くなってきており、ソフトウェアのアーキテクチャに変化が起きています。また、クラウドとの接続なども考慮する必要が出てきており、組み込み系のシステム設計は益々難しいものとなってきています。

そこで、この研修では、複雑な組み込みシステムを題材に「分断の解消」という視点を獲得することを目的とし、

  • システム設計の考え方を知り、俯瞰的な視点を獲得すること
  • システム設計の考え方を通じて、課題やあるべき姿について対話すること
をテーマとした対話型のシステム設計ワークショップを行いました。

ワークショップでは、レヴィ式のソフトウェアシステム設計の概要を学んで頂いた上で、普段の業務を可視化した上で課題を抽出し、課題を生む「分断」を考えました。さらに、その「分断」を解消するために有効なモデルや対話について考え、トライアルを行いました。

この研修は、オンラインで同期的にモデリングを行うことのできるツールBalusを活用して、フルオンラインで提供しました。

Balusで描かれたWEBアプリケーションのモデル
S

研修の流れ

この研修プログラムでは以下の内容を2 日間(初日は13:00-16:00、2日目は9:00-12:00)に渡って実施しました。

  1. システム思考とシステム設計
  2. ソフトウェアシステム設計
  3. 課題洗い出しワーク
  4. モデリングワーク
※研修の内容や構成は要望に応じてカスタマイズすることも可能です

1. システム思考とシステム設計

システムデザインと、システムデザインを上手に実践するためのフレームワークである「システミング」について基本的な事項を学んで頂きました。座学だけではなく、システミングの3つの要素を簡易的に体験頂くスモールワークを行い、理解を深めました。

システミングの3つの要素

システム思考やシステミングについては、以下のページでガイドブックを公開していますので、ぜひご覧ください。

2. ソフトウェアシステム設計

システミングを組み込み系ソフトウェアの設計に活用するために、より実践的な内容を学んで頂きました。ソフトウェア設計において、どこで分断が起きやすいかに着目して、どのようなモデル(ビュー)を活用すると早期に分断を発見することができるのかについて、実例を示しました。

ソフトウェア開発において分断が起きやすい箇所
要求分析において分断の解消に効果的なモデルの例

3. 課題洗い出しワーク

「ビュー」の考え方を活用することで、自身や同僚が感じている課題感を洗い出し、その原因となる分断について議論しました。普段の業務を可視化した上で、まずは「もやもやしたこと」や「嫌だったこと」など感情に起因したものも含めて自由に課題の洗い出しを行い、その後、課題の書き直しや原因の考察を行うことで、顕在化していない課題の発見につながります。こうしてできた課題を「◯◯と△△の間の××の分断」や「◯◯と△△の間の××に関する認識齟齬」というフォーマットで記述して、普段の業務に内在している「分断」を発見していきます。

課題の書き直しと原因の考察
あるグループで抽出された課題と分断

4. モデリングワーク

課題洗い出しワークで明らかになった課題と分断に対して、どのようなモデルが有効であるかを議論しました。さらに、「モデルを使った対話」を実践することを通して、分断の解消方法を体感しました。

分断の解消に有効なモデルについて考える

参加者の声

研修後にご回答頂いたアンケートより、ご意見やご感想をピックアップして紹介します。

  • 実務と照らし合わせて問題点を洗い出す工程で他のチームの意見が聞けたり、自分が不満に思っていたところが他の人も同じだったことが分かったりして、問題点を目で見て開発全体を眺められたことが良かったです。
  • 業務フローの全体的な流れと各業務における課題やその対策について考えることができました。今回のような手法は今後業務を遂行する上で活用していけると感じました。
  • これまで、モデリングを行う事の意義は「ソフトを設計するため」と理解していましたが、「客先等との齟齬をなくすため」にも使えるというのは新しい学びでした。
  • 漠然としたイメージを可視化し、また共同作業によってお互いの認識のずれ「分断」を取り除くことは、後工程での後戻りを防ぐ効果があると思いました。
  • ソフト開発の課題の多くは、分断や認識の齟齬から発生していることがよくわかった。そのためにシステミングが有用なこともわかりました。
  • 仕様書や設計書といったあらたまったドキメントの作成を待たなくてもある程度イメージができあがったところで荒いドキメントでもよいので早めに開発メンバーで内容を確認しあうことで仕様の共有化を行うのが手戻りを防ぐ良い方法と認識できました。
  • メンバー全員で同じ画面を共有して作業していく工程は思っていたより楽しいものでした。開発の各過程で都度同じようなミーティングが出来たら意識合わせに有効なのではと思います。
  • リモートでの対話形式の研修は個人的に初めてでしたが、全体の構成や段取りなどとてもスムーズで感服しました。