この記事は、適応型ソフトウェア開発 アドベントカレンダー 2024 の 16日目です。
適応型ソフトウェア開発を進める体制について
適応型ソフトウェア開発というフレームワークを進行する「チーム」について、この記事では述べたい。
一言で言ってしまうと、アジャイル開発のセオリーの通り、職能横断型のチームで臨むことが有効である。
ただここで大切なのは、「チーム」というものの捉え方が少し特殊な事だ。
「チーム」と呼ぶな
適応型ソフトウェア開発の文脈では、職能横断型の集団のことを「チーム」と呼称しないこと。
それが参考にした本の冒頭で述べられていた。
これがどういうことなのかを私なりに解釈してみたのでそれをまとめる。
職能横断型の集団
クロスファンクショナルな集団。つまり、職能が重複しない別領域を担当できる専門性を持っている人材が集まる集団。
集団の定義から分解していくが、集団とは、複数の個体が集まって構成されるものである。
つまり、集団はただ複数の個体が集まっているだけに過ぎない。
適応型ソフトウェア開発においては、この「集団」には力がないとされる。
ではどのようなものが価値のある集団となりえるのか?
それは、複雑適応系に昇華されることだ。
適応型ソフトウェア開発では、チームや職能横断型組織のことを「複雑適応系」と呼称する。
複雑適応系
複雑適応系とは、とある集団が1つの意思を持ち、周りの環境に順応しながら常に営みを継続できる仕組みのことを指す。
職能横断型の集団が1つの意思を持ち、周りの環境に順応しながら常に前進・運営できること。
すなわち、集団から1つ生命体となることが求められる。
生命体
運命共同体というのも少し違うのだ。
生命体であることが重要なのだ。
生命体は、内臓の一部が機能不全を起こしたとき、生命体として死に至る。
つまり、集団も同じであり、一部が機能不全を起こしたとき、死に至る。
したがって、複雑適応系に属する個体は、1つの生きる意志に向かって、それぞれの役割を全うし続けること。それが常に求められる。
そうしなければ、複雑適応系としての死を表すためだ。
複雑適応系の強さ
複雑適応系の強さとしては、以下の3点があげられる。
同一の目的を意識を共有している
適応型ソフトウェア開発では、大きなカオスに立ち向かうため、それぞれが違う立場・役割から1つの目的のために何ができるのかを常に考え続けることが求められる。
そのため、複雑適応系に所属する個体は、それぞれが持ち寄れるすべてを使って、カオスの淵を発見し、解き明かすことが大切である。
お互いの機能をしっている
自分の突出した専門性を有益に行使し、生命活動を進めるために、効率の悪い動きは避けるべきである。
そのため、役割をお互いに把握し、それをパスしあう働きをすることで、生命体の運用を効率化し、死から身を守ることができる。
目的を達成するためにどんな手段を使ってもすべて適応する
目的達成の為なら手段を選ぶことがない。
どんな場面だとしても、自分が目的を達成するのだという強い志を持ち、あらゆる方向から目的達成のためのアイデアを出し続けることができる。
この3つの力を有するチームを形成することが、圧倒的な適応力を発揮することが可能な複雑適応系として位置することができる。
複雑適応系の形成
この複雑適応系の形成こそが、適応型ソフトウェア開発において圧倒的に難しいポイントであり、最も時間をかけて取り組むべき有益なポイントでもある。