メインコンテンツまでスキップ

「DX化」タグの記事が2件あります

全てのタグを見る

· 約9分
山路 厚

はじめに

ソフトウェア現場改善エバンジェリスト&デザインDXエバンジェリストの山路です。

第1回「なぜ、メタモデルなのか?」では、デジタルペーパーを用いた文書記述に内在する問題構造をご説明しました。 「何を」を定めるのに「どうやって」という特定の見た目を使って定義していることに気づき、ここに問題の本質があることをお伝えしました。 第2回では、エンジアリングプロセス(本ブログでは、「対象製品を設計する技術的なプロセス」の意味で使用する)の共通化と上記の気づきの関係性を論ずることで、共通化を進める1つの方法論をご紹介します。

なぜ、同じ内容を定義するのに見た目が異なるのか

第1回で述べた気づきが示唆することは、「同じ内容を定義するのに、異なる見た目を使ってしまう」ということです。 人によって、チームによって、組織文化によって、慣習によって、あるいは、その時々の関心事によって、別々の見た目を使ってしまうのです。 そして、この現象の大半は、エンジニアの頑張りによって引き起こされています。
例えば、設計した内容を上手く伝えたいというエンジニアの思いにより、知恵を出して文書記述を工夫することがあると思います。 各エンジニアのそれぞれの工夫が見た目のバリエーションを増やします。 また、文書記述の標準化や共通化などのプロセス改善を行うこともよくあることでしょう。 活動を推進するチームの関心事や価値観に合わせた見た目を採用するので、他製品や他の組織とは異なる記述形式となりやすいのです。

異なる見た目が、共通化を阻む

エンジニアリングプロセスのバリエーションが増えてくると、全社レベルや大きな組織レベルで「共通化したい」、「共通化すべき」と、上層部や改善部門から要望されることがあります。 良いプロセスは組織で共有したい、共通化することで開発の効率や品質を向上させたい、あるいは、配置転換をしやすくしたい、等々の理由によりプロセスの共通化が求められます。 よくある話で、皆さんも一度や二度のご経験があるのではないでしょうか。
そこで、多くの組織では、プロセスの共通化を推し進めるために、各チームの代表が集まってワーキング活動が立ち上がります。プロセス共通化ワーキングです。 しかしながら、ワーキング活動の進みが遅い、時には、頓挫して自然消滅する、なんて状況を度々見かけます。それは、なぜでしょうか?

“なぜ”を考えるヒントとして、前述した以下の気づきを思い出してください。

  • __「何を設計するか」を「どのように設計するか」という特定の見た目で定義する __
  • __同じ内容を定義するのに、異なる見た目を使ってしまう __

このため、共通化の議論も、それぞれのプロセスの特定の見た目を比較して行うことになります。 つまり、見た目の影響を受けた議論になってしまうのです。 見た目の違いから、「共通化が難しい」という結論になることもあるでしょう。 また、「何を」を議論しているつもりが、「どのように」の議論にすり替わることもあるでしょう。

人は、見た目に惑わされやすいのです。 もしかしたら、自分のプロセスを変えたくないとか、共通化ワーキングのマウントをとりたいとか、そのような思いが無意識に働いているのかもしれません。 「見た目に影響される」という方法が、ワーキング活動を進みにくくさせている1つの要因になっているのではないでしょうか。

メタモデルを使って解決に導く

Next Designでは、「何を設計するか」をメタモデル言語で定義します。 見た目と分離する方式なので、見た目の影響を最小限に抑えることが可能です。 そこで、共通化を進めるには、以下のStepを踏む方法が良さそうです。

要するに、各チームが使っているエンジニアリングプロセスをNext Design上に搭載し、その後、メタモデルをもとに共通化を検討する方式です。 見た目を分離し、「何を設計するか」をメタモデルにより整理します。ここが重要なポイントです。 当初はメタモデルに慣れていないので少し戸惑うかもしれませんが、「何を設計するか」をエンジニアが自ら問うことで、対象製品の設計の理解が深まっていくはずです。 その後で、メタモデルをベースに共通化の検討を行います。 メタモデルという共通言語で検討することで、「何を設計するか」を概念的に捉えられることが期待できます。 その結果、共通な点が自然に見つかり、活動が進みやすくなるのではないでしょうか。

まとめ

