「生産性を上げろ」とは言うけれど、どうやって上げればいいの?
そもそも生産性って何?
IT業界で働くみなさん、日夜残業続きで奮闘されているのではないでしょうか。
サボっているわけでもなく、一生懸命がんばっているのに仕事は減らずむしろ増える一方…。
なぜそんな状態になってしまうのか、生産性向上に取り組むための施策とポイントについてご紹介します。
生産性とは「会社の時給」である
生産性が高いことはなんとなく良いことだと分かっていても、それに対する回答はぼんやりしている方が多いと思います。
生産性とはズバリ「効率よくお金を稼ぐための指標」であり、極論を言えば「会社の時給」です。
つまり、生産性は以下の式で導き出すことができます。
生産性の求め方
生産性(会社の時給)= 会社の総売上金額(円) / 全社員の労働時間(時間)
「生産性を上げる」とは、会社の時給を上げること。つまり、短い時間で多くの売上を上げることに他なりません。
売上を生まない仕事でも考え方は同じ
例えば製品の運用保守やバージョンアップ開発、経理や人事のような間接業務だと上の考え方はピンとこないかもしれません。
しかし考え方は全く同じです。
これまでと同じ仕事量をより短時間で行うことができれば、全社員の労働時間――式の分母が減ることで生産性は向上します。
他社と比べることに意味はない
生産性(会社の時給)という指標ができると、他の会社はどうなのか、平均値はどのくらいかといったことが気になってくると思います。
しかし生産性を他社と比べることに意味はありません。
システム開発は請負や派遣、自社製品の開発など働き方が多岐に渡り、さらに地域によっても相場が変わってくるためです。
あくまでライバルは過去の自社。昔に比べて生産性(会社の時給)が上がっているのか下がっているのかを確認していきましょう。
生産性をあげるには?
生産性は以下の式で求められます。
生産性の求め方
生産性(会社の時給)= 会社の総売上金額(円) / 全社員の労働時間(時間)
つまり生産性を上げる方法は大きく2つです。
- 労働時間を増やさずに売上を上げる
- 売上を下げずに労働時間を減らす
最終的には、売上を上げつつ労働時間を減らすというのが最終目標になるでしょう。
労働時間を増やさずに売上を上げる
売上を上げるためには、新たにシステム開発の仕事を取ってきたり、商品やサービスを開発しなくてはいけません。
普通に考えると社員の労働時間に売上が比例してしまうため、「労働時間を増やさずに売上を上げる」というのは難しいと思います。
ただし、難しいだけで不可能なわけではありません。
ポイントは外注やフリーランスといった外部人材をうまく活用することです。
社員が上流工程をメインに担当し、プログラミングやテスト等を外部に依頼するなど、労働時間を一部社外に転嫁してしまうのです。
ランサーズ や クラウドワークス のようなクラウドソーシングサイトを利用するのもありだと思います。
難しいのは外部業者の技術レベルがピンキリであることです。すでに信頼のおける業者と付き合いがあれば良いですが、そうでない場合は業者探しが最も高いハードルになると思います。
売上を下げずに労働時間を減らす
「売上を下げずに労働時間を減らす」ということは、業務を効率化するということです。
業務効率化の方法はいくつかありますので、次の項で詳しく見ていきたいと思います。
業務効率化で生産性UP!
ITエンジニアの業務効率化の方法について、ご紹介したいと思います。
開発ツールの導入
システム開発の現場では、様々なツールによって開発効率向上や品質向上を図ることができます。
ツールの導入にはそれを覚えるためのコストが必要ですが、現場で取り組みやすい効率化手法です。
代表的なツールをいくつかご紹介しますので、気になるものをチェックしてみてください。
名前 | 説明 |
---|---|
統合開発環境(IDE) | プログラミング、コンパイル、デバッグといった、ソフトウェア開発に必要な作業を1つのソフトウェアで実現できるようにしたもの。VS Code、Eclipse、XCodeなど。 |
Git | バージョン管理ツール。単体でも使えるがGitHubやGitLabと組み合わせることで、高度なソースコード管理を実現できる。 |
CI環境 | 「継続的インテグレーション」と呼ぶ。開発中の成果物をいつでもリリースできる状態に保つための環境。Jenkinsが有名。 |
Redmine | プロジェクト管理ツール。チケットによるタスク管理やバグ管理、ガントチャートによる進捗管理を行う。類似製品多数。 |
UML | 設計のための表記方法。クラス図やシーケンス図など。 |
Slack | オンラインのコミュニケーションツール。他にもZoom、Microsoft Teams、Google Meetなど、会社によって利用ツールはまちまち。 |
会議を減らす
「社内の7割の会議は無駄である」とも言われてます。
エンジニアにとって会議を減らし、設計やプログラミングの作業時間を増やすことは業務効率化に必須と言えるでしょう。
チームの定例会を上述のRedmineやSlackなどに置き換えるところから始めてみるのが良いと思います。
ドキュメントのテンプレ化
要件定義書や設計書などの仕様書関連、議事録、パワポ資料……など。
書くべき要点をおさえたテンプレートを用意しておくことで、ドキュメント作成作業を効率化することができます。
ポイントはどんなプロジェクトでも使えるような汎用的なものにしないことです。
あまり汎用的にしすぎると、作った人以外は項目の意味が理解できず、みんなが使いこなせない(=生産性が低い)ものになってしまいます。
プロジェクトに必要なものだけを入れた、必要最小限のものを用意するようにしましょう。
その方が低コストで作成でき効率アップにつながりやすいです。
業務効率化に意味がない施策
反対に、やってもあまり意味がない施策についてご紹介します。
マニュアル
マニュアルは作業を繰り返し行う必要がある場合に効果を発揮します。
量産や毎月のルーチンが決まっているような仕事には効果的ですが、システム開発の仕事は「一品もの」で同じ仕事というものがありません。
そのためマニュアル化によって開発を無理やり型にはめるとむしろ生産性が悪化してしまいます。
システム開発においては、作るものに合わせて最適な開発手法を模索していくことの方がはるかに重要です。
ペアプログラミング
ペアプログラミングとは、プログラマーが2人1組で1つのプログラムを作成していく手法です。
品質の高いコードが書ける、知識を補いながら作業できるといったメリットがあるとされていますが、二人分のコストを使うからといって半分の時間でプログラムができるわけではない(生産性が2倍になるわけではない)点に注意が必要です。
コード品質が上がることでデバッグ工数が減る可能性がありますが、それを加味しても二人分のコストがペイできるものなのか慎重に見極めなくてはいけません。
誤解しないでいただきたいのは、ペアプロはチームワーク向上や新人教育のような場面では非常に有用です。
生産性向上の目的においてはかなり難しい施策であることを覚えておきましょう。
逆説的考え方:効率アップのために残業をやめる
「生産性が上がらないから残業が少なくならない」と考えている方は多いと思います。
しかし逆に考えて「生産性を上げるために残業をやめる」ということが実は効果的だったりします。
残業"させない"ことによる効果
- 「残業してはいけない」というプレッシャーにより、社員がどうすれば良いか本気で考える
→ この記事で紹介したようなことに本気で取り組み始める - 体と脳が休まりリフレッシュする
→ 結果的に仕事が早くなり効率が上がる - 脳がリフレッシュすることで、新しいアイデアが思いつきやすくなる
→ 売上アップや効率アップのすごいアイデアで出るかも!?
詳しくは以下の記事で詳しく紹介してますので、よろしければご覧ください。
モチベーションが大事! 成果を定期的に報告しよう
生産性向上に取り組み始めたら、ぜひ定期的に以下の結果を社員に公開してください。
生産性の求め方
生産性(会社の時給)= 会社の総売上金額(円) / 全社員の労働時間(時間)
自分やチームの取り組みがちゃんと会社に寄与できていることが分かれば、さらに前向きに取り組んでくれるようになるでしょう。
また定期的に悩みを聞く、集中できる環境を用意するなど、社員のモチベーションを維持する環境を整えることも大事です。
システム開発は知的労働ですから、メンバーのモチベーションが生産性に大きな影響を与えます。
ぜひ、できることから一歩ずつ取り組んでみてください。