monomadoのブログ

本を買う話とか、読んだ本の話とか。あと時々、旅行の話を。

プロダクティブ・プログラマ プログラマのための生産性向上術

プロダクティブ・プログラマ -プログラマのための生産性向上術 (THEORY/IN/PRACTICE)

プロダクティブ・プログラマ -プログラマのための生産性向上術 (THEORY/IN/PRACTICE)

生産性向上の目的というのは、ようするに面倒くさいことはやりたくないという発想だと思っている。だから、例えばツールを作ったりする。

仕事で発生する作業について、ツールを作ったりできるというのは、こういうIT関連の仕事についているからの発想なんだろうか。普通なら、ツール、マクロとかバリバリつくって仕事を楽にするとかやらないのだろうか?よくわからないけど、自分で作れるというのは基本的に楽しいと思う。

その中で、ツール化するか否かについて書かれていた。ツール化することは、早く目的を達成するためであるが、一回しかやらない作業のためにツールを作るのは間違っている。しかし、この作業が1000回続くならツール化すべきである。

問題は、作業が発生した時点で、この作業はこれから何度も発生するかわからないときである。

検討のポイントが書いてあったので転機(上掲書 p83(4.13 自動化すべきか否かの検討))

・自動化したほうが、長い目で時間の節約になるか
・途中でミスをして、時間を浪費する恐れが大きいか(手順が複雑だとミスも多くなる
・その作業をすることで集中力が途切れることは大きいか(単純作業はほとんどどれも、
 この条件に当てはまります。単純作業を終えてから、元の仕事に戻っても集中力は なかなか戻りません)。
・作業に関してミスをした場合、どの程度の危険があるか。

時間の節約、仕事を円滑にできるか、そしてリスクを避けるためがポイントのようです。リスクを避けるというのは、あまり考えてこなかったポイントかもしれない。

また、大掛かりなツール化はプロジェクトマネージャにとっては嫌われるという話も書いてありました。ツール作成で課題にはまってしまったりして、進捗管理ができなることがあるためで、それなら手作業でどれくらいかかるか見えているほうが好まれるというこの感覚も、必要とのこと。
(とはいっても面倒くさいことはやりたかない、が作業する側の感覚でもある)

■この本を読んで先にしたいこと

ツールを作るための言語の習熟。

 ・ドキュメント作成などは、やはりエクセル、アクセス関連とVBAとか
 ・調査のためのログ解析ツールとかは、perlとかなのか?(Rubyも?)
  わかっていない。