このコラムでは、エンジニアリングプロセスの共通化活動を阻む要因をお伝えしました。

【阻む要因】

  • 「何を」を異なる見た目で定義している
  • 異なる見た目に議論が影響を受けてしまう

この要因は、デジタルペーパーが抱える問題構造が引き起こしてしまう現象です。

この問題に対し、メタモデルを用いた解決方法をご紹介しました。 「何を設計するか」をメタモデルで定義することで、見た目の影響を受けにくい検討ができそうです。 また、エンジニアの概念化能力の向上にも効果がありそうです。 プロセスの共通化を着実に進める方法としても、Next Designを使ってみてはいかがでしょうか。

· 約15分
山路 厚

はじめに

ソフトウェア現場改善エバンジェリスト&デザインDXエバンジェリストの山路です。

これまで本ブログでは、Next Designの機能やTIPSなどをご紹介してきましたが、 今回は趣向を変えて、Next Designのコンセプトである設計情報のDX化をテーマに全2回のコラムをお届けします。 以下の内容を予定しておりますのでご期待ください。

それでは早速「なぜメタモデルなのか?」をテーマに記事を始めます。 Next Designでは、メタモデル言語を使用して設計情報を定義します。 そして、「メタモデルを使って設計情報を定義することが難しい」というお話をよく耳にします。 そもそも、なぜ、メタモデルなのでしょうか? 「メタモデル方式は、きっと良いのだろう」と直感的に捉えていましたが、説明が上手くできませんでした。 デジタルペーパー中心の開発方式が抱える問題に取り組む中で、「なぜ、メタモデルなのか?」につながる知見を得られたのでご紹介します。

info

本記事は、ソフトウェアプロセス改善カンファレンス2024(日本SPIコンソ―シム主催)で発表した経験報告をもとに、記事としてまとめた内容となります。詳細は、発表資料をご覧ください。

デジタルペーパー中心の開発の何が問題か

大規模開発

クラウドやIoT技術の普及により、ソフトウェア開発の大規模化が急激に進み、従来のデジタルペーパー中心の開発方式では対応できずに大炎上・大混乱に陥るプロジェクトが多くなっています。 また、開発規模が大きくなればなるほど、人やチーム間の役割を明確にし、情報の共有をはかる必要性が高まり、ますます開発文書の重要度が高まっています。

つまらない問題

しかしながら、文書の不備に起因する“つまらない問題”が開発現場では多発しています。 “つまらない問題”とは、記述の不整合や記述不足などによる「エンジニア間の認識違い」が引き起こす問題です。 複雑なアルゴリズムが潜んでいるような技術難易度が高い問題ではなく、思い込みや勘違いによるちょっとした認識のずれから発生する問題です。 これらの問題に対し、私達は長年にわたり改善を行ってきました。 いわゆる、プロセス改善です。ルールや規定を作り、チェック作業やチェックツールを投入するなどの改善を実施してきました。 しかし、改善はされるものの新たな文書記述の問題が発生する、または、同じような問題が再発することもあります。 そもそも、本質的とは思えない問題に、工数やお金を投入していることに「何かがおかしいのでは。。。」という違和感を抱いていました。

記述が重複する

つまらない問題は、様々な要因によって引き起こされます。ここでは、文書記述の“重複”によって引き起こされる問題に着目して問題の本質を掘り下げます。多くの開発現場で起きている、身近な問題です。 開発文書間や開発文書内で、重複する記述は多々あります。重複する記述の例として、記述する設計情報の名称をイメージすると、ピンとくると思います。 記述の重複が出現する主な場面は、以下の通りです。

  • 設計のブレイクダウン

設計は段階的に詳細化します(ブレイクダウン)。 設計内容をブレイクダウンする際、上位設計書で使用した記述を下位設計書で使用します。 「概要」から「詳細」のように設計をブレイクダウンする際に、同じ名称を使って記述します。 このようなブレイクダウンは、文書間や文書内で何度も繰り返すので、重複はどんどん増えていきます。

  • 多様な関心事

説明の目的や関心事に合わせて、様々な見た目で設計情報を記述します。 他の箇所で記述した設計情報を使って、目的に合うように記述します。 年々、機能安全など新たな説明要求が加わり、重複する設計情報の記述が増加しています。

重複が起点となり不整合を引き起こす

