生産性が高いってどういうこと?
生産性が高いとできること
生産性が高いということは、少ないコストで大きな結果を残せるということなので、通常はメリットですが、それ以外にも良い面があります。
個人個人の生産性が向上して少人数による開発ができるようになれば、認識のずれを少なくしたり、作業分担がやりやすくなったりして、相乗的に生産性を上げることができます。また、短い時間でプロトタイプを作成できれば、アイデアレベルのものを実際に動かしながら試すことができます。
高い生産性はノウハウとしても蓄積できます。一度最適な手法を見つけることができれば、同様のケースにあてはめてほかの場合にも適用することができます。そういう意味でも何かしらのソリューションを採用して成功した場合には、やはりどういう要素が生産性に寄与したのかを考慮する必要があります。
生産性の落とし穴
ここまで述べてきた内容をみると、生産性が高いことは良いことずくめのようにみえます。確かに生産性が高いことには良いことがたくさんありますが、実は落とし穴がいくつかあります。ここでは陥りがちな4点を紹介しましょう。
1つ目が、目的に合わないものを採用してしまうことです。前述のとおり、生産性にはさまざまな視点があります。短い時間で動くものが欲しいのか、納期までに品質の高いものを開発したいのか、それぞれ置かれている場面によって判断が必要です。
2つ目が、トップダウンで決定してしまうことです。この言語を使うと良い、このフレームワークを使うと良い、というような情報はさまざまなところでみかけます。現場のことを把握していない人間がこれらの情報だけを切り取ってみて、トップダウンで採用すると思うように生産性が上がらないことがあります。重要な方針になるので、もちろん開発現場だけでは決められないケースもありますが、十分に開発者のスキルや開発スタイルと適合するものを探すことが必要です。
3つ目が、導入コストを考えていないことです。導入するだけですぐに効果が現れるものは少ないでしょう。開発者が使い方を覚えたり、メンバーに周知したりと、最初はそれなりに時間がかかるものです。すぐに効果がでないからと言って、別のものへ替えてばかりいては、結果的に生産性を下げてしまうことになりかねません。
4つ目が、導入後の現状確認をしないことです。何かしら生産性を向上させるために行ったことがあれば、定期的に確認することが必要です。「この開発言語を選んだから生産性が高いはずだ」というような思い込みをして、導入前のとの比較や確認を行わないのは危険です。
生産性を向上させるつもりが逆効果にならないように、慎重に状況を見極めることが大切です。