見出し画像

アーキテクトからのアドバイス: 決断できない時に決断する方法

原文 : Architects Advice: How to decide when you can’t decide
作者:Jeff Knecht
日本語訳:Ken Yoneda (米田 謙)

新人 (そして時にはベテラン!) のソフトウェアアーキテクトがいつも決まって直面する共通課題として、アーキテクチャー上の決定を下せない、あるいは貫き通せないということがあります。問題の解決手段はたくさんある一方で、分からないことばかりの将来に圧倒されて、決断できない状態になってしまうことがあります。

どうやらそれは「ここで決断を間違えたら、大惨事が起きてしまう!」という心配のようです。大惨事を避けたいがために、何日も、何週間も、何ヶ月も決断について迷います。その間、プロダクトのステークホルダーや開発チームは、アーキテクトがこの問題を成功まで導いてくれるという確信を失い始めます。私から言わせたらその方がよほど大惨事です。

もちろん、いかなる意思決定においてもある程度の事前調査は必要であり、読者の皆様もそうしていると思います。しかし、時にはどれだけ事前調査をしても複数の選択肢にある優位性の違いを見いだせないこともあります。

もし、あなたが、メリットとデメリットがほぼ拮抗している選択肢から選ばなければいけない状況にあり、未知の要素が計画を狂わせる可能性を認識しており、事前調査をしてもなお決断することができないのであれば、ひとつだけシンプルなアドバイスがあります:

さっさと選んでしまいましょう!そして (ここが重要なのですが) 、予告なしに他の選択肢に切り替えられるようにソリューションを設計しましょう。

これを実践するには、システムの中であるソリューションを別のソリューションに切り替えた際に影響を受けそうな部分を識別し、影響を受けない部分から隔離するレイヤーを作成します。

これは、チームにとって多少実装の手間がかかりますが、大きな利点がいくつかあります:

  1. チームがより早く開発を進められることで、プロダクトをより早くリリースできることに加え、選択した結果に潜在する問題を現実世界からの学びによって表面化させることができます。

  2. リーダーとして重要な資質である決断力と戦略的思考について評価されます。

また、以下のような点をエンジニアリングチームやプロダクトのステークホルダーに伝えることも有効です:

  • 自信を持って計画を発表します。あなたはすでにどちらの選択肢も基本的にはその優位性おいて同等であると判断し、必要に応じて変更できるように設計しました。事前調査をしたのですから、あなたの提案はもうそれだけで確かなものなのです。

  • 複数の選択肢を検討したこと、そしてそれぞれのメリットとデメリットがほぼ同じ結果だったことを強調します。そのように説明することで、あなたは自分の決断に自信があるという根拠を示し、その他の選択肢を選ばなかったことへの懸念に対処できます。

  • 作業した結果を見せます。各選択肢が同等だという結論に至るにあたって、Pros Cons 表、ディシジョンツリー、機能と要件のマトリクスなどを作成していれば、それらを推奨事項と共に提示します。そうすることで、どのように考えて選択肢を選んだのか、また、意思決定の背景にある根拠を示すことができます。

  • 他の選択肢に変更することになる見込みについて、あなた自身の評価を共有します。

  • あなたの立てた計画がそのような変更への対処をどのように織り込み、影響を軽減しているかを説明します。

決断力のあるリーダーであり続けるためには、訓練と努力が必要です。自分の思考過程や、同じ程度に有効な選択肢へ切り替えるためのコンティンジェンシープランを文書化することは、決断に馴染みつつ、周囲を納得させるための貴重なツールになります。

この記事が気に入ったらサポートをしてみませんか?