情報共有を阻むハードルの一つは「機密だから」です。これを緩和するためには、情報から機密情報を分離するという発想が必要になります。
まずは性質を押さえます。機密は伝搬します。
どこかに含んでいる、あるいは含んでいるかもしれない、となると途端に情報全体が機密情報となり、そもそも共有できなくなってしまいます。
ではどうするかというと、ひと手間必要です。
普段の運用をこのようにしておきます。
こうしておけば、情報共有時は「非機密情報」の部分をそのまま渡すだけで済みます。
上記の運用(分離運用)は面倒くさいですが、そのかわり、情報共有ができるようになります。トレードオフですね。
アプリ開発の文脈ですが、オープンソースが良い例です。オープンソースとは、世界の便宜と自組織の透明性のために、アプリのソースコードをインターネット上で公開する文化です。
分離について、単純な例を一つ見ます。
※非常に単純化した説明ですので、ご存知の方はご容赦ください。
この世界では、GitHub というプラットフォーム上でアプリのソースコードを公開します。
さて、あるアプリAのソースコードを公開したいとします。しかしアプリの要である企業秘密処理部分だけは公開したくないとします。
分離ができていないと「公開しない」に倒すしかありません。
分離できていると、公開できます。
どうやるかというと、
こうします。
1: の部分が分離に相当します。2: の仕組みがファイル単位なので、分離もファイル単位(フォルダ単位も可)で行わないといけません。たとえば企業秘密部分は secret/ というフォルダに入れるようにして、.gitignore では secret/ を指定しよう、などとします。
こうすると、secret/ フォルダ以外のみが公開されるので、企業秘密部分を公開することなく、オープンソースができます。
ただし、このソースコードを使いたい利用者は、secret/ フォルダにあたる部分を自分で用意しないといけません。
無論、一から用意するのは大変ですから、アプリAの提供側が便宜を図ります。通常はダミーのファイルを置いといて「各自カスタマイズしてください」のような案内を説明書に書いたりします。
静的な分離(Static Separation)とは、ここまで述べた分離のことで、機密情報をあらかじめ分離しておくことを指します。
もう一つ、動的な分離(Dynamic Separation)とは、情報を共有するときに、その場で機密情報の分離を行ってしまって共有することを指します。
言葉は難しいですが、誰もが知っている営みです。
たとえば友達に会社の愚痴を喋りたい場合、その場で、頭の中で機密情報を省いたり、人名などを適当に誤魔化したりして喋りますよね。
あるいは、YouTube でもなんでも良いですが、たくさん発信を行っている人は一般的・抽象的なことばかり言います。これは、具体的な情報が何らかの機密情報にあたることが多くて、言えないからです。言える範囲で出そうとすると、どうしても一般的にしたり、抽象度を上げたりすることになります。
動的な分離は、言葉にするまでもなく当たり前なので割愛します。そもそも動的な分離だけでは情報共有は行えません。
大前提として、情報共有とはオープンなものです。
以下記事でも解説しましたが、
いつでも誰でも読めるようになっていて初めて共有なのです。
口頭で伝えましたとか、会議で伝えました(ので参加した人以外にはわかりません)といったことは情報共有ではありません。ただの伝達です。
共有というからには、公開して残さなければなりません。
※辞書的な定義ではなく、情報共有としてあるべき姿の話をしています。
このような情報共有を行うのに、機密情報が含まれていると「機密があるのでできません」になっちゃうので、静的な分離が必要となります。
このような分離の考え方を扱った仕事術があります。