集合ベース開発とは何か?リーンソフトウェア開発の手法を解説

集合ベース開発の概要

集合ベース開発は、「リーンソフトウェア開発」という生産手法で扱われる用語で、単一の候補や選択肢を伝えるのではなく、複数の選択肢と制約を示すことで円滑なコミュニケーションをとろうとする方法です[1] … Continue reading
主に開発環境の学習効果に着目した用語となります。

「リーンソフトウェア開発」とは

リーンソフトウェア開発は、1980年代のトヨタやホンダの生産手法から派生したものです。
「短期間で高品質な製品を生産する」という考え方をソフトウェア開発に取り入れ、確立されました。

「リーン(Lean)」とは英語で「均整の取れた」「贅肉のない」という意味があります。
「リーンソフトウェア開発」のメリハリのついた生産手法を象徴しています。

このリーンソフトウェア開発については、下記の記事もご参照ください。

「集合ベース開発」

集合ベースと点ベース

集合ベース開発とは、リーンソフトウェア開発における考え方の1つです。
リーンソフトウェア開発は7つの原則を掲げており、そのうちの1つに「学習効果を高める」というものがあります。
この「学習効果を高める」という表現は、「学習しながら作る」「知識を作り出す」と表現されることもあります。
その原則で注目されるのが「集合ベース開発」です。

「集合ベース開発」という言葉の「集合ベース」とは、開発に携わる人々を、個人ではなく組織・チームとして着目することを意味しています。
「集合ベース」とは反対に、個人をベースに考えることを「点ベース」と表現されます。

『リーンソフトウエア開発~アジャイル開発を実践する22の方法~』では、集合ベースと点ベースのコミュニケーション方法の違いを以下のように表現しています[2] … Continue reading

チーム・メンバーとミーティングの時間を決める際、「10時にミーティングをしたいが大丈夫か?」「その時間は別の予定が入っているので、2時ではどうか?」というやりとりをして時間を決めるのは点ベースの手法です。
これに対して、「ミーティングをしたいが都合の悪い時間を教えてほしい」とメンバーに呼びかけ、得られた情報から都合のよい時間を選ぶのが集合ベースのやり方です。

ソフトウェア開発に集合ベースを取り入れる

リーンソフトウェア開発では、無駄の排除を重視しています。
そのためには個人を主体とした「点ベース」ではなく、組織・チームを主体とした「集合ベース」で考えるほうが、一度の情報量がより多くなり、無駄なコミュニケーションも削減できるという考え方です。

この「学習効果を高める」という目的は、開発の不確実性を抑えるために設けられています。
いかにスペシャリストが集合していても、開発には必ず不確実な要素が発生します。多くの場合それはプロジェクト特有の要素であり、開発メンバーはいち早く不確実要素を学習・処理しなければなりません。
不確実な要素とは、たとえば顧客からのフィードバックであったり、開発のノウハウであったり、プロジェクト特有の制約であったりします。

このとき集合ベースで取り組むことで、いち早くメンバー全体に情報が伝わり、チームとして不確実要素の対処に取り掛かることができます。
また、「チームメンバーの○○が対応しているので、自分は自分の仕事に注力すべきである」といった判断も下しやすくなります。

このように集合ベースで取り組み、不確実要素にチームで応じることで、より無駄なく開発を進行することが可能となります。

1メアリー・ポッペンディーク(著)、トム・ポッペンディーク(著)、平鍋健児(訳),高嶋優子(訳)、佐野建樹(訳)『リーンソフトウエア開発~アジャイル開発を実践する22の方法~』日経BP、2004年、72頁。
2メアリー・ポッペンディーク(著)、トム・ポッペンディーク(著)、平鍋健児(訳),高嶋優子(訳)、佐野建樹(訳)『リーンソフトウエア開発~アジャイル開発を実践する22の方法~』日経BP、2004年、68頁。