重複した記述が多ければ多いほど、設計情報の不整合が起こりやすくなります。 特に、変化が激しい開発や大規模開発では、記述内容のメンテナンスが追いつかず、発生頻度が高まります。 その結果、エンジニア間の認識がずれる原因となり、“つまらない問題”が多発するのではないでしょうか。 また、重複する構造は、設計情報間のつながりが不明確となりやすく、エンジニアの理解の障壁となります。 さらに、つながりの分かりにくさは、情報の欠落の原因にもなります。 これらのことが重なって、“つまらない問題”を引き起こすのです。

デジタルペーパー方式の表現の限界

それでは、なぜ、重複となるのでしょうか。 設計には、様々な関心事があり、設計情報間の関係も多岐に渡ります。 そして、関心事ごとに合った表現方法がそれぞれにあります。 それぞれの表現(以降、“特定の見た目”と記載する)によって、個別に記述するため、同じ設計情報を何度も使用することになります。 ここに、デジタルペーパー方式の表現の限界があります。 なぜなら、デジタルペーパーは2次元空間を扱う方式であり、かつ、空間にも限度があるため、一度に表現できることが限られます。 関心事に合った説明を行うには、特定の見た目を使って個々に記述せざるを得ず、どうしても設計情報が重複してしまいます。

設計書の記述方式に対する気づき

「何を」を、特定の見た目「どうやって」で定義している

デジタルペーパー方式の問題点について考える過程で以下の点に気づきました。 設計では、「何をするか」を定めて文書として記述します。 そして、文書の記述は、関心事に合った特定の見た目を用いて、個別に行います。言い換えれば、「何を」を特定の見た目、つまり、「どうやってするか」を使って定義することになります。 ここに違和感があり、問題の本質があると考えています(内在する問題構造)。 「何を」を定義するのに、特定の見た目の影響を受けてしまう方式、これがデジタルペーパーによる従来の記述方式です。

特定の見た目には、それぞれの制約があり同時に定義できることが限られます。 つまり、見た目で表現できることしか定義できないのです。 それゆえに、関心事に合わせた見た目を別々に作成することになり、その結果、記述が重複してしまいます。

この問題を解決するには、見た目に影響を受けない記述方式が必要となります。

どんな記述方式がいいのか

見た目の影響を受けない方式 “セマンティック技術”

セマンティック技術とは、「情報の意味をコンピュータが理解できる形に表現し、コンピュータに処理を行わせる技術」です。 つまり、人間が理解するために必要となる見た目を持たずに、設計情報をコンピュータが理解できる形で表現する技術です。 意味的に表現することで、複数の関係性や関心事を同時に扱うことが可能となります。 加えて、コンピュータが解釈できるので、デジタル検証に代表されるデジタル化の恩恵が得られます。 そして、実現にはメタモデル言語を使用します。

メタモデルによるデータとビューの分離

Next Designでは、「何を」という設計情報の定義と「どうやってするか」という見た目(ビュー)の定義を分離する方式を採用しています。 そして、「何を」を定義するためにメタモデル言語を使用します。

見た目を分離して定義するため、見た目の影響を受けない設計情報の定義が可能となりました。 見た目の解釈はコンピュータが担当し、エンジニアは「何をするか」という本質的な設計課題に取り組みます。 今まで特定の見た目という個別の断面で定義していた設計情報を、全体の関心事を俯瞰して定義することになります。 同時に扱う関係性が増えるので慣れるまでは戸惑いますが、「何を設計するのか」という設計の本質に立ち戻ることになり、エンジニアとしての設計の理解が深まることが期待できそうです。

まとめ

従来のデジタルペーパー中心の開発方式には、内在する問題構造があることに気づきました。

【問題構造】 「何を」を特定の見た目「どうやって」で定義している

見た目の影響や制約を受けてしまう方式なので、設計情報の定義が不十分となりやすい。

メタモデルは、上記の問題構造を解決する方式を提供しています。 具体的には、「何を」という設計情報の定義をメタモデルで行うことで、設計情報の定義と「どうやってするか」という見た目(ビュー)の定義を分離する方式です。 分離することで十分な設計情報の定義が可能となります。メタモデルを使って、設計する内容を熟考し定義しましょう。

さて、「なぜ、メタモデルなのか?」の答えに近づけたでしょうか。