現役ITエンジニアが考える、作業効率を上げるための方法
こんにちは!
首都圏SI部所属のIと申します。
突然ですが、みなさんは『効率』について考えたことがありますか?仕事や勉強なら、誰だって効率を上げて少ない時間とエネルギーで良い成果を出したいはずです。
では、その『効率』とは一体何によって決まるのでしょうか?私の考えでは、作業の目的が何であるのかによると思っています。同じ時間、同じ量の作業をしたとして、その作業がどれだけ目的地に近づいているかが『効率』であるはずです。
例えば、仮にみなさんが「何でもいいから情報系の資格を取りたい」と思ったとき、どの資格を取るかハッキリ決めないまま勉強を始めることはまずないと思います。おそらく「ITパスポートを取る」など目標となる資格を決めた上で、当該の資格について調べたり参考書の購入に進むのではないでしょうか。「目的を決めずに学ぶ」のと「目的を決めて学ぶ」のでは、消費する時間や手間は全く異なります。これが『効率』の差ですよね。
上記はあくまで個人の範囲の話なのですが、実際はシステム開発の現場でも『開発生産性』という形で、プロジェクトを動かすエンジニアの悩みの種となっています。
開発の現場では、上記の例のように自分で目的を決められるわけではありません。BtoC・BtoBに関わらず、目的は常にユーザーの中にあります。そして時には、ユーザー自身でさえ目的がハッキリとしてないこともままあることです。さらにはハッキリしていると思っていても、時間が経てばいつのまにか変容している場合もあります。
だからこそ、エンジニアは何度も繰り返しヒアリングを行い、要件定義を行い、目的をハッキリさせようとしています。効率が良い開発は、ユーザーにとっても必ず価値をもたらします。開発現場においては、「開発の目的」やそこに連なる課題をできる限り明確にするのはもちろんのこと。日々の作業プロセスが最大限それらに沿ったものになっているのかを常に監視し、改善を続けていくことが重要だと言えると思います。
最近は「タイパ」なんて言葉もよく聞かれます。私自身、効率的な開発を実現できるよう日々試行錯誤していきます!