ソシオテクニカルアーキテクチャ概要

## ソシオテクニカルアーキテクチャとは
2021年は個人的にこの言葉をよく目にしたが、日本ではまだ多くの人にとってなじみがない新しい用語で、かつ英語圏でも正確な定義がない。概念として真新しいものではないため解釈によって齟齬を引き起こすのは容易に推察され、今のうちに定義を整理しておく。

ところで、**ソシオテクニカル・システム**というのは昔からある用語で、組織開発分野に専門性がある人は耳にしたことがあるかもしれない。組織開発において「業務遂行のために人間と技術が相互作用しなければならないシステム」を指す用語として使われる。現代社会において、テクノロジービジネスに携わる私たちは常にソシオテクニカルシステムの一部として生きていて、毎日このようなシステムにさらされていると言える。

### ソシオテクニカルシステム
ソシオテクニカルという言葉は、1951年に発表されたEric TristとKen Bamforthの研究により導入され、その論文では過去数十年に起こったイギリスの炭鉱産業の国有化の有害な結果と約束違反が分析されている。[「Some Social and Psychological Consequences of the Long-Wall Method of Coal Getting: 長壁式採炭法の社会的・心理的影響：作業システムの社会構造と技術的内容との関連における作業集団の心理的状況と防御の検討 "](https://www.uv.es/=gonzalev/PSI%20ORG%2006-07/ARTICULOS%20RRHH%20SOCIOTEC/Trist%20Long%20Wall%20Method%20HR%201951.pdf)

#### 機械化に伴う専業化によって起こったこと
論文によると、当時炭鉱に導入された「長壁式採炭法」は、地下鉄道や機械式地下掘削機などの新技術の導入、もしくはそのプロセスに関わる作業や階層を社会的に見直すことのどちらかによって、新しい採炭方法を実現するものだった。
![longwall.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19203/6a8266d2-a3b0-45f6-d944-f69eff87cada.jpeg)

それまでの「手掘り」方式では、人々は小さなグループで石炭を掘っていた。責任ある自律性を持ち、状況の変化に応じて仕事のペースを変えることができるような組織構造は、危険で不確実な地下の状況に適応するために理想的であることが証明されていた。

さらなる効率化を求め、機械化された「長壁式」の導入は、全く異なる社会構造をもたらした。活動が3シフトに分かれ、それぞれのシフトが異なることを行うようになった。人々は時間的にも場所空間的にも広がるようになった。さらに、スキルによって分けられ、給料が支払われるようになったことにより、社会集団はまとまった個人的な関係ではなく、職業的な役割によって定義されるようになった。ある者はドリルを、ある者は切断を、ある者は掘削を、ある者は運搬を担当するというように、炭鉱労働者は専門化された。
こうしてFrederick Winslow Taylorが開発したScientific Managementと呼ばれる手法が主流になった。

また生産性を測るために、経営者の役割も変化し労働者の調整と統制に直接関わるようになった。新しい技術を最大限に生かすための改革だったが、結果は期待とはほど遠かった。経営陣とのトラブルが絶えず、欠勤や離職が相次ぎ、ストライキも多発した。

つまり、**設備が改善されたにもかかわらず生産性が低く、賃金が個々に適正化されたにもかかわらず坑内から人が流出するという事態に直面した。**

結局これらは[ToC](https://ja.wikipedia.org/wiki/%E5%88%B6%E7%B4%84%E6%9D%A1%E4%BB%B6%E3%81%AE%E7%90%86%E8%AB%96)の直接的な帰結である。"システムオブシステムズ"のような複雑な環境では、ある内部システムだけを切り離して性能を高めても、全体を改善する効果はない。むしろこの炭鉱改革のように、逆効果になることも多い。

#### そして多能工化
Fred EmeryとEric Tristは、「マルチスキル・チームと作業の分担」と呼ぶ方法を導入した。鉱山労働者は、複数の道具を使いこなし、さまざまな仕事をこなすことを学んだ。
また、従来の半機械化された3交代制のサイクルを、自律的なワークグループの集合体として機能させるというものでもあった。シフト間の隔絶をなくし、適切な引き継ぎを行うようにした。自律的な多能工集団とグループボーナス制度を再導入した。また、グループ内には、労働者から選ばれたリーダーによる監督を復活させた。

その効果は抜群で、事故が減り、欠勤者が減った。離職率も下がり、総コストも削減された。生産性は25％向上した。


[Organizational Choice (RLE: Organizations): Capabilities of Groups at the Coal Face Under Changing Technologies](https://www.amazon.com/Organizational-Choice-RLE-Organizations-Capabilities/dp/0415825679)によると

> 技術的なシステムだけでなく社会的なシステムにも注意を払うようになれば、たとえ個々の次元では最適な状態でなくても、システム全体として最適なパフォーマンスをもたらすような選択が可能になる。



このようにソシオテクニカルシステムの歴史は興味深く、今日の技術系組織で見られる傾向にも関連している。

専門職のモデルでは、チーム内のメンバー間のコミュニケーションはほとんどなく、事故やミスを互いに非難し合っていたが、新しいモデルでは、チーム内のコミュニケーションは大幅に改善され、しばしば新しく危険な状況に対処するのに必要なスキルを身につけた。また、チームが予防的な作業やメンテナンスに注力することも自然になった。旧モデルでは、予防やメンテナンス作業はサイロによって明確なオーナーシップを持っていないことが多かったが、新モデルではそのようなことはない。同じようなことが、今日、クロスファンクショナル・プロダクトチームと呼ばれるチームでも起こっている。


IT業界の同じような問題のケース、つまり「技術」の導入に伴い健全な組織文化の欠如を引き起こすケースがある。効率化の追求の結果であるヒエラルキーと権威は、多くの組織でチームの魂をゆっくりと殺している。

### ソシオテクニカルアーキテクチャとは
ここまでを整理すると、ソシオテクニカルアーキテクチャとは、「技術が組織に及ぼす影響」と「組織が技術に及ぼす影響」の双方を考慮したアーキテクチャのことである。

Sociotechnical Architectureの推進者であるNick Tuneは、**"ソフトウェアシステムを設計するとき、我々は組織内のチームへの影響、そしてその逆も考慮しなければならない"。** と述べていた（該当ツイートはなぜか削除されてた）

それに加えて、アーキテクチャ設計において **「マルチスキルな開発者たちによる全体での共同設計のアプローチにしていく」** ことも重要であると考えられる。[Design It!](https://www.oreilly.co.jp/books/9784873118956/)でも「アーキテクチャの設計は社会的な活動だ」と書かれている。



## なぜソシオテクニカルアーキテクチャなのか
A) 技術システムと組織の関係性を無視することは適切な設計と開発を非常に困難にするから。

これについてはコンウェイの法則で既に明らかにされているし、よく耳にするようになった「逆コンウェイ戦略」はソシオテクニカルアーキテクチャの一種だと言えそう。

現実的に、Alcor Academyが行った調査で、ITリーダーたちが最も重要な問題として認識していることとして下記のようなものがある。

- 開発チームとビジネスバリューの整合性がとれていない。
- 生産性の低い依存関係からくるチームのもつれ
- トップダウンによる不明確な意思決定が、経営陣の信頼を損ねる
- 離職率が高く、優秀な人材の確保が難しい
- 残った人の多くはやる気を失い、バラバラになっている

これらの結果も、ソシオテクニカルなアプローチが無視できないことを示唆している。

## まとめ
ユーザを理解し、価値を最大化するために製品を構築または進化させるためには、「組織」の要素が中核となることが分かった。論文のストーリーには続きがあるがそこは一旦割愛して、あえて端的にソシオテクニカルアーキテクチャを要約すると

- システムが開発者の創造性を奪わないかに気を配ったアーキテクチャ
- 開発者の創造性を開放できれば顧客やステークホルダーも幸せになる
- 高い能力と知識を持つチームを権威でコントロールするのは無意味
- 組織の成長に合わせてアーキテクチャも進化させる

何よりも「チーム、組織設計、ワークスペースの物理的設計と技術システム・アーキテクチャを分離して設計することはできないこと」を理解することがまず出発点だと言える。

## 他参考
https://esilva.net/sociotechnical/sociotechnical-architecture_why-and-what.html