非開発の意思決定者のために技術を明確に説明する方法[翻訳記事]
(blogbyash.com)-
組織内で技術的明確性を提供するエンジニアの役割が最も重要であることを強調。
- 技術的明確性とは、非開発のリーダーがソフトウェアシステムの変化を十分に理解し、合理的な意思決定を下せる状態を意味する。
-
技術的明確性が組織内でまれであり、容易に確保できない理由。
- ソフトウェアは非常に複雑であり、エンジニアでさえ自分のシステムを完全に理解するのは難しい。
- 非技術系のリーダーは時間と背景知識が限られている。
-
実践的な技術的質問の例。
- 新機能をデプロイする際に非技術系リーダーが必ず知るべき代表的な質問:
- 有料機能を無料ユーザーに安全に提供できるか?
- 段階的デプロイは可能か?
- 問題発生時に安全にロールバックできるか?
- 早期アクセス権の提供は可能か?
- 容量問題が発生した際に有料ユーザーを優先処理できるか?
- 新機能をデプロイする際に非技術系リーダーが必ず知るべき代表的な質問:
-
公式・非公式の技術アドバイザーの意味とその重要性。
- スタッフエンジニアまたはシニアエンジニアが、非開発リーダーの「代理人」のようにシステムの複雑性を抽象化し、分かりやすく説明する役割を担う。
- 技術的明確性をうまく提供できるエンジニアは組織の信頼を得て、主要プロジェクトに配置される。
-
エンジニアが抱える不確実性とそのバランス。
- エンジニアは自分の専門性に対して常にわずかな不安と警戒心を保ち、多くの場合95%の確信しか持てない。
- 非開発リーダーには、その不安やすべての技術的詳細をそのまま見せるのではなく、要点だけを明確に伝えるべきである。
-
不確実性を示すことが常に正しいとは限らない。
- エンジニアが技術的に過度に詳細な情報を提供して明確性(単純化された理解)を薄めてしまうと、意思決定者が正しい判断を下しにくくなる。
- 重要な推奨事項とリスク要因だけを明確に整理して伝えること。
-
技術的明確性を伝えるための3つの原則。
- (1) 何に触れ、何を省くかを見極める直感。
- (2) システムに対する深い技術的理解(実際のコーディングとプロジェクト遂行)。
- (3) 管理層に対して、自信を持って単純化された全体像を示すこと。
2件のコメント
現実には……それを知っていたとしても、それを超える要素が多いので……
この記事の趣旨に合うコメントかどうかは分かりませんが…
見方の違いではありますが、
結局のところ、意思決定者の意思がいちばん重要だと思います。
知りたくない、
とにかく「できます」という話を聞きたい、
任せておけばやるという話を聞きたい、
そういう中で説明するというのは、意思決定者にとって耳の痛いことを言うことになるのだと思います。
ps.
意思決定者は正しい?という前提に立った話のように思います。
意思決定者=審判が嫌がるなら、結局どんな方法も無意味だと思います.