見出し画像

データ分析って役に立つの?(ソフトウェア分析)

データ分析は役に立つのでしょうか。溢れかえるデータの海から、何か見つかるのでしょうか。確かに統計を信じている人が多いというメリットがあります。でもソフトウェア開発にも同じことが言えるでしょうか。ソフトウェア開発は人によって大きく違います。桁違いに違います。これで統計的にデータ分析できるのでしょうか。実際、少人数の開発では、分析結果にばらつきが大きくなります。一方、多人数になると平準化され、統計的に分析し、その結果を活用できる可能性はあります。引用元:IPA ソフトウェア開発分析データ集 F

データ分析とは

データ分析とは、データの大海から、統計的手法を使って、データの意味を解釈するものです。「統計は科学の文法である」と言われるように、科学の根底にあるもので、色々な分野に適用できます。もちろん、このソフトウェア開発の分野にも適用できます。

小学5年生で習う平均値もデータ分析です。このように私たちは小さいときからデータ分析を知らず知らずにやっています。もはやデータ分析そのものは当たり前です。でも平均貯蓄額の分析はしない方がいいです。

しかしデータ分析が有効か、有用かは別です。平均値を信じてはいけない場面もあります。統計で嘘をつく方法はいくらでもあります。統計分析に意味がないこともあります。このことに気を付けながら、データ分析を統計的実施し、その結果を活用しましょう。

しかしながら、分析するためには、統計によるデータ分析は知識もスキルも必要で、なによりコストが掛かります。
本当に面倒です。これを凌げるほどの価値がデータ分析にはあるのでしょうか。

ソフトウェア開発のデータ分析

ではソフトウェア開発でのデータ分析は役に立つのでしょうか。他と同様にある程度、役に立つのでしょうか。面倒なコストを掛けてデータ分析する意味はあるのでしょうか。

ソフトウェア開発は基本的に人間が行います。そしてソフトウェア開発における人間の能力は大きく違います。できる人とできない人の差は極端に違います。桁違いです。1桁でなく2桁かもしれません。

例えば、プログラミング能力は大きく違い、生産性にも大きく影響を与えます。もっと大きな差はデバッギング能力です。バグを見つける能力はそれこそ、雲泥の差です。2桁は違います。また要求分析も設計も大きく違います。できあがった成果物の質が違います。この質の結果が後々、大きく影響を与えます。

このように人間の能力によって大きく違うものを統計的手法で行ったデータ分析は有効なのでしょうか。そしてその結果は使えるのでしょうか。

規模とソフトウェア分析

ソフトウェア開発の能力は人によって大きく違うので、開発チームの参加人数が少ない小規模のプロジェクトでは、チームメンバによって、結果が大きく異なります。実際、小規模プロジェクトでは生産性や信頼性のデータ分析結果はばらばらです。分散が大きくなっています。

一方、参加人数が多い大規模プロジェクトでは、分析結果は落ち着いてきます。ばらばらでなく、ある数字が見えてきます。分散が小さくなります。つまり統計的に使えるようになります。

これは開発チームに参加するメンバが多くなると、平準化する傾向があるからです。優れた人ばかり集めることもできず、逆に劣っている人ばかり集めることもしません。いわゆる、「2:6:2の法則」でチームメンバが構成されます。つまり2割の優秀な人、、6割の平均的な人、2割の劣った人の構成になります。チーム間も平準化されます。

これにより、大規模プロジェクトは統計によるデータ分析は有効です。このシリーズ記事はソフトウェア分析なので、ここで否定する訳にもいきません!(きっぱり)。

データ分析の活用

ソフトウェア開発のデータ分析は有効だとしても、その結果が使えるかどうかの有用性の問題は残ります。有用でないデータ分析は害悪です。かけるコストがもったいないです。

経験と勘で行っていたプロジェクト運用を、統計によるデータ分析で科学的に(それぽく)実施できるかどうです。前節の規模による適用条件、これ以外にも色々な適用条件がありますので、これに注意しながら使えば、データ分析を活用できます、きっと。そうあってほしいです。

ということで今日の結論。「データ分析は面倒だが役に立つ」以上です。

引用:ソフトウェア開発分析データ集2022 | 社会・産業のデジタル変革 | IPA 独立行政法人 情報処理推進機構

よろしければサポートをお願いします!