masayuki5160's diary

滋賀県大津市に住むソフトウェアエンジニアの日常

設計ミーティング、話が抽象的すぎて何も決まらない・・・ ━ ソフトウェア工学チャンネル

設計に関する打ち合わせにおいて、同じ議論を繰り返したり、話が噛み合わないことはよくあると思います。その理由は様々あると思いますが、設計に関する打ち合わせの際に準備する方が良いことなどをお話ししました。どなたかの参考になれば(参考:設計ミーティング、話が抽象的すぎて何も決まらない・・・)。

なぜ設計ミーティングはまとまらないのか? [01:36]

ソフトウェア開発における設計議論は、特に大規模なプロジェクトや既存システムの再構築(リアーキテクト、リストラクチャリング) [01:53] の際にまとまりにくい傾向があります。

その主な原因は以下の通りです。

  • ソフトウェアは目に見えないから [06:57] ハードウェアと異なり、ソフトウェアは形がないため、議論が「空中戦」になりやすく、話が噛み合わないことが頻繁に起こります。

  • 認識のズレ [02:49] 同じ話をしているつもりでも、Aさんはあるコンポーネントについて話しているのに、Bさんは別のコンポーネントについて話している、といった認識のズレが生じることがあります。これにより、議論が積み重ならず、時間が無駄になってしまいます。

  • 準備不足 [07:15] ソフトウェアの特性上、議論が噛み合いにくいことを理解し、事前にしっかりとした準備をすることが重要ですが、時間がないなどの理由で十分な準備ができないケースも少なくありません。

  • アーキテクチャドライバーの不明確さ [07:55] システム全体の設計に最も影響を与える要件(アーキテクチャドライバー)が不明確だと、議論のスコープが広がりすぎたり、軸がぶれたりして、話がまとまりにくくなります。

議論がまとまらないとどうなる?アンチパターン [10:52]

抽象的な議論が続くと、以下のような問題が発生します。

  • 会議の長期化と疲弊 [11:02] 何度も会議が必要になり、参加者が疲弊してしまいます。

  • 実装段階での認識のズレ発覚 [11:10] 設計段階で認識のズレが解消されないまま実装工程に進むと、他のチームや開発者との認識のズレが発覚し、手戻りが発生する可能性があります。大規模なプロジェクトほど、この手戻りの影響は大きくなります。

解決策:抽象的な議論を具体化する2つの秘訣

では、どのようにすれば設計ミーティングを効率的に進め、具体的な決定を下せるようになるのでしょうか?

チャンネルでは、以下の2つの秘訣を提案しています。

  1. ソフトウェアモデリング(UML)の活用 [12:13]

    • 目線合わせに効果的 [05:10] ソフトウェアは目に見えないため、UML(ユースケース図、クラス図、シーケンス図など) [04:31] を活用して図で表現することで、参加者全員の目線を合わせることができます。

    • 議論の具体化 [12:22] 「今、システムのどの部分について話しているのか」「この処理の流れのどこについて議論しているのか」といったことを、一枚の図を見ながら話すことで、議論が具体化し、まとまりやすくなります。

    • 注意点 [06:05] 一つのモデリング手法だけで全ての課題を解決できるわけではありません。複数の視点からのモデルを使い分け、今何を作っているのかを目線合わせしていくことが重要です。

  2. アーキテクチャドライバーの特定 [14:00]

    • 議論の軸を明確にする [08:28] アーキテクチャドライバーとは、システムが備えるべき特性(要件)の中で、アーキテクチャに最も大きな影響を与えるものです [09:30]。これを事前に特定し、整理しておくことで、議論の方向性や軸が明確になります。

    • スコープのコントロール [13:10] 議論が広がりすぎるのを防ぎ、特定の要件に焦点を当てて設計を進めることができます。これにより、効率的かつ的を絞った議論が可能になります。

 

まとめ [13:42]

設計ミーティングで「話が抽象的すぎて何も決まらない」という課題は、多くの現場で共通の悩みです。

この問題を解決するためには、

  • ソフトウェアモデリングの技術を活用し、図を用いて目線合わせを行うこと [13:50]

  • アーキテクチャドライバーを特定し、議論の軸を明確にすること [14:00]

が非常に有効です。

これらのアプローチを取り入れることで、設計ミーティングの質を高め、より効率的にプロジェクトを進めることができるでしょう。

おまけ)おすすめ記事のご紹介

ソフトウェア工学を学ぶ際に参考になる書籍をまとめていますのでご興味ある方ぜひご覧ください。

masaytan.com

ソフトウェアエンジニアも体が資本。若い時と同じくらい、とまではなかなか難しいかもしれませんが、体力があれば考え続けることもできます。

というわけで個人的におすすめしている体調管理術についてご紹介している記事を置いておきます。向き不向きはあると思うのでご注意いただきたいですが、これからも楽しくソフトウェアを作ることをしていきたい方にはお勧めです。ご覧いただければ幸いです。

masaytan.com