IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

グーグルのクラウドを支えるテクノロジー

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第61回 ソフトウェア開発者の生産性に影響する要因の分析(パート2) (中井悦司) 2019年6月

はじめに

 前回に引き続き、2019年に公開された論文「What Predicts Software Developers' Productivity?」を紹介します。この論文では、Google、ABB、National Instrumentsの3つの企業のソフトウェア開発者を対象としたアンケート調査を元にして、ソフトウェア開発者の生産性に影響する環境要因の分析を行っています。今回は、論文に示された実際の調査結果とその考察について説明を行います。

アンケート調査の結果

 前回説明したように、このアンケート調査では、生産性についての自己評価に加えて、48個の質問について、5段階での回答を得ています。論文の中では、それぞれの質問項目について、生産性との関連性を線形モデルで評価した結果が示されています。図1は、その結果の一部になります。

fig01

図1 アンケート調査の評価結果(論文より抜粋)

 一番左は質問文そのもので、質問の内容はいくつかのカテゴリーに分類されています。その横には、生産性の自己評価との関連性が調査対象の3社ごとに個別に示されています。「estimate」に示された値が大きいほど、関連性が高いことを表します。一番右の列は3社を総合した場合の結果で、この表全体は、この総合結果に基づいてソートされています。つまり、一番上にある「I am enthusiastic about my job(私は自分の仕事に情熱を持っている)」は、生産性の自己評価にあたえる影響が最も大きい項目ということになります。その下にもさまざまな質問が並んでいますが、カテゴリー別に見た場合、特に影響が大きいのは、次の3つのカテゴリーの質問という結果になりました。

・Job enthusiasm(仕事に対する情熱)
・Peer support for new ideas(新しいアイデアに対するまわりの支援)
・Useful feedback about job performance(仕事ぶりに対する有益なフィードバック)

 ここからまずわかるのは、技術要素と直接関係しない項目が上位に並んでいるということです。質問項目の中には、「開発環境が頻繁に変化するかどうか」「開発対象のソフトウェアの複雑さ」といった項目もありましたが、これらは、上位の結果には含まれていません。そして、より重要なポイントは、上記の3項目が具体的にどう実現されるかは、企業ごとに異なるという点です。したがって、ソフトウェア開発者の生産性向上に関する取り組みを行う際は、「自社のソフトウェア開発者は、何に情熱を感じるのか?」「自社のソフトウェア開発者はどのようなアイデアを持っており、それを支援するにはどのような取り組みが有効か」「ソフトウェア開発者に対するフィードバックはどのように行われており、ソフトウェア開発者が有益である、もしくは、有益ではないと感じるのはどのような内容か」といった点を考えるとよいだろうとの指摘があります。

ソフトウェア開発者に固有の要素

 このアンケート調査を行なった研究チームでは、ソフトウェア開発者以外に、Google社内で「アナリスト」の肩書を持つ人々に対しても同じ調査を行いました。そして、ソフトウェア開発者とアナリストで結果が異なる部分を調べたところ、ソフトウェア開発者に固有の要素(ソフトウェア開発者に対する結果では上位に入っているけれど、アナリストに対する結果では上位に入らなかったカテゴリー)として、次の2つが発見されました。

・Doing a variety of tasks as part of their work(業務としてさまざまな種類の作業に取り組んでいる)
・Working effectively away from their desks(自席以外の場所で効率的に仕事をしている)

 どちらも興味深い結果ですが、論文の中では、次のような考察が行われています。まず、作業の種類の多さについては、ソフトウェア開発者の場合は、開発用のツール環境が標準化されており、同じツールでさまざまな作業をこなすことができるからではないか、という指摘があります。逆にいうと、アナリストの場合は、作業の種類ごとにツールや作業環境を取り替える必要があり、複数作業に取り組む際の「頭の切り替え」が大変なのではないか、という仮説になります。そして、自席以外の場所での仕事については、一人で作業に集中する必要性の高さが指摘されています。ソフトウェア開発では、アナリストの仕事に比べて、集中を妨げられることの悪影響がより大きいことが要因ではないかということです。

次回予告

 今回は、2019年に公開された論文「What Predicts Software Developers' Productivity?」から、ソフトウェア開発者の生産性に関するアンケート調査の結果を紹介しました。「Job enthusiasm(仕事に対する情熱)」が生産性向上の最重要項目というのは、意外でもありつつ、納得できる結果かもしれません。図1に一部を示した結果は、論文内に全体が掲載されていますので、そちらもぜひ確認してみてください。
 次回は、Google社内で開発者が使用する「仮想デスクトップ」の話題をお届けしたいと思います。

Disclaimer:この記事は個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には関係はありません。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes