組織論とアジャイル開発
こんにちは。IT企業でスクラムマスターをしているrilmayerです。
この記事はアジャイル開発アドベントカレンダーの24日目の記事です。
ここ最近、株式会社Liboraというスタートアップで、チーム開発を推進するcapdogというプロダクト開発をお手伝いしています。
このプロダクトではチーム開発に関わる様々な知識を活用しており、今回はそうしたチーム開発に関する内容の組織論とアジャイル開発をテーマに記事を書こうと思います。
この記事ではチーム(=組織)についてあれこれ考えていく組織論という分野について解説しつつ、組織論とアジャイルソフトウェア開発(以降、アジャイル開発と省略)との関係性について考えていきます。
普段の業務の中でアジャイル開発を推進していると、組織論の知識が役に立つと感じるシーンが多くあります。そうした日々の中で組織論とアジャイル開発の関連性について考えをまとめておきたいと思っていたため、今回はこの内容で記事を書くことにしました。
組織論とアジャイル開発について説明している記事はあまり多くないと思いますので、興味がある方は面白く読んでいただけると思います。
この記事の概要&目的
この記事ではまず組織論とは何かについて説明していきます。組織論の主役である「組織」とは何かからスタートし、組織論で扱う内容をつらつらと紹介していきます。その後、組織論とアジャイル開発の関係について考えていきます。
この記事を読み終わったあとに、普段のチーム開発で困ったとき組織論の内容を参照できたり、アジャイル開発をより理解できたりしていただけるととても嬉しいです。
モチベーション:なぜ組織論か
まずは、なぜアジャイル開発で組織論が重要になってくるのかを説明していこう思います。
■ 組織論は2人以上の意識的に調整がなされるグループを取り扱う
組織論とは簡単に言うと「組織の行動や構造、変化のメカニズムを解明していく学問」です。
組織論の興味の中心は「組織」です。ここで、組織とは「何らかの目的を持って調整がなされているグループ」です。これはまさしくチーム開発を行う際のチームですね。
このことから、組織論の枠組みを使うと、アジャイル開発での開発チームが研究対象となることが分かります。
「開発チームの構造はどんな形だと良いのか?」
「チームはどのように変わっていくのか?」
「チームメンバーはどんな行動をするのか?それはどのように全体に影響を与えるのか?」
といった疑問について、組織論のフレームを用いて考えていくことができます。
■ 組織論はスクラム開発の骨子
CSM(認定スクラムマスターの講座)で学んだ知識ですが、アジャイル開発を行う1つの手法であるスクラムは2つの方法論をベースに構築されています。1つが集団心理学で、もう1つが組織論です。この辺りについては以前書いたこちらの記事を読んでいただくと良いかもしれません。
ということでスクラム開発の理論的背景として存在しているこの組織論を学ぶことは重要だと思われます。
■ アジャイル開発では組織によるソフトウェア開発が前提
この記事ではアジャイルについては深く説明しませんが、アジャイル開発ではチームで開発することを前提としています。
つまり、アジャイル開発でソフトウェアを作る際の前提となる「組織」について理解を深めることで、アジャイル開発の思想についてより理解を深めることができるのです。
アジャイル開発とは「アジャイルソフトウェア開発宣言 / アジャイル宣言の背後にある原則」を元にした開発思想で、その中では様々な原則が登場します。
たとえば、アジャイル宣言の背後にある原則の中で「ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。」という原則があります。なんとなく読んでいるとたしかに正しそうな気がしてきますが、これはなぜかと考え出すと意外と考えることが多いのです。
この原則については組織論における「組織文化」という考え方から重要性を理解することができます(他のアイディアも含まれてはいますが)。
組織文化については様々な定義がありますが、ここでは「組織内で共有された仮説(Ashforth, 1985)」というのが分かりやすいと思います。開発者はビジネス側の人と日々一緒に働くことでストレスが溜まったり開発速度が遅くなったりするかもしれませんが、日々一緒に働くことで開発者のみで働く場合よりも、よりカスタマーにとっての価値が生まれやすい組織文化を作ることができます。そうした組織文化がどのように作られるのか、強い文化や弱い文化とは何かといった内容も組織論で扱われる面白いテーマです。
こうした組織論の背景を理解していくことによってより、アジャイル開発の「なぜ?」に答えられるようになっていきます。素敵ですね!
組織とは
さて、前置きが長くなってしまいましたが、ここからは組織論について紹介していきます。
まずは組織の定義から初めていこうと思います。
実は冒頭で触れてはいたのですが、組織とは「2人以上の人々の、意識的に調整された諸活動、諸力の体系(Brnard, 1938)」です。
まあ、このままだと難しいので何らかの活動を調整しながら進めているグループと考えて良いかと思います。
また上記の定義の元、こうしたグループの必要十分な条件として、以下の3つの要素が挙げられています。
1. [伝達] お互いに意見を伝達できる人々がいる
2. [貢献意欲] それらの人は好意を貢献しようとする意欲がある
3. [共通目的] 共通目的の達成を目指す
組織論では、こうしたグループの仕組みを解き明かし、実際の様々な環境において上記の要素をうまく働くようにしていくために必要なことを考えていくことを目指します。
ここでは深く突っ込みませんが、こうした組織を考えるにあたって組織の構成要素である人間について考える必要もあります。
組織論では人間は完全に合理的な意思決定はできず、満足度が最大になるような意思決定を行うという仮定をおきます。このあたりは「限定合理性」などのトピックでより詳しく調べることができますが、この仮定を元に組織論ではより良い意思決定のために組織による意思決定がなされると考えていきます。
ということで、ここまでで組織とは何か、どんな要素を兼ね備えているかなどを見てきました。ここまで見てきた「組織」が組織論の研究の対象です。
組織論のトピック
組織論では様々なトピックが出てきますが、ここではどのような内容が取り扱われるかというのを、広く浅く眺めていきます。
以下のトピックは体系的なものというよりもこの記事の筆者が特に面白かったり、アジャイル開発に通じるなと感じたものを基準に選択しています。
また、以下のトピックでは新たな視点を得たり、組織というものを考えるための様々な道具を提供するという風に考えていただけると良いかもしれません。
組織均衡論
組織がどのように成立・存続していくかを明らかにする分野で、どのように組織がその構成員を動機づけるために必要な報酬を与え続けるかといったフレームなどが論じられています。
個体群生態学モデル
進化論や生態学のアイディアを用いて、複数の組織と外部環境の関係性を記述しようとしている分野です。共通の性質を持つ組織の集合を「種」として、それらの進化や淘汰などを考えていきます。
例えば「地域密着の小売店」という種が支配している状況から「コンビニ」という種が広がり、元の地域密着の小売店という種を淘汰してしまうといった考え方をして、そのメカニズムを説明しようとします。
組織構造と組織デザイン
効果的な組織活動(これ自体の定義も研究対象ではある)をすすめるためにどのような組織の構造やサイズが望ましいかを研究している分野です。例えばスクラム開発ではメンバーのサイズが10人以下と言及されていますが、その理由はこの組織構造と組織デザインや次に紹介するコミュニケーショと意思決定あたりの分野で研究されています。
コミュニケーションと意思決定
組織でどのようにコミュニケーションが行われ、意思決定がなされるかを研究する分野です。こうした知識を活用して情報の伝達構造をどのようにデザインし、求める意思決定につなげていくかを考えます。
組織文化
組織文化とは何かを定義すること自体も研究内容ですが、組織の構成員の間で共有される価値観や信念、習慣とそれによってどのように組織の構成員が行動していくのかを考えていきます。冒頭で少し触れましたが、良き開発チームを考える上で組織文化はとても重要な要素の1つとなります。
モチベーション
通常組織の構成員のモチベーションは組織目標の達成、成果を目指す上で必要不可欠となります。どのようにモチベーションが形成されるかや、どのようにモチベーションを管理するかといった内容を扱います。
リーダーシップ
リーダーシップは一般に合意された定義はなかなかありませんが、ここでは「他人に影響を及ぼして、望ましい行動を起こさせること(野田, 2005)」とします。としたときに、そこにどのような影響の過程があるのか、どのように振る舞うことでより組織目標の達成に近づけるのかなどが研究がなされています。
コンフリクト・マネジメント
コンフリクトとは組織や組織内の人の間に生じる対立的もしくは敵対的な関係のことです。コンフリクトは必ず起こるものと考えられており、それがどのように起こるのか、どのようにすれば解消できるのかを考える分野です。
組織の成長
組織は時間の経過と共に活動や構造などが変わっていきます。そうした様々な組織の変化について、抽象化したモデルを考えることで組織がどのような変遷をしていくか考えるのがこの研究分野です。また、そうした組織の成長段階に応じて適切な戦略を考えていくこともこの分野の特徴となります。
組織学習
組織の潜在的行動能力が変化しそれがその後も続いていくことを組織が学習した状態と言います。例えば、ある組織が今まで誰もできなかった何らかのソフトウェアを開発し、その後も安定的にそうしたソフトウェアを開発し続けている場合は組織が学習した状態となります。
そうした組織の学習がどのように生じ、どうすれば促進できるかを考えていく分野となります。
組織の戦略的変革
組織は時に変革(今まで異なる戦略、構造、文化、プロセスを取ること)が求められるシーンがあります。そうした組織の変革に関してどのような段階を踏むのかや、より効果的・効率的に変革を起こす方法を考える分野です。
アジャイル開発では往々にしてこうした変革が必要となる場合がありますね。
アジャイル開発の中の組織
ここまで組織論について広く浅く見てきましたが、ここからはアジャイル開発に頭を切り替えていきましょう。
アジャイルソフトウェア開発宣言の中では、「個人と対話」や「顧客との協調」といったワードが出てきます。
これらの言葉にいついては組織を前提として出てきている言葉と考えることができますが、これらの言葉が重視される意味を考える上でやはり組織論を理解することは非常に有用だと言えます。
アジャイル開発のより理解して推進していく上で、そのバックグラウンドとなる組織論を知っていると「なぜ?」がより明確になり、確信を持ってアジャイル開発を推進することができます。
まとめ:組織論とアジャイル開発
さて、長くなってしまったのでここらで内容をまとめようと思います。
とはいえ、言いたいことはシンプルで「アジャイル開発をすすめる上で組織論の知識は有用なので学ぶと良いかも」です。
この記事の冒頭で1例として紹介した組織文化についても、組織文化とは何かやそれを作る理由、どのように生まれるかという背景を知っていると、アジャイルソフトウェア開発宣言 / アジャイル宣言の背後にある原則を読み解く上でより深い理解をすることができます。
組織論だけではアジャイル開発の背景をすべて完全に理解することはできませんが、より多くの内容について背景を深く理解することができます。
ここまでの内容を踏まえると冒頭で例として取り上げた「ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。」というアジャイル宣言の背後にある原則の一節もけっこう深く理解できそうな気がしてきませんか。
組織論の参考書片手にアジャイルソフトウェア開発宣言 / アジャイル宣言の背後にある原則を読み解くのも楽しいのです。さらに、アジャイルソフトウェア開発手法の1つであるスクラムについてもより深く理解することができます。
最後に
こうした学びも当然重要なのですが、やはり実際に試してそこから学びを得ながらより現実に即した内容にアップデートしていくことも重要だと思います。
アジャイル開発を推進していくために、組織論の知識を活用していきましょう!
おすすめ書籍
自分が組織論を勉強するときに参考にした組織論に関する書籍を紹介します。
この記事を書くにあたって多くの内容について、この本を参考にさせていただきました。基礎的な内容が網羅されており、入門書としてはかなりガチめな内容となっています。
こちらの書籍はリーダーシップに関する記述が厚い本です。
また、上記の組織論の本と比べる現実の問題に即して記述されている内容が多いので、より実践的だと思います。
組織の様々なベストプラクティスが記述されている本です。パラパラ読むだけで色々なパターンが頭に入ってくるので比較的読みやすい内容となっています。