はじめに
この記事は非エンジニアが関心の分離について調べ、得た学びを抽象化してアウトプットし、日々の仕事に活かすことを目的として執筆しました。
昨今、ビジネスサイドもAIを前提としたワークフローへの見直しが進んでいると思います。AI時代において、AIに任せるべき関心事と、人間が担うべき関心事の境界線を定義することは、非エンジニアにとっても重要なのではないかと考えています。
そうした背景から、関心の分離に興味をもったことが本記事執筆のきっかけです。
関心の分離について調べて感じた、仕事をアップデートする必要性
目次
関心の分離とは
関心の分離(略称:SoC)とは、プログラムをそれぞれ特定の関心(責任、目的、役割など)毎に独立させ、構成要素を分割して設計する思考方法です。
プログラムを重複のない独立したコンポーネントに分解することにより、変更に強く保守をしやすいシステムをつくるための原則とされています。
異なる機能やコンポーネント同士の依存が強い状態を密結合と言い、関心が分離されていないと、Aという機能を変更した結果、まったく関係のないBという機能に不具合が生じるなどの現象が引き起こされるそうです。
関心の分離を業務にあてはめた具体例
あるときは事業について俯瞰して長期的な時間軸で思考し、またあるときは翌日に控えている顧客への提案内容を思考するという具合に、複数の役割や視点から横断的に業務を担当することは、往々にしてあると思います。
一人のメンバー(マネジメントレイヤーも含め)が担うミッションは、AI時代に突入したことによりアウトプット量が増加し、より並列的になっている印象があります。
複数の関心が混ざり合うと、以下のような密結合を起こし、ひいては仕事のパフォーマンスを押し下げる要因になるかもしれません。
日々の業務ベースで想定され得る状況を記載してみます。
例①:思考モードの密結合(短期 VS 長期)
- 状況
- 短期的な成果を追いつつ、長期的な成長戦略を描く必要がある
- 弊害
- 短期的な対応に追われると、長期的な戦略を練る動きがとれなくなる
- 対策
- 時間軸による評価の分離:時間軸により、評価方法を分ける
- 時間・曜日のコンポーネント化:時間や曜日で、取り組む課題を分ける
例②:コミュニケーション方法の密結合(同期 VS 非同期)
- 状況
- 1日の大半が同期的なコミュニケーションで埋まっている中で、合間の隙間時間でチャットツールやメールの返信など、非同期コミュニケーションを行う必要がある
- 弊害
- 同期的なコミュニケーションが差し込まれると、非同期コミュニケーションが後ろ倒しになり、組織のボトルネックになる
- 対策
- 目的によるチャネルの分離:目的により、コミュニケーション方法を分ける
- スケジューリングのブロック:同期的な予定に上限を設け、非同期コミュニケーションやドキュメンテーションのための独立した時間をあらかじめ確保する
例③:実行と振り返りの密結合(Do VS Review)
- 状況
- 施策の実行フェーズにいるにもかかわらず、本当にこれでいいのかと過剰に振り返り、実行スピードの低下を招く
- 弊害
- 実行というプロセスに、評価という異なる関心が混在することで、行動の軸がぶれやすくなる
- 対策
- 評価インターバルの設定:あらかじめ設定したマイルストーンに到達するまでは、途中で評価を挟まず実行に徹する
- 関心の定義:何を検証するための実行なのか最初に定義しておき、出発点である目的に集中して振り返る
まとめ
関心の分離には、問題を分解して整理することに近しい側面があると感じました。
責任、目的、役割などに応じ、切り分けて考えることは、非エンジニアにとっても重要な思考だと考えます。
この瞬間、どの関心で思考すべきか絶えず客観視することは、生産性を向上させるために必要だと思いました。同時に、関心が混在しそうなポイントには、関心の分離を促す仕組みを用意しておくと良さそうです。
また、AIと人間の関心の分離も今後さらに進んでいくことと思います。
関心の分離について調べるなかで、AIを前提としたワークフローのアップデートを通じて、人間がもたらす価値とは何かを模索していければと感じました。