強いチームを作るには時間がかかる~強いチームのつくり方(前編)。Developers Summit 2016

2016年2月22日

業務で行われるソフトウェア開発プロジェクトのほとんどすべては、何らかのチームによって行われています。そしてそのプロジェクトが成功するか失敗するかを左右する大きな要因が、技術力よりも人間系にあることはよく指摘されることです。

では、その人間系に注目して強いチームを作るにはどうすればよいのか、そのヒントを多数紹介したセッション「強いチームのつくり方」が、2月19日に行われたイベントDeveloper Summit 2016(通称デブサミ)で行われました。この記事では、そのセッションの内容を前編中編後編の3本の記事で紹介します。

いまお読みの記事は前編です。

プロジェクトの多くは技術ではなく人間系で失敗している

吉羽 龍太郎氏(Ryuzee.com)。

fig

吉羽と申します。いままで野村総合研究所とか、Amazon Web Servicesで働いておりまして、今年からフリーランスになりました。過去、僕が働いてきた環境でマネジメントや採用などをしてきて、そこで得てきた知見などをシェアしたいと思います。

これは「ピープルウェア」というトム・デマルコの本からの引用ですが、「実際のところソフトウェア開発上の問題の多くは、技術的というより社会学的なものである」と書いてあるんですね。

fig

開発プロジェクトは技術じゃないところで失敗しているところの方が多い、ということなんです。

技術の問題は、勉強したり詳しい人を連れてくればクリアできるのですが、人間系の問題がクリアできていないと結局最後まで開発プロジェクトがうまくいかないことが多い、というのが僕の経験ですね。

ですので、エンジニアは技術だけじゃなくて人間系、社会学系のところも注目しなければいけない、というのが今日の問題提起です。

チームの課題とカイゼン

1つ目のテーマは「チームの課題と改善」です。

まず、よくあるチームの課題を見ていきたいと思います。

fig

例えば「仕事が多すぎて新しい技術やプロセスを試す時間がない」。会場の皆さん、どうですか? けっこう手があがりましたね。

「必要なスキルを持った人が足りない」。どうですかね? がんがん手があがりますね。

「状況を改善しようにもアイデアが出てこない」。これは少なめですね。

「すぐに人が入れ替わるので、仕事のやり方に慣れない」。これはけっこう手があがりましたね。

「メンバーのやる気がない」。これもあがりましたね。

じゃあ、いまのチームに課題がある、と思う方、手をあげてください。だいたい80%、90%くらい手が上がりましたね。

ないと答えた人、そんなはずないですよね。

課題があると答えた人、カイゼンはしてますか? 課題を認識してもカイゼンしていないのは見て見ぬふりです。できるところからカイゼンしてください。

技術だけでなく、組織についてもカイゼンしていかなければならないと僕は考えています。

カイゼンの進め方

カイゼンの進め方ですが、一般的にはバリューストリーム、流れに注目します。例えば、新しい機能を作るには、要望が来て、それを実装して、使ってもらう、といったこの流れの全体ですね。

全体を見ないと何が起こるかというと、自分の目が見えるところだけの部分最適化になって、全体としてはカイゼンされていなかった、と言うことが起きます。

それから「知恵を使う」。例えばDevOpsの文脈では自動化とかツールの話に行きがちですが、もっと人間系のことを考えるとか。

「今が最高だと思わないで変わり続ける」。カイゼンに終わりなしです。

「目標を立てる」。目標を数字で把握して計れるようにするのは結構大事です。計れない、見えないものはカイゼンできないんですね。

「チームで取り組む」。自分だけでカイゼンをやろうとしても心が折れちゃうので、チームみんなで、組織みんなで取り組む。トップダウンで、というのはあまりうまく行かないんです。

fig

リーンスタートアップなどが注目されて、良い製品を作るために、ビルド(開発)、メジャー(計測)、ラーン(学習)といったフィードバックサイクルを早く回すことが大事と言われるようになりましたが、これは組織運営も同じです。

fig

組織運営も、カイゼンをやってみて、効果を測定して、そこから学んで次のアクションをとる。ビルド、メジャー、ラーンを早く回すことが大事だと考えます。

だから一年に一回大規模な組織改正をするのではなくて、もっと小さいサイクルで試して、ダメならやめる、うまくいったらどんどん広げる、みたいなやり方を進めていくのがいいのかなと思います。

なぜチームが必要か?

チームが必要な理由は、一人ではできない規模の仕事をやるためです。ただ、人が集まっただけではまだチームではありません。

ゴールを共有して、いろんな人が持っているスキルを組み合わせて全体の能力を補完し、レバレッジし、それを仕事に活かしていくのがチームです。

強いチームの特長は「続けられる」というのがキーワードだと僕は思っています。何を続けられるのか。

fig

「ビジネス上の結果を出す」。短期的に結果を出すのはデスマーチでできるかもしれませんが、続けるのは大変です。

「変化に対応する」。ワンショットの変化ならなんとかなるかもしれませんが、どんどん変わるビジネス環境に対応し続ける。

そして「成長を維持する」ということを続けられるのが、強いチームだと思います。

強いチームの形成

強いチームの形成とか構造について話していきたいのですが、みなさんの仕事は単純ですか? 単純ではないですか?

ソフトウェアに関する仕事はビジネスにひも付いているので、基本的に複雑な仕事です。 そういう仕事であるときにチームにどんなものが必要かを考えると、多様性は絶対に必要です。

fig

多様性とは性別とか国籍とか年齢、育った環境や好み、考え方などがばらばらとしている方がいい。ばらばらで同じゴールを向けないのは困りますが、バックグラウンドとしてばらばらなことが必要。

複雑な問題やいままでなかった問題を解くために、多様性をもっていろんな視点で問題の解決に迫る必要があります。そして多様性があればいろんな意見が出てくるので、フィードバックによる軌道修正をしていこうと。

fig

多様性がないと、従来のやり方にフィードバックしにくくなって、いままでのやり方でいいんじゃないか、とか。文句が外に向けられて「うちのやり方が気に入らなくてさ」と飲みながら終わっちゃうとか。

上手くいってないことを他人やツールのせいにする。で、考えても無駄だから目の前のことをやればいいよとなって、モチベーションが下がって、会社をやめる。

多様性がないと、こういう傾向が出やすい。

チームには形成ステージがある

チームには形成のステージがあります。これを説明しているのが「タックマンモデル」です。

fig

最初が「形成期」。人が集められて、まだコミュニケーションがあまりない。

会話をしたり意見の反発があったりと、そのあとの「混乱期」がある。お互いに意見を言うようになるんだけど、自分と違う意見を言われるとイヤじゃないですか。このあたりは仕事を進めなくちゃと思って、各自が自分の思うところだけをやったりします。

そのあと「統一期」が来て、一緒に活動して人の意見を受け入れて、目的や期待値がだいたい一致して動き始めます。このあたりで機能するチームになる。

「機能期」になるとよく機能するチームになる。一体感があって自律性が高いということで、最大の成果が出せる。

このモデルは当初4つでしたが、最後の「解散期」があとからつけられたんですね。SIerとかだとプロジェクトが目的を果たして解散することがあるので。

見ていただくと分かるとおり、安定して機能するチームを作るには時間がかかるんですね。僕の経験だと半年とか、短くて3カ月。

いいチームになるには時間がかかると。

≫中編に続きます。次のテーマは「リーダーシップと権限委譲の仕方」です。

Developers Summit 2016

あわせて読みたい

DevOps 働き方 殿堂入り




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本